5#include <QLoggingCategory>
9#include "ParameterUI.h"
10#include "ParameterDlgSettings.h"
11#include "ui_ParameterDlgSettings.h"
17static Q_LOGGING_CATEGORY(log,
"App.MainWindow.Parameter")
31 ui->tabWidget->addTab(pWidget, pWidget->windowTitle());
33 check = connect(
this, SIGNAL(accepted()), pWidget, SLOT(slotAccept()));
36 szMsg =
"Class" + QString(p->metaObject()->className())
37 +
"must has slot slotAccept(), please add it."
38 +
"Or the class derived from CParameterUI";
39 qCritical(log) << szMsg;
41 Q_ASSERT_X(check,
"CParameterDlgSettings", szMsg.toStdString().c_str());
45 ui->cbReciverShortCut->setChecked(m_pParameters->GetReceiveShortCut());
46 ui->cbSaveMainWindowStatus->setChecked(m_pParameters->GetSaveMainWindowStatus());
47 ui->cbResumLasterClose->setChecked(m_pParameters->GetOpenLasterClose());
48 ui->cbStartByType->setChecked(m_pParameters->GetStartByType());
50 switch (m_pParameters->GetTabPosition()) {
51 case QTabWidget::North:
52 ui->rbNorth->setChecked(
true);
54 case QTabWidget::South:
55 ui->rbSouth->setChecked(
true);
57 case QTabWidget::West:
58 ui->rbWest->setChecked(
true);
60 case QTabWidget::East:
61 ui->rbEast->setChecked(
true);
64 ui->cbTabToolTip->setChecked(m_pParameters->GetEnableTabToolTip());
65 ui->cbTabIcon->setChecked(m_pParameters->GetEnableTabIcon());
66 ui->cbElided->setChecked(m_pParameters->GetTabElided());
68 ui->sbRecentMenuMaxCount->setValue(m_pParameters->GetRecentMenuMaxCount());
70 switch (m_pParameters->GetSystemTrayIconMenuType()) {
71 case CParameterApp::SystemTrayIconMenuType::No:
72 ui->rbSystemTrayIconNo->setChecked(
true);
74 case CParameterApp::SystemTrayIconMenuType::MenuBar:
75 ui->rbMenuBar->setChecked(
true);
77 case CParameterApp::SystemTrayIconMenuType::RecentOpen:
78 ui->rbSystemTrayIconRecentOpen->setChecked(
true);
80 case CParameterApp::SystemTrayIconMenuType::Operate:
81 ui->rbSystemTrayIconOperate->setChecked(
true);
86 ui->cbShowSystemTrayIcon->setChecked(m_pParameters->GetEnableSystemTrayIcon());
88 ui->cbFavoriteDoubleEdit->setChecked(m_pParameters->GetFavoriteEdit());
89 ui->cbMessageBoxDisplayInfo->setChecked(m_pParameters->GetMessageBoxDisplayInformation());
90 ui->cbKeepSplitView->setChecked(m_pParameters->GetKeepSplitViewWhenFullScreen());
93CParameterDlgSettings::~CParameterDlgSettings()
98void CParameterDlgSettings::AddViewers(
const QList<QWidget *> &wViewer)
101 foreach(
auto p, wViewer)
105 QSize size = this->size();
106 if(p->frameSize().width() > size.width()
107 || p->frameSize().height() > size.height())
109 QScrollArea* pScroll =
new QScrollArea(ui->tabWidget);
110 if(!pScroll)
continue;
111 pScroll->setWidget(p);
114 ui->tabWidget->addTab(pView, p->windowIcon(), p->windowTitle());
116 check = connect(
this, SIGNAL(accepted()), p, SLOT(slotAccept()));
119 szMsg =
"Class '" + QString(p->metaObject()->className())
120 +
"' must has slot slotAccept(), please add it. "
121 +
"Or the class derived from CParameterUI";
122 qCritical(log) << szMsg;
124 Q_ASSERT_X(check,
"CParameterDlgSettings", szMsg.toStdString().c_str());
129void CParameterDlgSettings::on_pbOk_clicked()
131 if(!m_pParameters)
return;
133 m_pParameters->SetReceiveShortCut(ui->cbReciverShortCut->isChecked());
134 m_pParameters->SetSaveMainWindowStatus(ui->cbSaveMainWindowStatus->isChecked());
135 m_pParameters->SetOpenLasterClose(ui->cbResumLasterClose->isChecked());
136 m_pParameters->SetStartByType(ui->cbStartByType->isChecked());
138 if(ui->rbNorth->isChecked()) m_pParameters->SetTabPosition(QTabWidget::North);
139 if(ui->rbSouth->isChecked()) m_pParameters->SetTabPosition(QTabWidget::South);
140 if(ui->rbEast->isChecked()) m_pParameters->SetTabPosition(QTabWidget::East);
141 if(ui->rbWest->isChecked()) m_pParameters->SetTabPosition(QTabWidget::West);
142 m_pParameters->SetEnableTabToolTip(ui->cbTabToolTip->isChecked());
143 m_pParameters->SetEnableTabIcon(ui->cbTabIcon->isChecked());
144 m_pParameters->SetTabElided(ui->cbElided->isChecked());
146 m_pParameters->SetRecentMenuMaxCount(ui->sbRecentMenuMaxCount->value());
149 m_pParameters->SetEnableSystemTrayIcon(ui->cbShowSystemTrayIcon->isChecked());
150 if(ui->rbSystemTrayIconNo->isChecked())
151 m_pParameters->SetSystemTrayIconMenuType(CParameterApp::SystemTrayIconMenuType::No);
152 if(ui->rbMenuBar->isChecked())
153 m_pParameters->SetSystemTrayIconMenuType(CParameterApp::SystemTrayIconMenuType::MenuBar);
154 if(ui->rbSystemTrayIconRecentOpen->isChecked())
155 m_pParameters->SetSystemTrayIconMenuType(CParameterApp::SystemTrayIconMenuType::RecentOpen);
156 if(ui->rbSystemTrayIconOperate->isChecked())
157 m_pParameters->SetSystemTrayIconMenuType(CParameterApp::SystemTrayIconMenuType::Operate);
159 m_pParameters->SetFavoriteEdit(ui->cbFavoriteDoubleEdit->isChecked());
160 m_pParameters->SetMessageBoxDisplayInformation(ui->cbMessageBoxDisplayInfo->isChecked());
162 m_pParameters->SetKeepSplitViewWhenFullScreen(ui->cbKeepSplitView->isChecked());
165 for(
int i = 0; i < ui->tabWidget->count(); i++) {
166 QWidget* v = ui->tabWidget->widget(i);
167 CParameterUI* w = qobject_cast<CParameterUI*>(v);
169 QScrollArea* pScroll = qobject_cast<QScrollArea*>(v);
170 if(!pScroll)
continue;
171 w = qobject_cast<CParameterUI*>(pScroll->widget());
178 ui->tabWidget->setCurrentIndex(i);
184void CParameterDlgSettings::on_pbNo_clicked()
189void CParameterDlgSettings::on_cbShowSystemTrayIcon_toggled(
bool checked)
191 ui->gbSystemTrayIconContextMenu->setEnabled(checked);
static CICE * Instance()
Single instance.
virtual Q_INVOKABLE bool CheckValidity(bool validity=false)
Check parameters validity.