Files
GUI/src/systemsettingform.cpp

196 lines
5.1 KiB
C++
Raw Normal View History

2021-12-07 14:13:55 +08:00
#include "systemsettingform.h"
#include "ui_systemsettingform.h"
2021-12-07 14:13:55 +08:00
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QDebug>
#include <QLabel>
#include <QLineEdit>
#include <QEvent>
2021-12-09 10:00:01 +08:00
#include <QToolButton>
2021-12-28 18:23:02 +08:00
2021-12-07 14:13:55 +08:00
#include "SelectDialog.h"
2021-12-13 17:01:17 +08:00
#include "components/imageswitch.h"
#include "network/networkcfgdialog.h"
2021-12-28 18:23:02 +08:00
#include "network/dicomcfgdialog.h"
#include "network/getadminpsw.h"
2021-12-21 16:46:47 +08:00
2021-12-28 18:23:02 +08:00
#include "json/jsonobject.h"
2021-12-21 16:46:47 +08:00
#include "event/EventCenter.h"
2022-01-11 16:58:03 +08:00
#include "device/DeviceManager.h"
#include "json/cmdhelper.h"
#include "appvals/AppGlobalValues.h"
2022-01-11 16:58:03 +08:00
systemSettingForm::systemSettingForm(QWidget* parent) :
QWidget(parent),
ui(new Ui::systemSettingForm)
2021-12-07 14:13:55 +08:00
{
ui->setupUi(this);
2021-12-07 14:13:55 +08:00
ui->lbl_size->setText(tr("Loading..."));
ui->lbl_used->setText(tr("Loading..."));
2022-01-11 16:58:03 +08:00
2021-12-09 10:00:01 +08:00
//style init
2021-12-28 18:23:02 +08:00
//ui->btn_dicom->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
ui->btn_dicom->setIcon(QIcon(":/icons/dicomsettings.png"));
//ui->btn_dicom->setText(tr("DICOM"));
ui->btn_dicom->setIconSize(QSize(80, 80));
2021-12-09 10:00:01 +08:00
2021-12-28 18:23:02 +08:00
//ui->btn_network->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
ui->btn_network->setIcon(QIcon(":/icons/networksettings.png"));
//ui->btn_network->setText(tr("IP"));
ui->btn_network->setIconSize(QSize(80, 80));
2021-12-09 10:00:01 +08:00
2021-12-28 18:23:02 +08:00
ui->swt_verify->setChecked(true);
//ui->btnFlt->setFixedWidth(200);
//ui->btnPro->setFixedWidth(200);
//ui->lbl_protocal->setFixedWidth(100);
ui->lbl_verify->setFixedWidth(100);
2021-12-09 10:00:01 +08:00
//data init
ui->btnPro->setText(JsonObject::Instance()->defaultProtocal());
2021-12-29 14:56:48 +08:00
ui->btnPro->setObjectName("BigBtn");
ui->btnFlt->setText(JsonObject::Instance()->defaultFilter());
2021-12-29 14:56:48 +08:00
ui->btnFlt->setObjectName("BigBtn");
2021-12-07 14:13:55 +08:00
////test begin
//flag_disksize = true;
//m_disksize = 75.0;
////test end
//updateStorageSize();
////test begin
//flag_diskuse = true;
//m_diskuse = 23.0;
////test end
//updateStorageUsed();
diskInfoCaller = QThread::create([=]() {
double disksize = 0;
flag_disksize = cmdHelper::Instance()->getDiskSize(disksize);
m_disksize = disksize;
updateStorageSize();
while (true)
2022-01-11 16:58:03 +08:00
{
double duse = 0;
flag_diskuse = cmdHelper::Instance()->getDiskUsed(duse);
2022-01-11 16:58:03 +08:00
m_diskuse = duse;
updateStorageUsed();
QMetaObject::invokeMethod(ui->batIcon, "startAnimation", Qt::QueuedConnection);
2022-01-14 10:22:36 +08:00
QThread::msleep(30000);
2022-01-11 16:58:03 +08:00
}
});
diskInfoCaller->start();
2022-01-11 16:58:03 +08:00
2021-12-09 10:00:01 +08:00
//connection
connect(ui->swt_verify, &ImageSwitch::clicked, [=]() {
if (ui->swt_verify->getChecked())
{
////
}
});
connect(ui->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();
}
});
2021-12-28 18:23:02 +08:00
connect(ui->btn_dicom, &QToolButton::clicked, [=]() {
dicomCfgDialog dia(this);
dia.setWindowModality(Qt::WindowModal);
dia.exec();
2021-12-09 10:00:01 +08:00
});
2021-12-28 18:23:02 +08:00
connect(ui->btnPro, &QPushButton::clicked, [=]() {
2021-12-09 10:00:01 +08:00
if (!sd_protocal) {
sd_protocal = new SelectDialog(this);
sd_protocal->setWindowModality(Qt::WindowModal);
2021-12-07 14:13:55 +08:00
}
2021-12-09 10:00:01 +08:00
sd_protocal->setAvailableDates(JsonObject::Instance()->protocals());
sd_protocal->setSelectedValue(JsonObject::Instance()->defaultProtocal());
if (sd_protocal->exec() == QDialog::Accepted)
2021-12-07 14:13:55 +08:00
{
2021-12-09 10:00:01 +08:00
QString pro = sd_protocal->getSelectedValue();
2021-12-07 14:13:55 +08:00
//take effect
JsonObject::Instance()->setDefaultProtocal(pro);
ui->btnPro->setText(JsonObject::Instance()->defaultProtocal());
2021-12-07 14:13:55 +08:00
}
});
connect(ui->btnFlt, &QPushButton::clicked, [=]() {
2021-12-09 10:00:01 +08:00
if (!sd_filter) {
sd_filter = new SelectDialog(this);
sd_filter->setWindowModality(Qt::WindowModal);
2021-12-07 14:13:55 +08:00
}
2021-12-09 10:00:01 +08:00
sd_filter->setAvailableDates(JsonObject::Instance()->worklistFilters());
sd_filter->setSelectedValue(JsonObject::Instance()->defaultFilter());
if (sd_filter->exec() == QDialog::Accepted)
2021-12-07 14:13:55 +08:00
{
2021-12-09 10:00:01 +08:00
QString flt = sd_filter->getSelectedValue();
2021-12-07 14:13:55 +08:00
//take effect
2021-12-09 10:00:01 +08:00
JsonObject::Instance()->setDefaultFilter(flt);
ui->btnFlt->setText(JsonObject::Instance()->defaultFilter());
2021-12-07 14:13:55 +08:00
}
});
2021-12-21 16:46:47 +08:00
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]() {
ui->retranslateUi(this);
2021-12-28 18:23:02 +08:00
ui->btnPro->setText(JsonObject::Instance()->defaultProtocal());
ui->btnFlt->setText(JsonObject::Instance()->defaultFilter());
2022-01-04 17:10:14 +08:00
ui->swt_verify->setChecked(true);
updateStorageSize();
updateStorageUsed();
2022-01-11 16:58:03 +08:00
2021-12-21 16:46:47 +08:00
});
2021-12-07 14:13:55 +08:00
}
2022-01-11 16:58:03 +08:00
systemSettingForm::~systemSettingForm()
{
2022-01-14 14:19:56 +08:00
diskInfoCaller->terminate();
// diskInfoCaller->quit();
// diskInfoCaller->wait();
delete diskInfoCaller;
}
void systemSettingForm::updateStorageUsed()
2022-01-11 16:58:03 +08:00
{
if (flag_diskuse)
2022-01-11 16:58:03 +08:00
{
ui->batIcon->setValue(m_diskuse);
ui->lbl_used->setText(tr("used:\t%1G").arg(m_diskuse));
2022-01-11 16:58:03 +08:00
}
else
{
ui->lbl_used->setText(tr("Get disk used size fail!"));
2022-01-11 16:58:03 +08:00
}
}
void systemSettingForm::updateStorageSize()
2022-01-11 16:58:03 +08:00
{
//bool flag = AppGlobalValues::StorageFlag();
if (flag_disksize)
2022-01-11 16:58:03 +08:00
{
//double total_size = AppGlobalValues::StorageSize();
ui->batIcon->setMaxValue(m_disksize);
double aValue = (m_disksize - JsonObject::Instance()->storageAlarmSize().toDouble()) / m_disksize;
ui->batIcon->setAlarmValue(aValue);
ui->lbl_size->setText(tr("total:\t%1G").arg(m_disksize));
2022-01-11 16:58:03 +08:00
}
else
{
ui->lbl_size->setText(tr("Get disk total size fail!"));
2022-01-11 16:58:03 +08:00
}
}