Files
GUI/src/forms/settings/AdminSettingForm.cpp
Krad fc3fab4909 Rename tabformwidget to TabFormWidget.
Fix layout add bug.
2022-07-13 10:13:07 +08:00

80 lines
2.3 KiB
C++

//
// Created by Krad on 2021/11/22.
//
#include "AdminSettingForm.h"
#include <QHBoxLayout>
#include <QStackedWidget>
#include <QStringListModel>
#include <QListWidget>
#include "ui_tabformwidget.h"
#include "UserOperationLogForm.h"
#include "generalform.h"
#include "SystemSettingform.h"
#include "AccountTableForm.h"
#include "event/EventCenter.h"
#include "AboutWidget.h"
AdminSettingForm::AdminSettingForm(QWidget* aParent, Qt::WindowFlags f)
: TabFormWidget(aParent)
{
QHBoxLayout* layout = new QHBoxLayout(ui->contentWidget);
layout->setMargin(0);
layout->setContentsMargins(0, 8, 0, 1);
ui->contentWidget->setObjectName("settingContentWidget");
QListWidget* widget = new QListWidget(this);
widget->setFixedWidth(250);
QStringList menus;
menus << tr("General") << tr("Account") << tr("System") << tr("About");
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(this);
QWidget* spacerLine = new QWidget(this);
spacerLine->setFixedWidth(2);
spacerLine->setObjectName("verSpaceLine");
spacerLine->setStyleSheet("margin-bottom:8px");
layout->addWidget(spacerLine);
layout->addWidget(stackedWidget);
ui->commandWidget->hide();
GeneralForm* generalForm = new GeneralForm(this);
stackedWidget->addWidget(generalForm);
AccountTableForm* acc = new AccountTableForm(this);
stackedWidget->addWidget(acc);
SystemSettingForm* systemSetting = new SystemSettingForm(this);
stackedWidget->addWidget(systemSetting);
AboutWidget* about = new AboutWidget(this);
stackedWidget->addWidget(about);
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");
widget->clear();
widget->addItems(menus);
for (int i = 0; i < menus.count(); ++i)
{
widget->item(i)->setTextAlignment(Qt::AlignCenter);
}
});
}
AdminSettingForm::~AdminSettingForm()
{
}