// // Created by Krad on 2021/11/22. // #include "SettingFormWidget.h" #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 "AboutForm.h" #include "UserOperationLogForm.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->setFixedWidth(250); QStringList menus; menus << tr("General") << tr("Account") << tr("System") << tr("About") << tr("Operation Log"); widget->addItems(menus); widget->setSpacing(3); for (int i = 0; i < menus.count(); ++i) { widget->item(i)->setTextAlignment(Qt::AlignCenter); } layout->addWidget(widget); QStackedWidget* stackedWidget = new QStackedWidget(ui->contentWidget); QWidget* spacerLine = new QWidget(this); spacerLine->setObjectName("verSpaceLine"); layout->addWidget(spacerLine); layout->addWidget(stackedWidget); ui->commandWidget->hide(); GeneralForm* generalForm = new GeneralForm(ui->commandWidget); stackedWidget->addWidget(generalForm); AccountTableForm* acc = new AccountTableForm(ui->commandWidget); stackedWidget->addWidget(acc); SystemSettingForm* systemSetting = new SystemSettingForm(ui->commandWidget); stackedWidget->addWidget(systemSetting); AboutForm* about = new AboutForm(ui->commandWidget); stackedWidget->addWidget(about); UserOperationLogForm* operationLog = new UserOperationLogForm(ui->commandWidget); stackedWidget->addWidget(operationLog); widget->setCurrentRow(0); connect(widget, &QListWidget::currentRowChanged, [=](int rowindex) { stackedWidget->setCurrentIndex(rowindex); }); connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]() { QStringList menus; menus << tr("General") << tr("Account") << tr("System") << tr("About") << tr("Operation Log"); widget->clear(); widget->addItems(menus); for (int i = 0; i < menus.count(); ++i) { widget->item(i)->setTextAlignment(Qt::AlignCenter); } }); } SettingFormWidget::~SettingFormWidget() { }