106 lines
3.5 KiB
C++
106 lines
3.5 KiB
C++
#include "SettingFormWidget.h"
|
|
|
|
#include <QHBoxLayout>
|
|
#include <QStackedWidget>
|
|
#include <QStringListModel>
|
|
#include <QListWidgetItem>
|
|
#include <QListWidget>
|
|
|
|
#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(rowindex < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
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()
|
|
{
|
|
|
|
}
|