#include "SettingFormWidget.h" #include #include #include #include #include #include "ui_TabFormWidget.h" #include "UserOperationLogForm.h" #include "GeneralForm.h" #include "SystemSettingForm.h" #include "AccountTableForm.h" #include "event/EventCenter.h" #include "json/jsonobject.h" #include "AboutForm.h" #include "UserOperationLogForm.h" #include "SystemCorrectionForm.h" #include "HelpForm.h" SettingFormWidget::SettingFormWidget(QWidget* aParent, Qt::WindowFlags f) : TabFormWidget(aParent) { QHBoxLayout* layout = new QHBoxLayout(ui->contentWidget); // layout->setMargin(0); layout->setContentsMargins(0, 0, 0, 0); ui->contentWidget->setObjectName("settingContentWidget"); QListWidget* widget = new QListWidget(ui->contentWidget); widget->setObjectName("LeftBtnBar"); widget->setFixedWidth(250); QStringList menus; menus << tr("System Correction") << tr("Network Settings") << tr("General") << tr("Operation Log") << tr("Account") << tr("About") << tr("Help"); widget->addItems(menus); widget->setSpacing(3); for (int i = 0; i < menus.count(); ++i) { widget->item(i)->setTextAlignment(Qt::AlignCenter); } layout->addWidget(widget); //reset visible for AnonymousMode widget->item(3)->setHidden(JsonObject::Instance()->getAnonymousMode()); QStackedWidget* stackedWidget = new QStackedWidget(ui->contentWidget); QWidget* spacerLine = new QWidget(this); spacerLine->setObjectName("verSpaceLine"); layout->addWidget(spacerLine); layout->addWidget(stackedWidget); ui->commandWidget->hide(); SystemCorrectionForm* systemCorrectionForm = new SystemCorrectionForm(ui->commandWidget); stackedWidget->addWidget(systemCorrectionForm); SystemSettingForm* systemSetting = new SystemSettingForm(ui->commandWidget); stackedWidget->addWidget(systemSetting); GeneralForm* generalForm = new GeneralForm(ui->commandWidget); stackedWidget->addWidget(generalForm); UserOperationLogForm* operationLog = new UserOperationLogForm(ui->commandWidget); stackedWidget->addWidget(operationLog); AccountTableForm* acc = new AccountTableForm(ui->commandWidget); stackedWidget->addWidget(acc); AboutForm* about = new AboutForm(ui->commandWidget); stackedWidget->addWidget(about); //HelpForm* help = new HelpForm(ui->commandWidget); //stackedWidget->addWidget(help); widget->setCurrentRow(0); connect(widget, &QListWidget::currentRowChanged, [=](int rowindex) { if(widget->item(rowindex)->text() == tr("Help") && stackedWidget->widget(rowindex) == nullptr) { stackedWidget->addWidget(new HelpForm(ui->commandWidget)); } stackedWidget->setCurrentIndex(rowindex); }); connect(EventCenter::Default(), &EventCenter::AnonymousModeChanged, [=]() { widget->item(3)->setHidden(JsonObject::Instance()->getAnonymousMode()); }); connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]() { QStringList menus; menus << tr("System Correction") << tr("Network Settings") << tr("General") << tr("Operation Log") << tr("Account") << tr("About") << tr("Help") ; widget->clear(); widget->addItems(menus); for (int i = 0; i < menus.count(); ++i) { widget->item(i)->setTextAlignment(Qt::AlignCenter); } }); } SettingFormWidget::~SettingFormWidget() { }