#include "systemsettingform.h" #include "ui_systemsettingform.h" #include #include #include #include #include #include #include #include #include "SelectDialog.h" #include "components/imageswitch.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), ui(new Ui::systemSettingForm) { ui->setupUi(this); //[step] //1)get total size and setMaxValue //2)calculate percent(total-85)/total*100 and setAlarmValue //3)get used size and setValue double dsize; if (cmdHelper::Instance()->getDiskSize(dsize)) { m_disksize = dsize; } else { m_disksize = -1.0; } updateDiskSize(); double duse; if (cmdHelper::Instance()->getDiskUsed(duse)) { m_diskuse = duse; } else { m_diskuse = -1.0; } updateDiskUse(); //style init //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)); //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)); ui->swt_verify->setChecked(true); //ui->btnFlt->setFixedWidth(200); //ui->btnPro->setFixedWidth(200); //ui->lbl_protocal->setFixedWidth(100); ui->lbl_verify->setFixedWidth(100); //data init ui->btnPro->setText(JsonObject::Instance()->defaultProtocal()); ui->btnPro->setObjectName("BigBtn"); ui->btnFlt->setText(JsonObject::Instance()->defaultFilter()); ui->btnFlt->setObjectName("BigBtn"); connect(EventCenter::Default(), &EventCenter::ResponseDeviceStoragement, [=](QObject*) { double duse; if (cmdHelper::Instance()->getDiskUsed(duse)) { m_diskuse = duse; } else { m_diskuse = -1.0; } updateDiskUse(); }); //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(); } }); connect(ui->btn_dicom, &QToolButton::clicked, [=]() { dicomCfgDialog dia(this); dia.setWindowModality(Qt::WindowModal); dia.exec(); }); connect(ui->btnPro, &QPushButton::clicked, [=]() { if (!sd_protocal) { sd_protocal = new SelectDialog(this); sd_protocal->setWindowModality(Qt::WindowModal); } sd_protocal->setAvailableDates(JsonObject::Instance()->protocals()); sd_protocal->setSelectedValue(JsonObject::Instance()->defaultProtocal()); if (sd_protocal->exec() == QDialog::Accepted) { QString pro = sd_protocal->getSelectedValue(); //take effect JsonObject::Instance()->setDefaultProtocal(pro); ui->btnPro->setText(JsonObject::Instance()->defaultProtocal()); } }); connect(ui->btnFlt, &QPushButton::clicked, [=]() { if (!sd_filter) { sd_filter = new SelectDialog(this); sd_filter->setWindowModality(Qt::WindowModal); } sd_filter->setAvailableDates(JsonObject::Instance()->worklistFilters()); sd_filter->setSelectedValue(JsonObject::Instance()->defaultFilter()); if (sd_filter->exec() == QDialog::Accepted) { QString flt = sd_filter->getSelectedValue(); //take effect JsonObject::Instance()->setDefaultFilter(flt); ui->btnFlt->setText(JsonObject::Instance()->defaultFilter()); } }); connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]() { ui->retranslateUi(this); ui->btnPro->setText(JsonObject::Instance()->defaultProtocal()); ui->btnFlt->setText(JsonObject::Instance()->defaultFilter()); ui->swt_verify->setChecked(true); updateDiskSize(); updateDiskUse(); }); } void systemSettingForm::updateDiskSize() { if (m_disksize != -1.0) { 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)); } else { ui->lbl_size->setText(tr("Get disk total size fail!")); } } void systemSettingForm::updateDiskUse() { if (m_diskuse != -1.0) { ui->batIcon->setValue(m_diskuse); ui->lbl_used->setText(tr("used:\t%1G").arg(m_diskuse)); } else { ui->lbl_used->setText(tr("Get disk used size fail!")); } } systemSettingForm::~systemSettingForm() { delete ui; }