Files
GUI/src/systemsettingform.cpp

77 lines
2.4 KiB
C++
Raw Normal View History

2021-12-07 14:13:55 +08:00
#include "systemsettingform.h"
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QDebug>
#include <QLabel>
#include <QLineEdit>
#include <QEvent>
#include "json/jsonobject.h"
#include "SelectDialog.h"
systemSettingForm::systemSettingForm(QWidget* parent) : QWidget(parent)
{
layout = new QVBoxLayout(this);
QWidget* protocalHeader = new QWidget(this);
layout->addWidget(protocalHeader);
QHBoxLayout* protocalHeaderLayout = new QHBoxLayout(protocalHeader);
protocalHeaderLayout->addWidget(new QLabel(tr("Default Protocal")));
QPushButton* btnPro = new QPushButton(protocalHeader);
protocalHeaderLayout->addWidget(btnPro);
protocalHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
QWidget* filterHeader = new QWidget(this);
layout->addWidget(filterHeader);
QHBoxLayout* filterHeaderLayout = new QHBoxLayout(filterHeader);
filterHeaderLayout->addWidget(new QLabel(tr("Default Worklist Filter")));
QPushButton* btnFlt = new QPushButton(filterHeader);
filterHeaderLayout->addWidget(btnFlt);
filterHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
layout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Fixed, QSizePolicy::Expanding));
//init
btnPro->setText(JsonObject::Instance()->defaultProtocal());
btnFlt->setText(JsonObject::Instance()->defaultFilter());
connect(btnPro, &QPushButton::clicked, [=]() {
if (!protocal) {
protocal = new SelectDialog(this);
protocal->setWindowModality(Qt::WindowModal);
}
protocal->setAvailableDates(JsonObject::Instance()->protocals());
protocal->setSelectedValue(JsonObject::Instance()->defaultProtocal());
if (protocal->exec() == QDialog::Accepted)
{
QString pro = protocal->getSelectedValue();
//take effect
JsonObject::Instance()->setDefaultProtocal(pro);
btnPro->setText(JsonObject::Instance()->defaultProtocal());
}
});
connect(btnFlt, &QPushButton::clicked, [=]() {
if (!protocal) {
filter = new SelectDialog(this);
filter->setWindowModality(Qt::WindowModal);
}
filter->setAvailableDates(JsonObject::Instance()->worklistFilters());
filter->setSelectedValue(JsonObject::Instance()->defaultFilter());
if (filter->exec() == QDialog::Accepted)
{
QString pro = filter->getSelectedValue();
//take effect
JsonObject::Instance()->setDefaultFilter(pro);
btnFlt->setText(JsonObject::Instance()->defaultFilter());
}
});
}