194 lines
6.7 KiB
C++
194 lines
6.7 KiB
C++
|
|
#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"
|
||
|
|
|
||
|
|
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!"));
|
||
|
|
}
|
||
|
|
}
|