Refactor forms/settings/ package.
This commit is contained in:
194
src/forms/settings/SystemSettingForm.cpp
Normal file
194
src/forms/settings/SystemSettingForm.cpp
Normal file
@@ -0,0 +1,194 @@
|
||||
#include "SystemSettingForm.h"
|
||||
#include "ui_SystemSettingForm.h"
|
||||
|
||||
#include <QPushButton>
|
||||
#include <QToolButton>
|
||||
#include <QGridLayout>
|
||||
|
||||
#include "dialogs/SelectDialog.h"
|
||||
#include "network/NetworkCfgDialog.h"
|
||||
#include "network/DicomCfgDialog.h"
|
||||
#include "network/GetAdminPsw.h"
|
||||
#include "json/jsonobject.h"
|
||||
#include "event/EventCenter.h"
|
||||
#include "device/DeviceManager.h"
|
||||
#include "json/cmdhelper.h"
|
||||
#include "components/ImageSwitch.h"
|
||||
|
||||
SystemSettingForm::SystemSettingForm(QWidget* parent)
|
||||
: QWidget(parent)
|
||||
, mUI(new Ui::SystemSettingForm)
|
||||
, mProtocalSelectDialog(new SelectDialog(this))
|
||||
, mFilterSelectDialog(new SelectDialog(this))
|
||||
, mDiskInfoCaller(nullptr)
|
||||
, mDiskSize(0)
|
||||
, mDiskUsedSize(0)
|
||||
, mDiskSizeFlag(false)
|
||||
, mDiskUsedSizeFlag(false)
|
||||
{
|
||||
mUI->setupUi(this);
|
||||
mProtocalSelectDialog->setWindowModality(Qt::WindowModal);
|
||||
mFilterSelectDialog->setWindowModality(Qt::WindowModal);
|
||||
|
||||
mUI->lbl_size->setText(tr("Loading..."));
|
||||
mUI->lbl_used->setText(tr("Loading..."));
|
||||
|
||||
//style init
|
||||
mUI->btn_dicom->setIcon(QIcon(":/icons/dicomsettings.png"));
|
||||
mUI->btn_dicom->setIconSize(QSize(80, 80));
|
||||
mUI->btn_network->setIcon(QIcon(":/icons/networksettings.png"));
|
||||
mUI->btn_network->setIconSize(QSize(80, 80));
|
||||
mUI->swt_verify->setChecked(true);
|
||||
mUI->lbl_verify->setFixedWidth(100);
|
||||
|
||||
//data init
|
||||
mUI->btnPro->setText(JsonObject::Instance()->defaultProtocal());
|
||||
mUI->btnPro->setObjectName("BigBtn");
|
||||
mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
mUI->btnFlt->setObjectName("BigBtn");
|
||||
|
||||
QGridLayout* gridLayout = (QGridLayout*)mUI->block10->layout();
|
||||
auto scanConfirmButton = new ImageSwitch(this);
|
||||
auto scanConfirmLabel = new QLabel(this);
|
||||
scanConfirmLabel->setText("Scan Confirm");
|
||||
gridLayout->addWidget(scanConfirmButton, 4, 2, 1, 1);
|
||||
gridLayout->addWidget(scanConfirmLabel, 4, 0, 1, 1);
|
||||
scanConfirmButton->setChecked(JsonObject::Instance()->getScanConfirm());
|
||||
QFrame* line5 = new QFrame(this);
|
||||
line5->setFrameShape(QFrame::HLine);
|
||||
line5->setFrameShadow(QFrame::Sunken);
|
||||
gridLayout->addWidget(line5, 5, 0);
|
||||
|
||||
auto scanCompleteButton = new ImageSwitch(this);
|
||||
auto scanCompleteLabel = new QLabel(this);
|
||||
scanCompleteLabel->setText("Complete Notify");
|
||||
gridLayout->addWidget(scanCompleteButton, 6, 2, 1, 1);
|
||||
gridLayout->addWidget(scanCompleteLabel, 6, 0, 1, 1);
|
||||
scanCompleteButton->setChecked(JsonObject::Instance()->getCompleteNotify());
|
||||
QFrame* line6 = new QFrame(this);
|
||||
line6->setFrameShape(QFrame::HLine);
|
||||
line6->setFrameShadow(QFrame::Sunken);
|
||||
gridLayout->addWidget(line6, 7, 0);
|
||||
|
||||
mDiskInfoCaller = QThread::create([=]()
|
||||
{
|
||||
double disksize = 0;
|
||||
mDiskSizeFlag = cmdHelper::Instance()->getDiskSize(disksize);
|
||||
mDiskSize = disksize;
|
||||
updateStorageSize();
|
||||
while (true)
|
||||
{
|
||||
double duse = 0;
|
||||
mDiskUsedSizeFlag = cmdHelper::Instance()->getDiskUsed(duse);
|
||||
mDiskUsedSize = duse;
|
||||
updateStorageUsed();
|
||||
QMetaObject::invokeMethod(mUI->batIcon, "startAnimation", Qt::QueuedConnection);
|
||||
QThread::msleep(30000);
|
||||
}
|
||||
});
|
||||
mDiskInfoCaller->start();
|
||||
|
||||
//connection
|
||||
connect(mUI->swt_verify, &ImageSwitch::clicked, [=]() {
|
||||
if (mUI->swt_verify->getChecked())
|
||||
{
|
||||
////
|
||||
}
|
||||
});
|
||||
connect(scanConfirmButton, &ImageSwitch::clicked, [=]() {
|
||||
JsonObject::Instance()->setScanConfirm(scanConfirmButton->getChecked());
|
||||
});
|
||||
connect(scanCompleteButton, &ImageSwitch::clicked, [=]() {
|
||||
JsonObject::Instance()->setCompleteNotify(scanCompleteButton->getChecked());
|
||||
});
|
||||
connect(mUI->btn_network, &QToolButton::clicked, [=]() {
|
||||
GetAdminPsw dialog(this);
|
||||
if (dialog.exec() == QDialog::Accepted)
|
||||
{
|
||||
JsonObject::Instance()->setPassword(dialog.getPsw());
|
||||
NetworkCfgDialog dia(this);
|
||||
dia.setWindowModality(Qt::WindowModal);
|
||||
dia.exec();
|
||||
}
|
||||
});
|
||||
|
||||
connect(mUI->btn_dicom, &QToolButton::clicked, [=]() {
|
||||
DicomCfgDialog dia(this);
|
||||
dia.setWindowModality(Qt::WindowModal);
|
||||
dia.exec();
|
||||
});
|
||||
|
||||
|
||||
|
||||
connect(mUI->btnPro, &QPushButton::clicked, [=]()
|
||||
{
|
||||
mProtocalSelectDialog->setValues(JsonObject::Instance()->protocals());
|
||||
mProtocalSelectDialog->setSelectedValue(JsonObject::Instance()->defaultProtocal());
|
||||
if (mProtocalSelectDialog->exec() == QDialog::Accepted)
|
||||
{
|
||||
QString pro = mProtocalSelectDialog->getSelectedValue();
|
||||
//take effect
|
||||
JsonObject::Instance()->setDefaultProtocal(pro);
|
||||
mUI->btnPro->setText(JsonObject::Instance()->defaultProtocal());
|
||||
}
|
||||
});
|
||||
|
||||
connect(mUI->btnFlt, &QPushButton::clicked, [=]()
|
||||
{
|
||||
mFilterSelectDialog->setValues(JsonObject::Instance()->worklistFilters());
|
||||
mFilterSelectDialog->setSelectedValue(JsonObject::Instance()->defaultFilter());
|
||||
if (mFilterSelectDialog->exec() == QDialog::Accepted)
|
||||
{
|
||||
QString flt = mFilterSelectDialog->getSelectedValue();
|
||||
//take effect
|
||||
JsonObject::Instance()->setDefaultFilter(flt);
|
||||
mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
}
|
||||
});
|
||||
|
||||
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]()
|
||||
{
|
||||
mUI->retranslateUi(this);
|
||||
mUI->btnPro->setText(JsonObject::Instance()->defaultProtocal());
|
||||
mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
mUI->swt_verify->setChecked(true);
|
||||
updateStorageSize();
|
||||
updateStorageUsed();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
SystemSettingForm::~SystemSettingForm()
|
||||
{
|
||||
mDiskInfoCaller->terminate();
|
||||
delete mDiskInfoCaller;
|
||||
}
|
||||
|
||||
void SystemSettingForm::updateStorageUsed()
|
||||
{
|
||||
if (mDiskUsedSizeFlag)
|
||||
{
|
||||
mUI->batIcon->setValue(mDiskUsedSize);
|
||||
mUI->lbl_used->setText(tr("used:\t%1G").arg(mDiskUsedSize));
|
||||
}
|
||||
else
|
||||
{
|
||||
mUI->lbl_used->setText(tr("Get disk used size fail!"));
|
||||
}
|
||||
}
|
||||
void SystemSettingForm::updateStorageSize()
|
||||
{
|
||||
//bool flag = AppGlobalValues::StorageFlag();
|
||||
if (mDiskSizeFlag)
|
||||
{
|
||||
//double total_size = AppGlobalValues::StorageSize();
|
||||
mUI->batIcon->setMaxValue(mDiskSize);
|
||||
double aValue = (mDiskSize - JsonObject::Instance()->storageAlarmSize().toDouble()) / mDiskSize;
|
||||
mUI->batIcon->setAlarmValue(aValue);
|
||||
mUI->lbl_size->setText(tr("total:\t%1G").arg(mDiskSize));
|
||||
}
|
||||
else
|
||||
{
|
||||
mUI->lbl_size->setText(tr("Get disk total size fail!"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user