5#include <QLoggingCategory>
9#include "ParameterDlgSettings.h"
10#include "ui_ParameterDlgSettings.h"
16static Q_LOGGING_CATEGORY(log,
"App.MainWindow.Parameter")
30 ui->tabWidget->addTab(pWidget, pWidget->windowTitle());
32 check = connect(
this, SIGNAL(accepted()), pWidget, SLOT(slotAccept()));
35 szMsg =
"Class" + QString(p->metaObject()->className())
36 +
"must has slot slotAccept(), please add it."
37 +
"Or the class derived from CParameterUI";
38 qCritical(log) << szMsg;
40 Q_ASSERT_X(check,
"CParameterDlgSettings", szMsg.toStdString().c_str());
44 ui->cbReciverShortCut->setChecked(m_pParameters->GetReceiveShortCut());
45 ui->cbSaveMainWindowStatus->setChecked(m_pParameters->GetSaveMainWindowStatus());
46 ui->cbResumLasterClose->setChecked(m_pParameters->GetOpenLasterClose());
47 ui->cbStartByType->setChecked(m_pParameters->GetStartByType());
49 switch (m_pParameters->GetTabPosition()) {
50 case QTabWidget::North:
51 ui->rbNorth->setChecked(
true);
53 case QTabWidget::South:
54 ui->rbSouth->setChecked(
true);
56 case QTabWidget::West:
57 ui->rbWest->setChecked(
true);
59 case QTabWidget::East:
60 ui->rbEast->setChecked(
true);
63 ui->cbTabToolTip->setChecked(m_pParameters->GetEnableTabToolTip());
64 ui->cbTabIcon->setChecked(m_pParameters->GetEnableTabIcon());
65 ui->cbElided->setChecked(m_pParameters->GetTabElided());
67 ui->sbRecentMenuMaxCount->setValue(m_pParameters->GetRecentMenuMaxCount());
69 switch (m_pParameters->GetSystemTrayIconMenuType()) {
70 case CParameterApp::SystemTrayIconMenuType::No:
71 ui->rbSystemTrayIconNo->setChecked(
true);
73 case CParameterApp::SystemTrayIconMenuType::MenuBar:
74 ui->rbMenuBar->setChecked(
true);
76 case CParameterApp::SystemTrayIconMenuType::RecentOpen:
77 ui->rbSystemTrayIconRecentOpen->setChecked(
true);
79 case CParameterApp::SystemTrayIconMenuType::Operate:
80 ui->rbSystemTrayIconOperate->setChecked(
true);
85 ui->cbShowSystemTrayIcon->setChecked(m_pParameters->GetEnableSystemTrayIcon());
87 ui->cbFavoriteDoubleEdit->setChecked(m_pParameters->GetFavoriteEdit());
88 ui->cbMessageBoxDisplayInfo->setChecked(m_pParameters->GetMessageBoxDisplayInformation());
89 ui->cbKeepSplitView->setChecked(m_pParameters->GetKeepSplitViewWhenFullScreen());
92CParameterDlgSettings::~CParameterDlgSettings()
97void CParameterDlgSettings::AddViewers(
const QList<QWidget *> &wViewer)
101 foreach(
auto p, wViewer) {
103 nWidth = qMax(nWidth, p->frameSize().width());
104 nHeigth = qMax(nHeigth, p->frameSize().height());
106 bool bScroll =
false;
107 QScreen* pScreen = QApplication::primaryScreen();
108 QSize size = this->size();
109 if(nWidth > size.width() || nHeigth > size.height())
112 foreach(
auto p, wViewer)
118 QScrollArea* pScroll =
new QScrollArea(ui->tabWidget);
119 if(!pScroll)
continue;
120 pScroll->setWidget(p);
123 ui->tabWidget->addTab(pView, p->windowIcon(), p->windowTitle());
125 check = connect(
this, SIGNAL(accepted()), p, SLOT(slotAccept()));
128 szMsg =
"Class '" + QString(p->metaObject()->className())
129 +
"' must has slot slotAccept(), please add it. "
130 +
"Or the class derived from CParameterUI";
131 qCritical(log) << szMsg;
133 Q_ASSERT_X(check,
"CParameterDlgSettings", szMsg.toStdString().c_str());
138void CParameterDlgSettings::on_pbOk_clicked()
140 if(!m_pParameters)
return;
142 m_pParameters->SetReceiveShortCut(ui->cbReciverShortCut->isChecked());
143 m_pParameters->SetSaveMainWindowStatus(ui->cbSaveMainWindowStatus->isChecked());
144 m_pParameters->SetOpenLasterClose(ui->cbResumLasterClose->isChecked());
145 m_pParameters->SetStartByType(ui->cbStartByType->isChecked());
147 if(ui->rbNorth->isChecked()) m_pParameters->SetTabPosition(QTabWidget::North);
148 if(ui->rbSouth->isChecked()) m_pParameters->SetTabPosition(QTabWidget::South);
149 if(ui->rbEast->isChecked()) m_pParameters->SetTabPosition(QTabWidget::East);
150 if(ui->rbWest->isChecked()) m_pParameters->SetTabPosition(QTabWidget::West);
151 m_pParameters->SetEnableTabToolTip(ui->cbTabToolTip->isChecked());
152 m_pParameters->SetEnableTabIcon(ui->cbTabIcon->isChecked());
153 m_pParameters->SetTabElided(ui->cbElided->isChecked());
155 m_pParameters->SetRecentMenuMaxCount(ui->sbRecentMenuMaxCount->value());
158 m_pParameters->SetEnableSystemTrayIcon(ui->cbShowSystemTrayIcon->isChecked());
159 if(ui->rbSystemTrayIconNo->isChecked())
160 m_pParameters->SetSystemTrayIconMenuType(CParameterApp::SystemTrayIconMenuType::No);
161 if(ui->rbMenuBar->isChecked())
162 m_pParameters->SetSystemTrayIconMenuType(CParameterApp::SystemTrayIconMenuType::MenuBar);
163 if(ui->rbSystemTrayIconRecentOpen->isChecked())
164 m_pParameters->SetSystemTrayIconMenuType(CParameterApp::SystemTrayIconMenuType::RecentOpen);
165 if(ui->rbSystemTrayIconOperate->isChecked())
166 m_pParameters->SetSystemTrayIconMenuType(CParameterApp::SystemTrayIconMenuType::Operate);
168 m_pParameters->SetFavoriteEdit(ui->cbFavoriteDoubleEdit->isChecked());
169 m_pParameters->SetMessageBoxDisplayInformation(ui->cbMessageBoxDisplayInfo->isChecked());
171 m_pParameters->SetKeepSplitViewWhenFullScreen(ui->cbKeepSplitView->isChecked());
175void CParameterDlgSettings::on_pbNo_clicked()
180void CParameterDlgSettings::on_cbShowSystemTrayIcon_toggled(
bool checked)
182 ui->gbSystemTrayIconContextMenu->setEnabled(checked);
static CICE * Instance()
Single instance