diff --git a/README.md b/README.md
index 104e0f51..287fa8d0 100644
--- a/README.md
+++ b/README.md
@@ -151,6 +151,14 @@ If you want to improve/fix the known issues, you can check [TODO](./TODO.md).
The current project is recommended to use version Qt6.5.0 and above.
+## Donate
+
+If you like this project, you can donate to the author to support the development of the project.
+
+| ![paypal](./docs/img/donate/paypal.jpg) | ![alipay](./docs/img/donate/alipay.jpg) | ![wechat](./docs/img/donate/wechat.jpg) |
+| ------ | ------ | ------ |
+| paypal | alipay | wechat |
+
## Special
The project is currently developed in my spare time. In order to improve the development efficiency, this project uses GitHub Copilot to assist in code writing. The readability of some code may not be very good, and the author will try to optimize it in subsequent versions.
diff --git a/README_ja_JP.md b/README_ja_JP.md
index 5ebb3ee1..5e8f34dc 100644
--- a/README_ja_JP.md
+++ b/README_ja_JP.md
@@ -151,6 +151,14 @@ quardCRT はバージョン V0.4.0 からプラグインをサポートします
現在のプロジェクトは、バージョン Qt6.5.0 以上を使用することをお勧めします。
+## 寄付
+
+このプロジェクトが気に入ったら、作者に寄付してプロジェクトの開発をサポートできます。
+
+| ![paypal](./docs/img/donate/paypal.jpg) | ![alipay](./docs/img/donate/alipay.jpg) | ![wechat](./docs/img/donate/wechat.jpg) |
+| ------ | ------ | ------ |
+| paypal | alipay | wechat |
+
## 特別な
このプロジェクトは現在、余暇時間で開発されています。開発効率を向上させるために、このプロジェクトでは GitHub Copilot を使用してコードを記述することが多く、一部のコードの可読性があまり良くないかもしれませんが、作者は後続のバージョンで最適化するように努めます。
diff --git a/README_zh_CN.md b/README_zh_CN.md
index 985d03a5..47ab15d5 100644
--- a/README_zh_CN.md
+++ b/README_zh_CN.md
@@ -151,6 +151,14 @@ quardCRT将从V0.4.0版本开始支持插件,插件将以Qt Plug-in插件的
目前项目建议使用版本Qt6.5.0及更高版本。
+## 捐赠
+
+如果您觉得本项目对您有帮助,您可以通过以下方式捐赠:
+
+| ![paypal](./docs/img/donate/paypal.jpg) | ![alipay](./docs/img/donate/alipay.jpg) | ![wechat](./docs/img/donate/wechat.jpg) |
+| ------ | ------ | ------ |
+| paypal | alipay | wechat |
+
## 特别
项目目前为个人业余时间开发,为提高开发效率,本项目较为大量的使用了GitHub Copilot协助代码编写,部分代码的人类可读性可能不是很好,作者也会尽量在后续版本中进行优化。
diff --git a/README_zh_HK.md b/README_zh_HK.md
index 898a1890..6ddf715a 100644
--- a/README_zh_HK.md
+++ b/README_zh_HK.md
@@ -151,6 +151,14 @@ quardCRT將從V0.4.0版本開始支持Plugin,以Qt Plug-in的形式提供,
目前項目建議使用版本Qt6.5.0及更高版本。
+## 捐赠
+
+如果您覺得本項目對您有幫助,您可以通過以下方式捐赠:
+
+| ![paypal](./docs/img/donate/paypal.jpg) | ![alipay](./docs/img/donate/alipay.jpg) | ![wechat](./docs/img/donate/wechat.jpg) |
+| ------ | ------ | ------ |
+| paypal | alipay | wechat |
+
## 特別
項目目前為個人業餘時間開發,為提高開發效率,本項目較為大量的使用了GitHub Copilot協助程式碼編寫,部分程式碼的人類可讀性可能不是很好,作者也會盡量在後續版本中進行最佳化。
diff --git a/docs/img/donate/alipay.jpg b/docs/img/donate/alipay.jpg
new file mode 100644
index 00000000..7b103fae
Binary files /dev/null and b/docs/img/donate/alipay.jpg differ
diff --git a/docs/img/donate/paypal.jpg b/docs/img/donate/paypal.jpg
new file mode 100644
index 00000000..1ba13e7f
Binary files /dev/null and b/docs/img/donate/paypal.jpg differ
diff --git a/docs/img/donate/wechat.jpg b/docs/img/donate/wechat.jpg
new file mode 100644
index 00000000..44f88775
Binary files /dev/null and b/docs/img/donate/wechat.jpg differ
diff --git a/docs/index.rst b/docs/index.rst
index 0b716f10..20402646 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -114,6 +114,26 @@ Install from store
:target: https://apps.microsoft.com/detail/quardCRT/9p6102k9qb3t?mode=direct
:alt: Microsoft Store
+----------------------------------
+Donate
+----------------------------------
+
+If you like this project, you can donate to the author to support the development of the project.
+
+.. list-table::
+ :widths: 33 33 33
+ :header-rows: 0
+
+ * - .. image:: ./img/donate/paypal.jpg
+ :align: center
+ - .. image:: ./img/donate/alipay.jpg
+ :align: center
+ - .. image:: ./img/donate/wechat.jpg
+ :align: center
+ * - paypal
+ - alipay
+ - wechat
+
.. toctree::
:maxdepth: 3
:caption: Contents:
diff --git a/src/globaloptions/globaloptionsadvancedwidget.ui b/src/globaloptions/globaloptionsadvancedwidget.ui
index effc8eb7..82cd0468 100644
--- a/src/globaloptions/globaloptionsadvancedwidget.ui
+++ b/src/globaloptions/globaloptionsadvancedwidget.ui
@@ -6,10 +6,16 @@
0
0
- 449
- 459
+ 440
+ 500
+
+
+ 0
+ 0
+
+
4
@@ -270,12 +276,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 275
+ 0
diff --git a/src/globaloptions/globaloptionsappearancewidget.ui b/src/globaloptions/globaloptionsappearancewidget.ui
index 096c3e15..c27ad79e 100644
--- a/src/globaloptions/globaloptionsappearancewidget.ui
+++ b/src/globaloptions/globaloptionsappearancewidget.ui
@@ -7,9 +7,15 @@
0
0
550
- 598
+ 538
+
+
+ 0
+ 0
+
+
4
@@ -711,19 +717,22 @@
70
- Qt::Orientation::Horizontal
+ Qt::Horizontal
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/globaloptions/globaloptionsgeneralwidget.ui b/src/globaloptions/globaloptionsgeneralwidget.ui
index 38f00180..9810a13f 100644
--- a/src/globaloptions/globaloptionsgeneralwidget.ui
+++ b/src/globaloptions/globaloptionsgeneralwidget.ui
@@ -6,10 +6,16 @@
0
0
- 379
- 412
+ 440
+ 500
+
+
+ 0
+ 0
+
+
4
@@ -291,12 +297,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/globaloptions/globaloptionsterminalwidget.ui b/src/globaloptions/globaloptionsterminalwidget.ui
index 8f76f898..0396a0bc 100644
--- a/src/globaloptions/globaloptionsterminalwidget.ui
+++ b/src/globaloptions/globaloptionsterminalwidget.ui
@@ -6,10 +6,16 @@
0
0
- 434
- 497
+ 440
+ 518
+
+
+ 0
+ 0
+
+
-
@@ -90,7 +96,7 @@
-
- Qt::Orientation::Horizontal
+ Qt::Horizontal
@@ -174,7 +180,7 @@
50
- Qt::Orientation::Horizontal
+ Qt::Horizontal
@@ -211,12 +217,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/globaloptions/globaloptionstransferwidget.ui b/src/globaloptions/globaloptionstransferwidget.ui
index 68c44c61..f1df4264 100644
--- a/src/globaloptions/globaloptionstransferwidget.ui
+++ b/src/globaloptions/globaloptionstransferwidget.ui
@@ -6,10 +6,16 @@
0
0
- 420
- 300
+ 440
+ 500
+
+
+ 0
+ 0
+
+
4
@@ -135,7 +141,7 @@
-
- Qt::Orientation::Horizontal
+ Qt::Horizontal
@@ -173,12 +179,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/globaloptions/globaloptionswindow.cpp b/src/globaloptions/globaloptionswindow.cpp
index 3f55e430..104d07d7 100644
--- a/src/globaloptions/globaloptionswindow.cpp
+++ b/src/globaloptions/globaloptionswindow.cpp
@@ -130,38 +130,32 @@ GlobalOptionsWindow::GlobalOptionsWindow(QWidget *parent) :
setWindowModality(Qt::ApplicationModal);
setWindowFlags(Qt::Tool);
- QSplitter *splitter = new QSplitter(Qt::Horizontal, this);
- splitter->setHandleWidth(1);
- ui->horizontalLayout->addWidget(splitter);
- treeView = new QTreeView(this);
- treeView->setHeaderHidden(true);
- model = new GlobalOptionsModel(treeView);
+ ui->splitter->setHandleWidth(1);
+ ui->treeView->setHeaderHidden(true);
+ model = new GlobalOptionsModel(ui->treeView);
model->setOnlyName(true);
model->setDistinguishType(false);
- treeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
- splitter->addWidget(treeView);
- QWidget *widget = new QWidget(this);
- splitter->addWidget(widget);
- widget->setLayout(new QVBoxLayout(widget));
- widget->layout()->setContentsMargins(0,0,0,0);
- splitter->setSizes(QList() << 1 << 100);
- splitter->setCollapsible(0,false);
- splitter->setCollapsible(1,false);
-
- globalOptionsGeneralWidget = new GlobalOptionsGeneralWidget(widget);
- widget->layout()->addWidget(globalOptionsGeneralWidget);
- globalOptionsAppearanceWidget = new GlobalOptionsAppearanceWidget(widget);
- widget->layout()->addWidget(globalOptionsAppearanceWidget);
- globalOptionsTerminalWidget = new GlobalOptionsTerminalWidget(widget);
- widget->layout()->addWidget(globalOptionsTerminalWidget);
- globalOptionsWindowWidget = new GlobalOptionsWindowWidget(widget);
- widget->layout()->addWidget(globalOptionsWindowWidget);
- globalOptionsTransferWidget = new GlobalOptionsTransferWidget(widget);
- widget->layout()->addWidget(globalOptionsTransferWidget);
- globalOptionsAdvancedWidget = new GlobalOptionsAdvancedWidget(widget);
- widget->layout()->addWidget(globalOptionsAdvancedWidget);
-
- treeView->setModel(model);
+ ui->treeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
+ emptyWidget = new QWidget(this);
+ ui->stackedWidget->addWidget(emptyWidget);
+ ui->splitter->setSizes(QList() << 1 << 100);
+ ui->splitter->setCollapsible(0,false);
+ ui->splitter->setCollapsible(1,false);
+
+ globalOptionsGeneralWidget = new GlobalOptionsGeneralWidget(this);
+ ui->stackedWidget->addWidget(globalOptionsGeneralWidget);
+ globalOptionsAppearanceWidget = new GlobalOptionsAppearanceWidget(this);
+ ui->stackedWidget->addWidget(globalOptionsAppearanceWidget);
+ globalOptionsTerminalWidget = new GlobalOptionsTerminalWidget(this);
+ ui->stackedWidget->addWidget(globalOptionsTerminalWidget);
+ globalOptionsWindowWidget = new GlobalOptionsWindowWidget(this);
+ ui->stackedWidget->addWidget(globalOptionsWindowWidget);
+ globalOptionsTransferWidget = new GlobalOptionsTransferWidget(this);
+ ui->stackedWidget->addWidget(globalOptionsTransferWidget);
+ globalOptionsAdvancedWidget = new GlobalOptionsAdvancedWidget(this);
+ ui->stackedWidget->addWidget(globalOptionsAdvancedWidget);
+
+ ui->treeView->setModel(model);
retranslateUi();
setActiveWidget(globalOptionsGeneralWidget);
@@ -177,6 +171,7 @@ GlobalOptionsWindow::GlobalOptionsWindow(QWidget *parent) :
QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);
if (fontFamilies.size() > 0) {
font.setFamily(fontFamilies[0]);
+ qDebug() << fontFamilies[0];
}
globalOptionsAppearanceWidget->ui->pushButtonSelectSeriesFont->setText("Built-in");
if(settings.contains("fontFamily")) {
@@ -192,6 +187,7 @@ GlobalOptionsWindow::GlobalOptionsWindow(QWidget *parent) :
font.setPointSize(12);
settings.setValue("fontPointSize", font.pointSize());
}
+ qDebug() << font;
globalOptionsAppearanceWidget->ui->spinBoxFontSize->setValue(font.pointSize());
globalOptionsAppearanceWidget->ui->comBoxColorSchemes->setEditable(true);
@@ -445,7 +441,7 @@ GlobalOptionsWindow::GlobalOptionsWindow(QWidget *parent) :
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &GlobalOptionsWindow::buttonBoxAccepted);
connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &GlobalOptionsWindow::buttonBoxRejected);
- connect(treeView, &QTreeView::clicked, [&](const QModelIndex &index) {
+ connect(ui->treeView, &QTreeView::clicked, [&](const QModelIndex &index) {
QString filePath = model->filePath(index);
QStringList pathList = filePath.split(model->separator());
GlobalOptionsModel::TreeNode node = rootInfo;
@@ -477,7 +473,7 @@ void GlobalOptionsWindow::retranslateUi()
GlobalOptionsModel::TreeNode advanced(tr("Advanced"),globalOptionsAdvancedWidget);
rootInfo.children << generalNode << appearance << terminal << window << transfer << advanced;
model->setTree(rootInfo);
- treeView->setRootIndex(model->setRootPath("/"));
+ ui->treeView->setRootIndex(model->setRootPath("/"));
ui->retranslateUi(this);
globalOptionsGeneralWidget->ui->retranslateUi(this);
globalOptionsGeneralWidget->ui->retranslateUi(this);
@@ -490,15 +486,10 @@ void GlobalOptionsWindow::retranslateUi()
void GlobalOptionsWindow::setActiveWidget(QWidget *widget)
{
- globalOptionsGeneralWidget->setVisible(false);
- globalOptionsAppearanceWidget->setVisible(false);
- globalOptionsTerminalWidget->setVisible(false);
- globalOptionsWindowWidget->setVisible(false);
- globalOptionsTransferWidget->setVisible(false);
- globalOptionsAdvancedWidget->setVisible(false);
+ ui->stackedWidget->setCurrentWidget(emptyWidget);
if(widget)
- widget->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(widget);
}
void GlobalOptionsWindow::setAvailableColorSchemes(QStringList colorSchemes)
diff --git a/src/globaloptions/globaloptionswindow.h b/src/globaloptions/globaloptionswindow.h
index 3b4d863c..3972551b 100644
--- a/src/globaloptions/globaloptionswindow.h
+++ b/src/globaloptions/globaloptionswindow.h
@@ -25,6 +25,8 @@
#include
#include
#include
+#include
+
#include "globaloptionsgeneralwidget.h"
#include "globaloptionsappearancewidget.h"
#include "globaloptionsterminalwidget.h"
@@ -148,13 +150,13 @@ private slots:
private:
Ui::GlobalOptionsWindow *ui;
+ QWidget *emptyWidget;
GlobalOptionsGeneralWidget *globalOptionsGeneralWidget;
GlobalOptionsAppearanceWidget *globalOptionsAppearanceWidget;
GlobalOptionsTerminalWidget *globalOptionsTerminalWidget;
GlobalOptionsWindowWidget *globalOptionsWindowWidget;
GlobalOptionsTransferWidget *globalOptionsTransferWidget;
GlobalOptionsAdvancedWidget *globalOptionsAdvancedWidget;
- QTreeView *treeView;
GlobalOptionsModel *model;
QFont font;
QString cursorColorStr;
diff --git a/src/globaloptions/globaloptionswindow.ui b/src/globaloptions/globaloptionswindow.ui
index 5daa1496..ef522da0 100644
--- a/src/globaloptions/globaloptionswindow.ui
+++ b/src/globaloptions/globaloptionswindow.ui
@@ -6,19 +6,28 @@
0
0
- 726
- 299
+ 730
+ 550
Global Options
-
-
- 4
-
+
-
-
+
+
+ Qt::Horizontal
+
+
+
+
+
-
+
+
+
+
+
-
diff --git a/src/globaloptions/globaloptionswindowwidget.ui b/src/globaloptions/globaloptionswindowwidget.ui
index 7343eea3..5de44809 100644
--- a/src/globaloptions/globaloptionswindowwidget.ui
+++ b/src/globaloptions/globaloptionswindowwidget.ui
@@ -6,10 +6,16 @@
0
0
- 400
- 300
+ 440
+ 500
+
+
+ 0
+ 0
+
+
4
@@ -36,19 +42,22 @@
100
- Qt::Orientation::Horizontal
+ Qt::Horizontal
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/plugininfowindow/plugininfowindow.ui b/src/plugininfowindow/plugininfowindow.ui
index 9086749e..3e48d8ad 100644
--- a/src/plugininfowindow/plugininfowindow.ui
+++ b/src/plugininfowindow/plugininfowindow.ui
@@ -57,10 +57,10 @@
-
- Qt::Orientation::Horizontal
+ Qt::Horizontal
- QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
diff --git a/src/sessionoptions/sessionoptionsgeneralwidget.ui b/src/sessionoptions/sessionoptionsgeneralwidget.ui
index 128e7b44..da0180a6 100644
--- a/src/sessionoptions/sessionoptionsgeneralwidget.ui
+++ b/src/sessionoptions/sessionoptionsgeneralwidget.ui
@@ -10,10 +10,13 @@
300
+
+
+ 0
+ 0
+
+
-
- 4
-
-
@@ -57,6 +60,12 @@
-
+
+
+ 0
+ 0
+
+
-
Telnet
@@ -102,12 +111,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 233
+ 0
diff --git a/src/sessionoptions/sessionoptionslocalshellproperties.ui b/src/sessionoptions/sessionoptionslocalshellproperties.ui
index b3f47015..6f588352 100644
--- a/src/sessionoptions/sessionoptionslocalshellproperties.ui
+++ b/src/sessionoptions/sessionoptionslocalshellproperties.ui
@@ -10,6 +10,12 @@
300
+
+
+ 0
+ 0
+
+
4
@@ -40,12 +46,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/sessionoptions/sessionoptionslocalshellstate.ui b/src/sessionoptions/sessionoptionslocalshellstate.ui
index 3cbd0d2f..b26c455e 100644
--- a/src/sessionoptions/sessionoptionslocalshellstate.ui
+++ b/src/sessionoptions/sessionoptionslocalshellstate.ui
@@ -6,9 +6,15 @@
0
0
- 356
- 216
+ 400
+ 300
+
+
+
+ 0
+ 0
+
@@ -38,7 +44,7 @@
- Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
@@ -47,7 +53,7 @@
-
- Qt::Orientation::Horizontal
+ Qt::Horizontal
@@ -63,7 +69,7 @@
Process Tree
- Qt::AlignmentFlag::AlignCenter
+ Qt::AlignCenter
diff --git a/src/sessionoptions/sessionoptionsnamepipeproperties.ui b/src/sessionoptions/sessionoptionsnamepipeproperties.ui
index 986fa073..461d261f 100644
--- a/src/sessionoptions/sessionoptionsnamepipeproperties.ui
+++ b/src/sessionoptions/sessionoptionsnamepipeproperties.ui
@@ -10,6 +10,12 @@
300
+
+
+ 0
+ 0
+
+
4
@@ -40,12 +46,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/sessionoptions/sessionoptionsrawproperties.ui b/src/sessionoptions/sessionoptionsrawproperties.ui
index 00413be5..b4671a1c 100644
--- a/src/sessionoptions/sessionoptionsrawproperties.ui
+++ b/src/sessionoptions/sessionoptionsrawproperties.ui
@@ -10,6 +10,12 @@
300
+
+
+ 0
+ 0
+
+
4
@@ -67,12 +73,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/sessionoptions/sessionoptionsserialproperties.ui b/src/sessionoptions/sessionoptionsserialproperties.ui
index dd66225f..de0cf3c4 100644
--- a/src/sessionoptions/sessionoptionsserialproperties.ui
+++ b/src/sessionoptions/sessionoptionsserialproperties.ui
@@ -6,10 +6,16 @@
0
0
- 456
- 341
+ 415
+ 300
+
+
+ 0
+ 0
+
+
4
@@ -219,12 +225,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/sessionoptions/sessionoptionsserialstate.ui b/src/sessionoptions/sessionoptionsserialstate.ui
index a4c24902..f507fa8d 100644
--- a/src/sessionoptions/sessionoptionsserialstate.ui
+++ b/src/sessionoptions/sessionoptionsserialstate.ui
@@ -6,10 +6,16 @@
0
0
- 480
- 293
+ 400
+ 300
+
+
+ 0
+ 0
+
+
-
@@ -38,19 +44,12 @@
- Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- -
-
-
- Qt::Orientation::Horizontal
-
-
-
-
-
@@ -112,12 +111,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/sessionoptions/sessionoptionsssh2properties.ui b/src/sessionoptions/sessionoptionsssh2properties.ui
index 2e05f1f7..31a235fd 100644
--- a/src/sessionoptions/sessionoptionsssh2properties.ui
+++ b/src/sessionoptions/sessionoptionsssh2properties.ui
@@ -10,6 +10,12 @@
300
+
+
+ 0
+ 0
+
+
4
@@ -96,12 +102,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/sessionoptions/sessionoptionstelnetproperties.ui b/src/sessionoptions/sessionoptionstelnetproperties.ui
index aaf67569..50f1680e 100644
--- a/src/sessionoptions/sessionoptionstelnetproperties.ui
+++ b/src/sessionoptions/sessionoptionstelnetproperties.ui
@@ -7,9 +7,15 @@
0
0
414
- 256
+ 300
+
+
+ 0
+ 0
+
+
4
@@ -102,12 +108,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/sessionoptions/sessionoptionsvncproperties.ui b/src/sessionoptions/sessionoptionsvncproperties.ui
index 1d7d9b5a..639eef1a 100644
--- a/src/sessionoptions/sessionoptionsvncproperties.ui
+++ b/src/sessionoptions/sessionoptionsvncproperties.ui
@@ -10,6 +10,12 @@
300
+
+
+ 0
+ 0
+
+
4
@@ -80,12 +86,15 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
20
- 40
+ 0
diff --git a/src/sessionoptions/sessionoptionswindow.cpp b/src/sessionoptions/sessionoptionswindow.cpp
index 401baf42..0462001f 100644
--- a/src/sessionoptions/sessionoptionswindow.cpp
+++ b/src/sessionoptions/sessionoptionswindow.cpp
@@ -50,62 +50,54 @@ SessionOptionsWindow::SessionOptionsWindow(QWidget *parent) :
setWindowModality(Qt::ApplicationModal);
setWindowFlags(Qt::Tool);
- QSplitter *splitter = new QSplitter(Qt::Horizontal, this);
- splitter->setHandleWidth(1);
- ui->horizontalLayout->addWidget(splitter);
- QTreeView *treeView = new QTreeView(this);
- treeView->setMinimumWidth(140);
- treeView->setHeaderHidden(true);
- model = new QStringListModel(treeView);
- treeView->setModel(model);
- splitter->addWidget(treeView);
- QWidget *widget = new QWidget(this);
- splitter->addWidget(widget);
- widget->setLayout(new QVBoxLayout(widget));
- widget->layout()->setContentsMargins(0,0,0,0);
- splitter->setSizes(QList() << 140 << 500);
- splitter->setCollapsible(0,false);
- splitter->setCollapsible(1,false);
+ ui->splitter->setHandleWidth(1);
+ ui->treeView->setMinimumWidth(140);
+ ui->treeView->setHeaderHidden(true);
+ model = new QStringListModel(ui->treeView);
+ ui->treeView->setModel(model);
+ emptyWidget = new QWidget(this);
+ ui->stackedWidget->addWidget(emptyWidget);
+ ui->splitter->setSizes(QList() << 140 << 500);
+ ui->splitter->setCollapsible(0,false);
+ ui->splitter->setCollapsible(1,false);
+
+ sessionOptionsGeneralWidget = new SessionOptionsGeneralWidget(this);
+ ui->stackedWidget->addWidget(sessionOptionsGeneralWidget);
+ sessionOptionsTelnetProperties = new SessionOptionsTelnetProperties(this);
+ ui->stackedWidget->addWidget(sessionOptionsTelnetProperties);
+ sessionOptionsSerialProperties = new SessionOptionsSerialProperties(this);
+ ui->stackedWidget->addWidget(sessionOptionsSerialProperties);
+ sessionOptionsLocalShellProperties = new SessionOptionsLocalShellProperties(this);
+ ui->stackedWidget->addWidget(sessionOptionsLocalShellProperties);
+ sessionOptionsNamePipeProperties = new SessionOptionsNamePipeProperties(this);
+ ui->stackedWidget->addWidget(sessionOptionsNamePipeProperties);
+ sessionOptionsRawProperties = new SessionOptionsRawProperties(this);
+ ui->stackedWidget->addWidget(sessionOptionsRawProperties);
+ sessionOptionsSSH2Properties = new SessionOptionsSsh2Properties(this);
+ ui->stackedWidget->addWidget(sessionOptionsSSH2Properties);
+ sessionOptionsVNCProperties = new SessionOptionsVNCProperties(this);
+ ui->stackedWidget->addWidget(sessionOptionsVNCProperties);
+
+ sessionOptionsLocalShellState = new SessionOptionsLocalShellState(this);
+ ui->stackedWidget->addWidget(sessionOptionsLocalShellState);
+ sessionOptionsSerialState = new SessionOptionsSerialState(this);
+ ui->stackedWidget->addWidget(sessionOptionsSerialState);
- sessionOptionsGeneralWidget = new SessionOptionsGeneralWidget(widget);
- widget->layout()->addWidget(sessionOptionsGeneralWidget);
- sessionOptionsTelnetProperties = new SessionOptionsTelnetProperties(widget);
- widget->layout()->addWidget(sessionOptionsTelnetProperties);
- sessionOptionsSerialProperties = new SessionOptionsSerialProperties(widget);
- widget->layout()->addWidget(sessionOptionsSerialProperties);
- sessionOptionsLocalShellProperties = new SessionOptionsLocalShellProperties(widget);
- widget->layout()->addWidget(sessionOptionsLocalShellProperties);
- sessionOptionsNamePipeProperties = new SessionOptionsNamePipeProperties(widget);
- widget->layout()->addWidget(sessionOptionsNamePipeProperties);
- sessionOptionsRawProperties = new SessionOptionsRawProperties(widget);
- widget->layout()->addWidget(sessionOptionsRawProperties);
- sessionOptionsSSH2Properties = new SessionOptionsSsh2Properties(widget);
- widget->layout()->addWidget(sessionOptionsSSH2Properties);
- sessionOptionsVNCProperties = new SessionOptionsVNCProperties(widget);
- widget->layout()->addWidget(sessionOptionsVNCProperties);
-
- sessionOptionsLocalShellState = new SessionOptionsLocalShellState(widget);
- widget->layout()->addWidget(sessionOptionsLocalShellState);
- sessionOptionsSerialState = new SessionOptionsSerialState(widget);
- widget->layout()->addWidget(sessionOptionsSerialState);
-
- sessionOptionsGeneralWidget->setVisible(true);
setactiveProperties(-1);
setactiveState(-1);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsGeneralWidget);
retranslateUi();
- connect(treeView, &QTreeView::clicked, [&](const QModelIndex &index) {
+ connect(ui->treeView, &QTreeView::clicked, [&](const QModelIndex &index) {
if (index.row() == 0) {
- sessionOptionsGeneralWidget->setVisible(true);
setactiveProperties(-1);
setactiveState(-1);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsGeneralWidget);
} else if (index.row() == 1) {
- sessionOptionsGeneralWidget->setVisible(false);
setactiveState(-1);
setactiveProperties(sessionOptionsGeneralWidget->ui->comboBoxProtocol->currentIndex());
} else if (index.row() == 2) {
- sessionOptionsGeneralWidget->setVisible(false);
setactiveProperties(-1);
setactiveState(sessionOptionsGeneralWidget->ui->comboBoxProtocol->currentIndex());
}
@@ -151,56 +143,48 @@ void SessionOptionsWindow::retranslateUi()
void SessionOptionsWindow::setactiveProperties(int index)
{
- sessionOptionsTelnetProperties->setVisible(false);
- sessionOptionsSerialProperties->setVisible(false);
- sessionOptionsLocalShellProperties->setVisible(false);
- sessionOptionsNamePipeProperties->setVisible(false);
- sessionOptionsRawProperties->setVisible(false);
- sessionOptionsSSH2Properties->setVisible(false);
- sessionOptionsVNCProperties->setVisible(false);
-
+ ui->stackedWidget->setCurrentWidget(emptyWidget);
if(index == -1) {
return;
}
switch(index) {
case 0:
- sessionOptionsTelnetProperties->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsTelnetProperties);
break;
case 1:
- sessionOptionsSerialProperties->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsSerialProperties);
break;
case 2:
- sessionOptionsLocalShellProperties->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsLocalShellProperties);
break;
case 3:
- sessionOptionsRawProperties->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsRawProperties);
break;
case 4:
- sessionOptionsNamePipeProperties->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsNamePipeProperties);
break;
case 5:
- sessionOptionsSSH2Properties->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsSSH2Properties);
break;
case 6:
- sessionOptionsVNCProperties->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsVNCProperties);
break;
}
}
void SessionOptionsWindow::setactiveState(int index)
{
- sessionOptionsLocalShellState->setVisible(false);
- sessionOptionsSerialState->setVisible(false);
+ ui->stackedWidget->setCurrentWidget(emptyWidget);
if(index == -1) {
return;
}
switch(index) {
case 1:
- sessionOptionsSerialState->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsSerialState);
break;
case 2:
- sessionOptionsLocalShellState->setVisible(true);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsLocalShellState);
break;
}
}
@@ -441,9 +425,9 @@ void SessionOptionsWindow::buttonBoxRejected(void)
void SessionOptionsWindow::showEvent(QShowEvent *event)
{
- sessionOptionsGeneralWidget->setVisible(true);
setactiveProperties(-1);
setactiveState(-1);
+ ui->stackedWidget->setCurrentWidget(sessionOptionsGeneralWidget);
retranslateUi();
QDialog::showEvent(event);
}
diff --git a/src/sessionoptions/sessionoptionswindow.h b/src/sessionoptions/sessionoptionswindow.h
index 1b8b7cbd..14d1ddd0 100644
--- a/src/sessionoptions/sessionoptionswindow.h
+++ b/src/sessionoptions/sessionoptionswindow.h
@@ -23,6 +23,7 @@
#include
#include
#include
+#include
#include "ptyqt.h"
#include "quickconnectwindow.h"
@@ -75,6 +76,7 @@ private slots:
private:
Ui::SessionOptionsWindow *ui;
+ QWidget *emptyWidget;
SessionOptionsGeneralWidget *sessionOptionsGeneralWidget;
SessionOptionsTelnetProperties *sessionOptionsTelnetProperties;
SessionOptionsSerialProperties *sessionOptionsSerialProperties;
diff --git a/src/sessionoptions/sessionoptionswindow.ui b/src/sessionoptions/sessionoptionswindow.ui
index 96339551..2e26bdfa 100644
--- a/src/sessionoptions/sessionoptionswindow.ui
+++ b/src/sessionoptions/sessionoptionswindow.ui
@@ -6,23 +6,28 @@
0
0
- 602
- 299
+ 634
+ 447
Session Options
-
-
- 4
-
+
-
-
-
- 4
+
+
+ Qt::Horizontal
-
+
+
+
+
-
+
+
+
+
+
-