Files
GUI/src/forms/settings/SettingFormWidget.cpp

106 lines
3.5 KiB
C++
Raw Normal View History

#include "SettingFormWidget.h"
2022-06-14 18:04:44 +08:00
#include <QHBoxLayout>
#include <QStackedWidget>
#include <QStringListModel>
2024-04-25 14:37:38 +08:00
#include <QListWidgetItem>
#include <QListWidget>
2022-06-14 18:04:44 +08:00
2022-07-14 14:44:35 +08:00
#include "ui_TabFormWidget.h"
2021-11-23 13:22:00 +08:00
#include "UserOperationLogForm.h"
2022-07-14 14:44:35 +08:00
#include "GeneralForm.h"
#include "SystemSettingForm.h"
2021-12-08 15:10:56 +08:00
#include "AccountTableForm.h"
2021-12-21 16:06:21 +08:00
#include "event/EventCenter.h"
2023-09-15 11:42:40 +08:00
#include "json/jsonobject.h"
2022-07-14 14:45:37 +08:00
#include "AboutForm.h"
2023-09-05 16:32:38 +08:00
#include "UserOperationLogForm.h"
2024-04-25 14:37:38 +08:00
#include "SystemCorrectionForm.h"
#include "HelpForm.h"
SettingFormWidget::SettingFormWidget(QWidget* aParent, Qt::WindowFlags f)
2022-06-14 18:04:44 +08:00
: TabFormWidget(aParent)
{
QHBoxLayout* layout = new QHBoxLayout(ui->contentWidget);
2022-07-14 14:41:54 +08:00
// layout->setMargin(0);
layout->setContentsMargins(0, 0, 0, 0);
2022-07-12 16:13:09 +08:00
ui->contentWidget->setObjectName("settingContentWidget");
2022-07-14 14:41:54 +08:00
QListWidget* widget = new QListWidget(ui->contentWidget);
2023-09-11 10:53:01 +08:00
widget->setObjectName("LeftBtnBar");
2022-06-14 18:04:44 +08:00
widget->setFixedWidth(250);
QStringList menus;
2024-04-25 14:37:38 +08:00
menus << tr("System Correction") << tr("Network Settings") << tr("General") << tr("Operation Log") << tr("Account") << tr("About") << tr("Help");
2022-06-14 18:04:44 +08:00
widget->addItems(menus);
widget->setSpacing(3);
for (int i = 0; i < menus.count(); ++i)
{
widget->item(i)->setTextAlignment(Qt::AlignCenter);
}
layout->addWidget(widget);
2023-09-15 11:42:40 +08:00
//reset visible for AnonymousMode
2024-04-25 14:37:38 +08:00
widget->item(3)->setHidden(JsonObject::Instance()->getAnonymousMode());
2022-07-14 14:41:54 +08:00
QStackedWidget* stackedWidget = new QStackedWidget(ui->contentWidget);
2022-06-14 18:04:44 +08:00
QWidget* spacerLine = new QWidget(this);
spacerLine->setObjectName("verSpaceLine");
layout->addWidget(spacerLine);
layout->addWidget(stackedWidget);
ui->commandWidget->hide();
2021-12-08 15:10:56 +08:00
2024-04-25 14:37:38 +08:00
SystemCorrectionForm* systemCorrectionForm = new SystemCorrectionForm(ui->commandWidget);
stackedWidget->addWidget(systemCorrectionForm);
SystemSettingForm* systemSetting = new SystemSettingForm(ui->commandWidget);
stackedWidget->addWidget(systemSetting);
2022-07-14 14:41:54 +08:00
GeneralForm* generalForm = new GeneralForm(ui->commandWidget);
2022-06-14 18:04:44 +08:00
stackedWidget->addWidget(generalForm);
2024-04-25 14:37:38 +08:00
UserOperationLogForm* operationLog = new UserOperationLogForm(ui->commandWidget);
stackedWidget->addWidget(operationLog);
2022-07-14 14:41:54 +08:00
AccountTableForm* acc = new AccountTableForm(ui->commandWidget);
2022-06-14 18:04:44 +08:00
stackedWidget->addWidget(acc);
2021-11-23 13:22:00 +08:00
2022-07-14 14:45:37 +08:00
AboutForm* about = new AboutForm(ui->commandWidget);
2022-06-14 18:04:44 +08:00
stackedWidget->addWidget(about);
2022-01-04 17:10:14 +08:00
2024-04-25 14:37:38 +08:00
//HelpForm* help = new HelpForm(ui->commandWidget);
//stackedWidget->addWidget(help);
2023-09-05 16:32:38 +08:00
2022-06-14 18:04:44 +08:00
widget->setCurrentRow(0);
2024-04-25 14:37:38 +08:00
connect(widget, &QListWidget::currentRowChanged, [=](int rowindex)
{
if(rowindex < 0)
{
return;
}
2024-04-25 14:37:38 +08:00
if(widget->item(rowindex)->text() == tr("Help") && stackedWidget->widget(rowindex) == nullptr)
{
stackedWidget->addWidget(new HelpForm(ui->commandWidget));
}
2022-06-14 18:04:44 +08:00
stackedWidget->setCurrentIndex(rowindex);
2023-09-15 11:42:40 +08:00
});
2024-04-25 14:37:38 +08:00
connect(EventCenter::Default(), &EventCenter::AnonymousModeChanged, [=]()
{
widget->item(3)->setHidden(JsonObject::Instance()->getAnonymousMode());
});
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]()
{
2022-06-14 18:04:44 +08:00
QStringList menus;
2024-04-25 14:37:38 +08:00
menus << tr("System Correction") << tr("Network Settings") << tr("General") << tr("Operation Log") << tr("Account") << tr("About") << tr("Help") ;
2022-06-14 18:04:44 +08:00
widget->clear();
widget->addItems(menus);
for (int i = 0; i < menus.count(); ++i)
{
widget->item(i)->setTextAlignment(Qt::AlignCenter);
}
2024-04-25 14:37:38 +08:00
});
}
SettingFormWidget::~SettingFormWidget()
2022-06-14 18:04:44 +08:00
{
}