From 593e497a43a4798398d6deeb639dcc2b061db9e3 Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Thu, 15 Jun 2023 10:20:02 +0800 Subject: [PATCH] Display options --- DSView/pv/dialogs/applicationpardlg.cpp | 56 ++++++++++++++++--------- lang/cn/dlg.json | 12 ++++++ lang/en/dlg.json | 12 ++++++ 3 files changed, 61 insertions(+), 19 deletions(-) diff --git a/DSView/pv/dialogs/applicationpardlg.cpp b/DSView/pv/dialogs/applicationpardlg.cpp index 0635044d..7510bfa7 100644 --- a/DSView/pv/dialogs/applicationpardlg.cpp +++ b/DSView/pv/dialogs/applicationpardlg.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "../config/appconfig.h" #include "../ui/langresource.h" @@ -103,12 +104,13 @@ bool ApplicationParamDlg::ShowDlg(QWidget *parent) DSDialog dlg(parent, true, true); dlg.setTitle(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_DISPLAY_OPTIONS), "Display options")); dlg.setMinimumSize(300, 230); - QFormLayout &lay = *(new QFormLayout()); - lay.setContentsMargins(0,20,0,30); + + QVBoxLayout *lay = new QVBoxLayout(); + lay->setContentsMargins(0,10,0,20); + lay->setSpacing(8); //show config AppConfig &app = AppConfig::Instance(); - int mode = AppControl::Instance()->GetSession()->get_device()->get_work_mode(); QCheckBox *ck_quickScroll = new QCheckBox(); @@ -123,27 +125,43 @@ bool ApplicationParamDlg::ShowDlg(QWidget *parent) QCheckBox *ck_abortData = new QCheckBox(); ck_abortData->setChecked(app.appOptions.swapBackBufferAlways); - lay.setHorizontalSpacing(8); - - if (mode == LOGIC){ - lay.addRow(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_QUICK_SCROLL), "Quick scroll"), ck_quickScroll); - lay.addRow(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_USE_ABORT_DATA_REPEAT), "Used abort data"), ck_abortData); - } - else if (mode == DSO){ - lay.addRow(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_TRIG_DISPLAY_MIDDLE), "Tig pos in middle"), ck_trigInMid); - } - - lay.addRow(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_DISPLAY_PROFILE_IN_BAR), "Profile in bar"), ck_profileBar); - QComboBox *ftCbSize = new DsComboBox(); ftCbSize->setFixedWidth(50); bind_font_size_list(ftCbSize, app.appOptions.fontSize); - lay.addRow(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_FONT_SIZE), "Font size"), ftCbSize); + + // Logic group + QGroupBox *logicGroup = new QGroupBox(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_GROUP_LOGIC), "Logic")); + QGridLayout *logicLay = new QGridLayout(); + logicLay->setContentsMargins(10,15,15,10); + logicGroup->setLayout(logicLay); + logicLay->addWidget(new QLabel(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_QUICK_SCROLL), "Quick scroll")), 0, 0, Qt::AlignLeft); + logicLay->addWidget(ck_quickScroll, 0, 1, Qt::AlignRight); + logicLay->addWidget(new QLabel(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_USE_ABORT_DATA_REPEAT), "Used abort data")), 1, 0, Qt::AlignLeft); + logicLay->addWidget(ck_abortData, 1, 1, Qt::AlignRight); + lay->addWidget(logicGroup); - dlg.layout()->addLayout(&lay); - + //Scope group + QGroupBox *dsoGroup = new QGroupBox(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_GROUP_DSO), "Scope")); + QGridLayout *dsoLay = new QGridLayout(); + dsoLay->setContentsMargins(10,15,15,10); + dsoGroup->setLayout(dsoLay); + dsoLay->addWidget(new QLabel(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_TRIG_DISPLAY_MIDDLE), "Tig pos in middle")), 0, 0, Qt::AlignLeft); + dsoLay->addWidget(ck_trigInMid, 0, 1, Qt::AlignRight); + lay->addWidget(dsoGroup); + + //UI + QGroupBox *uiGroup = new QGroupBox(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_GROUP_UI), "UI")); + QGridLayout *uiLay = new QGridLayout(); + uiLay->setContentsMargins(10,15,15,10); + uiGroup->setLayout(uiLay); + uiLay->addWidget(new QLabel(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_DISPLAY_PROFILE_IN_BAR), "Profile in bar")), 0, 0, Qt::AlignLeft); + uiLay->addWidget(ck_profileBar, 0, 1, Qt::AlignRight); + uiLay->addWidget(new QLabel(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_FONT_SIZE), "Font size")), 1, 0, Qt::AlignLeft); + uiLay->addWidget(ftCbSize, 1, 1, Qt::AlignRight); + lay->addWidget(uiGroup); + + dlg.layout()->addLayout(lay); dlg.exec(); - bool ret = dlg.IsClickYes(); //save config diff --git a/lang/cn/dlg.json b/lang/cn/dlg.json index b12f956d..af312d62 100644 --- a/lang/cn/dlg.json +++ b/lang/cn/dlg.json @@ -706,5 +706,17 @@ { "id": "IDS_DLG_FONT_SIZE", "text": "字体大小" + }, + { + "id": "IDS_DLG_GROUP_LOGIC", + "text": "逻辑分析仪" + }, + { + "id": "IDS_DLG_GROUP_DSO", + "text": "示波器" + }, + { + "id": "IDS_DLG_GROUP_UI", + "text": "界面" } ] \ No newline at end of file diff --git a/lang/en/dlg.json b/lang/en/dlg.json index 0120c1ca..af78ec5f 100644 --- a/lang/en/dlg.json +++ b/lang/en/dlg.json @@ -706,5 +706,17 @@ { "id": "IDS_DLG_FONT_SIZE", "text": "Font Size" + }, + { + "id": "IDS_DLG_GROUP_LOGIC", + "text": "Logic" + }, + { + "id": "IDS_DLG_GROUP_DSO", + "text": "Scope" + }, + { + "id": "IDS_DLG_GROUP_UI", + "text": "UI" } ] \ No newline at end of file