Refactor system page in GUI Alpha.
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include <QDebug>
|
||||
#include <QLabel>
|
||||
#include <QEvent>
|
||||
#include <QThread>
|
||||
|
||||
#include "event/EventCenter.h"
|
||||
#include "json/jsonobject.h"
|
||||
@@ -15,7 +16,10 @@
|
||||
#include "utilities/LanguageSwitcher.h"
|
||||
#include "components/ULineEdit.h"
|
||||
#include "components/ListBox.h"
|
||||
#include "components/ImageSwitch.h"
|
||||
#include "components/BatteryWidget.h"
|
||||
#include "log/UserOperationLog.h"
|
||||
#include "utilities/DiskInfoWorker.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
@@ -50,19 +54,19 @@ namespace
|
||||
GeneralForm::GeneralForm(QWidget* aParent)
|
||||
: QWidget(aParent)
|
||||
, mLayout(new QVBoxLayout(this))
|
||||
, mDiskInfoCaller(nullptr)
|
||||
, mDiskSize(0)
|
||||
, mDiskUsedSize(0)
|
||||
, mDiskSizeFlag(false)
|
||||
, mDiskUsedSizeFlag(false)
|
||||
, mDiskInfoWorker(new DiskInfoWorker())
|
||||
, mDiskIcon(new BatteryWidget(this))
|
||||
, mDiskSizeLabel(new QLabel(this))
|
||||
, mDiskUsedLabel(new QLabel(this))
|
||||
{
|
||||
setFocusPolicy(Qt::ClickFocus);
|
||||
QWidget* lanHeader = new QWidget(this);
|
||||
mLayout->addWidget(lanHeader);
|
||||
|
||||
QHBoxLayout* lanHeaderLayout = new QHBoxLayout(lanHeader);
|
||||
QLabel* languageLabel = new QLabel(tr("Language"));
|
||||
lanHeaderLayout->addWidget(languageLabel);
|
||||
|
||||
QToolButton* btnLan = new ListBox(lanHeader);
|
||||
lanHeaderLayout->addWidget(btnLan);
|
||||
lanHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
|
||||
//Institution
|
||||
QWidget* instHeader = new QWidget(this);
|
||||
mLayout->addWidget(instHeader);
|
||||
QHBoxLayout* instHeaderLayout = new QHBoxLayout(instHeader);
|
||||
@@ -72,7 +76,6 @@ GeneralForm::GeneralForm(QWidget* aParent)
|
||||
instName->setMaximumSize(QSize(300, 32768));
|
||||
instHeaderLayout->addWidget(instName);
|
||||
instHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Fixed));
|
||||
|
||||
QLabel* institutionAddressLabel = new QLabel(tr("Institution Addr"));
|
||||
instHeaderLayout->addWidget(institutionAddressLabel);
|
||||
QLineEdit* instAddr = new ULineEdit(instHeader);
|
||||
@@ -80,42 +83,111 @@ GeneralForm::GeneralForm(QWidget* aParent)
|
||||
instAddr->setMaximumSize(QSize(300, 32768));
|
||||
instHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
|
||||
//Language
|
||||
QWidget* lanHeader = new QWidget(this);
|
||||
mLayout->addWidget(lanHeader);
|
||||
QHBoxLayout* lanHeaderLayout = new QHBoxLayout(lanHeader);
|
||||
QLabel* languageLabel = new QLabel(tr("Language"));
|
||||
lanHeaderLayout->addWidget(languageLabel);
|
||||
lanHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
QToolButton* btnLan = new ListBox(lanHeader);
|
||||
lanHeaderLayout->addWidget(btnLan);
|
||||
lanHeaderLayout->addSpacerItem(new QSpacerItem(1220, 20, QSizePolicy::Fixed));
|
||||
|
||||
//Lock Screen
|
||||
QWidget* lockHeader = new QWidget(this);
|
||||
mLayout->addWidget(lockHeader);
|
||||
QHBoxLayout* lockHeaderLayout = new QHBoxLayout(lockHeader);
|
||||
|
||||
QLabel* lockScreenLabel = new QLabel(tr("Lock Screen"));
|
||||
lockHeaderLayout->addWidget(lockScreenLabel);
|
||||
|
||||
lockHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
ListBox* lockTime = new ListBox(lockHeader);
|
||||
lockHeaderLayout->addWidget(lockTime);
|
||||
lockHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
lockHeaderLayout->addSpacerItem(new QSpacerItem(1220, 20, QSizePolicy::Fixed));
|
||||
|
||||
QWidget* shutdownHeader = new QWidget(this);
|
||||
mLayout->addWidget(shutdownHeader);
|
||||
QHBoxLayout* shutdownHeaderLayout = new QHBoxLayout(shutdownHeader);
|
||||
QToolButton* shutdownButton = new QToolButton(this);
|
||||
shutdownButton->setText(tr("Shut Down"));
|
||||
shutdownHeaderLayout->addWidget(shutdownButton);
|
||||
shutdownHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
connect(shutdownButton, &QToolButton::clicked, []()
|
||||
{
|
||||
if(DialogManager::Default()->requestAlertMessage(QString(tr("Shut down now ?")), DialogButtonMode::OkAndCancel,tr("Shut Down")) == QDialog::Accepted)
|
||||
{
|
||||
LOG_USER_OPERATION("Shut Down")
|
||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestShutdown, nullptr, nullptr);
|
||||
}
|
||||
});
|
||||
//Scan Protocol
|
||||
QWidget* scanProtocolHeader = new QWidget(this);
|
||||
mLayout->addWidget(scanProtocolHeader);
|
||||
QHBoxLayout* scanProtocalHeaderLayout = new QHBoxLayout(scanProtocolHeader);
|
||||
QLabel* scanProtocolLabel = new QLabel(tr("Scan Protocol"), this);
|
||||
scanProtocalHeaderLayout->addWidget(scanProtocolLabel);
|
||||
scanProtocalHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
ListBox* scanProtocolButton = new ListBox(scanProtocolHeader);
|
||||
scanProtocolButton->setText(tr(JsonObject::Instance()->defaultProtocal().toStdString().c_str()));
|
||||
scanProtocalHeaderLayout->addWidget(scanProtocolButton);
|
||||
scanProtocalHeaderLayout->addSpacerItem(new QSpacerItem(1220, 20, QSizePolicy::Fixed));
|
||||
|
||||
//Complete Notify
|
||||
QWidget* scanCompleteHeader = new QWidget(this);
|
||||
mLayout->addWidget(scanCompleteHeader);
|
||||
QHBoxLayout* scanCompleteHeaderLayout = new QHBoxLayout(scanCompleteHeader);
|
||||
auto scanCompleteButton = new ImageSwitch(this);
|
||||
auto scanCompleteLabel = new QLabel(this);
|
||||
scanCompleteLabel->setText(tr("Complete Notify"));
|
||||
scanCompleteHeaderLayout->addWidget(scanCompleteLabel);
|
||||
scanCompleteHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
scanCompleteHeaderLayout->addWidget(scanCompleteButton);
|
||||
scanCompleteButton->setChecked(JsonObject::Instance()->getCompleteNotify());
|
||||
scanCompleteHeaderLayout->addSpacerItem(new QSpacerItem(1220, 20, QSizePolicy::Fixed));
|
||||
|
||||
//Anonymous
|
||||
QWidget* anonyHeader = new QWidget(this);
|
||||
mLayout->addWidget(anonyHeader);
|
||||
QHBoxLayout* anonyHeaderLayout = new QHBoxLayout(anonyHeader);
|
||||
QLabel* anonyLabel = new QLabel(tr("Anonymous Mode"), this);
|
||||
anonyHeaderLayout->addWidget(anonyLabel);
|
||||
anonyHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
ImageSwitch* anonyButton = new ImageSwitch(anonyHeader);
|
||||
anonyButton->setChecked(JsonObject::Instance()->getAnonymousMode());
|
||||
anonyHeaderLayout->addWidget(anonyButton);
|
||||
anonyHeaderLayout->addSpacerItem(new QSpacerItem(1220, 20, QSizePolicy::Fixed));
|
||||
|
||||
//Screen Saver
|
||||
QWidget* screenSaverHeader = new QWidget(this);
|
||||
mLayout->addWidget(screenSaverHeader);
|
||||
QHBoxLayout* screenSaverHeaderLayout = new QHBoxLayout(screenSaverHeader);
|
||||
QLabel* screenSaverLabel = new QLabel(tr("Screen Saver"), this);
|
||||
screenSaverHeaderLayout->addWidget(screenSaverLabel);
|
||||
screenSaverHeaderLayout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
ImageSwitch* screenSaverButton = new ImageSwitch(screenSaverHeader);
|
||||
screenSaverButton->setChecked(JsonObject::Instance()->getScreenSaverMode());
|
||||
screenSaverHeaderLayout->addWidget(screenSaverButton);
|
||||
screenSaverHeaderLayout->addSpacerItem(new QSpacerItem(1220, 20, QSizePolicy::Fixed));
|
||||
|
||||
//DiskIcon
|
||||
QWidget* diskHeader = new QWidget(this);
|
||||
QWidget* diskContent = new QWidget(this);
|
||||
QWidget* diskLabelContent = new QWidget(this);
|
||||
mLayout->addWidget(diskHeader);
|
||||
QVBoxLayout* diskHeaderLayout = new QVBoxLayout(diskHeader);
|
||||
QHBoxLayout* diskContentLayout = new QHBoxLayout(diskContent);
|
||||
QVBoxLayout* diskLabelContentLayout = new QVBoxLayout(diskLabelContent);
|
||||
diskLabelContentLayout->addWidget(mDiskSizeLabel);
|
||||
diskLabelContentLayout->addWidget(mDiskUsedLabel);
|
||||
diskContentLayout->addWidget(mDiskIcon);
|
||||
diskContentLayout->addWidget(diskLabelContent);
|
||||
auto diskLabel = new QLabel(this);
|
||||
diskLabel->setText(tr("Disk Storage"));
|
||||
diskHeaderLayout->addWidget(diskLabel);
|
||||
diskHeaderLayout->addWidget(diskContent);
|
||||
|
||||
mDiskInfoCaller = new QThread(this);
|
||||
mDiskInfoWorker->moveToThread(mDiskInfoCaller);
|
||||
connect(mDiskInfoWorker, &DiskInfoWorker::diskInfoBack, this, &GeneralForm::updateDiskInfo);
|
||||
connect(mDiskInfoWorker, &DiskInfoWorker::diskInfoInit, this, &GeneralForm::initDiskInfo);
|
||||
connect(mDiskInfoCaller, &QThread::finished, mDiskInfoWorker, &DiskInfoWorker::deleteLater);
|
||||
|
||||
mDiskInfoCaller->start();
|
||||
QMetaObject::invokeMethod(mDiskInfoWorker, "initDiskInfo", Qt::QueuedConnection);
|
||||
|
||||
//...
|
||||
mLayout->addSpacerItem(new QSpacerItem(20, 300, QSizePolicy::Minimum, QSizePolicy::Expanding));
|
||||
|
||||
//init
|
||||
btnLan->setText(JsonObject::Instance()->defaultLanguage());
|
||||
btnLan->setText(tr(JsonObject::Instance()->defaultLanguage().toStdString().c_str()));
|
||||
instName->setText(JsonObject::Instance()->institutionName());
|
||||
instAddr->setText(JsonObject::Instance()->institutionAddr());
|
||||
lockTime->setText(toTimeString(JsonObject::Instance()->lockScreenTimeout().toInt()));
|
||||
lockTime->setText(tr(JsonObject::Instance()->defaultLockScreenTime().toStdString().c_str()));
|
||||
//connection
|
||||
connect(instName, &QLineEdit::textChanged, [=](const QString& str)
|
||||
{
|
||||
@@ -129,30 +201,30 @@ GeneralForm::GeneralForm(QWidget* aParent)
|
||||
connect(lockTime, &QToolButton::clicked, [=]()
|
||||
{
|
||||
//take effect
|
||||
int second = JsonObject::Instance()->lockScreenTimeout().toInt();
|
||||
DialogResult result = DialogManager::Default()->requestSelectTime(second);
|
||||
//int second = JsonObject::Instance()->lockScreenTimeout().toInt();
|
||||
DialogResult result = DialogManager::Default()->requestSelectLockScreenTime();
|
||||
if (result.ResultCode == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
second = result.ResultData.toInt();
|
||||
LOG_USER_OPERATION(QString("Set Screen Lock Time to %1 seconds").arg(second))
|
||||
if(second == 0)
|
||||
{
|
||||
JsonObject::Instance()->setLockScreenTimeout(QString::number(second));
|
||||
lockTime->setText(toTimeString(second));
|
||||
Locker::getInstance()->setTimer(-1);
|
||||
Locker::getInstance()->setIsEnable(false);
|
||||
return;
|
||||
}
|
||||
//second = result.ResultData.toInt();
|
||||
//LOG_USER_OPERATION(QString("Set Screen Lock Time to %1 seconds").arg(second))
|
||||
// if(second == 0)
|
||||
// {
|
||||
// JsonObject::Instance()->setLockScreenTimeout(QString::number(second));
|
||||
// lockTime->setText(toTimeString(second));
|
||||
// Locker::getInstance()->setTimer(-1);
|
||||
// Locker::getInstance()->setIsEnable(false);
|
||||
// return;
|
||||
// }
|
||||
|
||||
if (MINIMUM_LOCKTIME < second)
|
||||
{
|
||||
JsonObject::Instance()->setLockScreenTimeout(QString::number(second));
|
||||
Locker::getInstance()->setTimer(second * 1000);
|
||||
Locker::getInstance()->setIsEnable(true);
|
||||
lockTime->setText(toTimeString(second));
|
||||
}
|
||||
// if (MINIMUM_LOCKTIME < second)
|
||||
// {
|
||||
// JsonObject::Instance()->setLockScreenTimeout(QString::number(second));
|
||||
// Locker::getInstance()->setTimer(second * 1000);
|
||||
// Locker::getInstance()->setIsEnable(true);
|
||||
// lockTime->setText(toTimeString(second));
|
||||
// }
|
||||
|
||||
});
|
||||
|
||||
@@ -166,7 +238,7 @@ GeneralForm::GeneralForm(QWidget* aParent)
|
||||
//take effect
|
||||
JsonObject::Instance()->setDefaultLanguage(language);
|
||||
LanguageSwitcher::getInstance()->setDefaultLanguage(language);
|
||||
btnLan->setText(JsonObject::Instance()->defaultLanguage());
|
||||
btnLan->setText(tr(JsonObject::Instance()->defaultLanguage().toStdString().c_str()));
|
||||
LOG_USER_OPERATION(QString("Change Language to %1").arg(language))
|
||||
}
|
||||
});
|
||||
@@ -177,5 +249,95 @@ GeneralForm::GeneralForm(QWidget* aParent)
|
||||
institutionNameLabel->setText(tr("Institution Addr"));
|
||||
institutionAddressLabel->setText(tr("Institution Addr"));
|
||||
lockScreenLabel->setText(tr("Lock Screen"));
|
||||
scanProtocolLabel->setText(tr("Scan Protocol"));
|
||||
scanCompleteLabel->setText(tr("Complete Notify"));
|
||||
anonyLabel->setText(tr("Anonymous Mode"));
|
||||
screenSaverLabel->setText(tr("Screen Saver"));
|
||||
diskLabel->setText(tr("Disk Storage"));
|
||||
anonyButton->setChecked(JsonObject::Instance()->getAnonymousMode());
|
||||
scanProtocolButton->setText(tr(JsonObject::Instance()->defaultProtocal().toStdString().c_str()));
|
||||
updateStorageSize();
|
||||
updateStorageUsed();
|
||||
});
|
||||
|
||||
connect(anonyButton, &ImageSwitch::clicked, [=]() {
|
||||
JsonObject::Instance()->setAnonymousMode(anonyButton->getChecked());
|
||||
EventCenter::Default()->triggerEvent(AnonymousModeChanged,this,nullptr);
|
||||
});
|
||||
|
||||
connect(screenSaverButton, &ImageSwitch::clicked, [=]() {
|
||||
JsonObject::Instance()->setScreenSaverMode(screenSaverButton->getChecked());
|
||||
});
|
||||
|
||||
connect(scanProtocolButton, &QPushButton::clicked, [=]()
|
||||
{
|
||||
DialogResult result = DialogManager::Default()->requestSelectProtocal();
|
||||
if (result.ResultCode == QDialog::Accepted)
|
||||
{
|
||||
QString pro = result.ResultData.toString();
|
||||
//take effect
|
||||
JsonObject::Instance()->setDefaultProtocal(pro);
|
||||
scanProtocolButton->setText(tr(JsonObject::Instance()->defaultProtocal().toStdString().c_str()));
|
||||
}
|
||||
});
|
||||
|
||||
connect(scanCompleteButton, &ImageSwitch::clicked, [=]()
|
||||
{
|
||||
JsonObject::Instance()->setCompleteNotify(scanCompleteButton->getChecked());
|
||||
});
|
||||
}
|
||||
|
||||
GeneralForm::~GeneralForm()
|
||||
{
|
||||
mDiskInfoCaller->quit();
|
||||
mDiskInfoCaller->wait();
|
||||
mDiskInfoCaller->deleteLater();
|
||||
}
|
||||
|
||||
void GeneralForm::initDiskInfo(bool aFlag, double aTotalSize, double aUsedSize)
|
||||
{
|
||||
mDiskSizeFlag = aFlag;
|
||||
mDiskSize = aTotalSize;
|
||||
mDiskUsedSize = aUsedSize;
|
||||
mDiskUsedSizeFlag = aFlag;
|
||||
updateStorageSize();
|
||||
updateStorageUsed();
|
||||
QMetaObject::invokeMethod(mDiskIcon, "startAnimation", Qt::DirectConnection);
|
||||
}
|
||||
|
||||
|
||||
void GeneralForm::updateDiskInfo(bool aFlag, double aUsedSize)
|
||||
{
|
||||
mDiskUsedSizeFlag = aFlag;
|
||||
mDiskUsedSize = aUsedSize;
|
||||
updateStorageUsed();
|
||||
QMetaObject::invokeMethod(mDiskIcon, "startAnimation", Qt::DirectConnection);
|
||||
}
|
||||
|
||||
void GeneralForm::updateStorageUsed()
|
||||
{
|
||||
if (mDiskUsedSizeFlag)
|
||||
{
|
||||
mDiskIcon->setValue(mDiskUsedSize);
|
||||
mDiskUsedLabel->setText(tr("Used:\t%1G").arg(mDiskUsedSize));
|
||||
}
|
||||
else
|
||||
{
|
||||
mDiskUsedLabel->setText(tr("Get disk used size fail!"));
|
||||
}
|
||||
}
|
||||
|
||||
void GeneralForm::updateStorageSize()
|
||||
{
|
||||
if (mDiskSizeFlag)
|
||||
{
|
||||
mDiskIcon->setMaxValue(mDiskSize);
|
||||
double aValue = JsonObject::Instance()->storageAlarmSize().toDouble();
|
||||
mDiskIcon->setAlarmValue(aValue);
|
||||
mDiskSizeLabel->setText(tr("Total:\t%1G").arg(mDiskSize));
|
||||
}
|
||||
else
|
||||
{
|
||||
mDiskSizeLabel->setText(tr("Get disk total size fail!"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
#include <QWidget>
|
||||
|
||||
class QVBoxLayout;
|
||||
class DiskInfoWorker;
|
||||
class BatteryWidget;
|
||||
class QLabel;
|
||||
|
||||
class GeneralForm : public QWidget
|
||||
{
|
||||
@@ -11,9 +14,27 @@ class GeneralForm : public QWidget
|
||||
|
||||
public:
|
||||
explicit GeneralForm(QWidget* aParent = nullptr);
|
||||
~GeneralForm();
|
||||
|
||||
private:
|
||||
void updateStorageSize();
|
||||
void updateStorageUsed();
|
||||
void updateDiskInfo(bool aFlag, double aUsedSize);
|
||||
void initDiskInfo(bool aFlag, double aTotalSize, double aUsedSize);
|
||||
|
||||
|
||||
private:
|
||||
QVBoxLayout* mLayout;
|
||||
QThread* mDiskInfoCaller;
|
||||
|
||||
double mDiskSize;
|
||||
double mDiskUsedSize;
|
||||
bool mDiskSizeFlag;
|
||||
bool mDiskUsedSizeFlag;
|
||||
DiskInfoWorker* mDiskInfoWorker;
|
||||
BatteryWidget* mDiskIcon;
|
||||
QLabel* mDiskSizeLabel;
|
||||
QLabel* mDiskUsedLabel;
|
||||
};
|
||||
|
||||
#endif // GENERALFORM_H
|
||||
#endif // GENERALFORM_H
|
||||
|
||||
28
src/forms/settings/HelpForm.cpp
Normal file
28
src/forms/settings/HelpForm.cpp
Normal file
@@ -0,0 +1,28 @@
|
||||
#include "HelpForm.h"
|
||||
|
||||
#include <QWebEngineView>
|
||||
#include <QWebChannel>
|
||||
#include <QWebEnginePage>
|
||||
#include <QVBoxLayout>
|
||||
#include <QWebEngineProfile>
|
||||
|
||||
HelpForm::HelpForm(QWidget* aParent)
|
||||
: QWidget(aParent)
|
||||
, mPdfWidget(new QWebEngineView(this))
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
HelpForm::~HelpForm()
|
||||
{
|
||||
}
|
||||
|
||||
void HelpForm::init()
|
||||
{
|
||||
mPdfWidget->setUrl(QUrl("file:///home/sun/GUI/web/web/viewer.html?file=file:///home/sun/GUI/web/web/compressed.tracemonkey-pldi-09.pdf"));
|
||||
QWebChannel * channel = new QWebChannel(this);
|
||||
channel->registerObject(QStringLiteral("communicator"), new QObject(this));
|
||||
mPdfWidget->page()->setWebChannel(channel);
|
||||
QVBoxLayout* layout = new QVBoxLayout(this);
|
||||
layout->addWidget(mPdfWidget);
|
||||
}
|
||||
23
src/forms/settings/HelpForm.h
Normal file
23
src/forms/settings/HelpForm.h
Normal file
@@ -0,0 +1,23 @@
|
||||
#ifndef HELPFORM_H
|
||||
#define HELPFORM_H
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
class QWebEngineView;
|
||||
|
||||
class HelpForm : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit HelpForm(QWidget* aParent = nullptr);
|
||||
~HelpForm();
|
||||
|
||||
private:
|
||||
void init();
|
||||
|
||||
private:
|
||||
QWebEngineView* mPdfWidget;
|
||||
};
|
||||
|
||||
#endif // HELPFORM_H
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <QHBoxLayout>
|
||||
#include <QStackedWidget>
|
||||
#include <QStringListModel>
|
||||
#include <QListWidgetItem>
|
||||
#include <QListWidget>
|
||||
|
||||
#include "ui_TabFormWidget.h"
|
||||
@@ -18,6 +19,8 @@
|
||||
#include "json/jsonobject.h"
|
||||
#include "AboutForm.h"
|
||||
#include "UserOperationLogForm.h"
|
||||
#include "SystemCorrectionForm.h"
|
||||
#include "HelpForm.h"
|
||||
|
||||
SettingFormWidget::SettingFormWidget(QWidget* aParent, Qt::WindowFlags f)
|
||||
: TabFormWidget(aParent)
|
||||
@@ -30,7 +33,7 @@ SettingFormWidget::SettingFormWidget(QWidget* aParent, Qt::WindowFlags f)
|
||||
widget->setObjectName("LeftBtnBar");
|
||||
widget->setFixedWidth(250);
|
||||
QStringList menus;
|
||||
menus << tr("General") << tr("Account") << tr("System") << tr("About") << tr("Operation Log");
|
||||
menus << tr("System Correction") << tr("Network Settings") << tr("General") << tr("Operation Log") << tr("Account") << tr("About") << tr("Help");
|
||||
widget->addItems(menus);
|
||||
widget->setSpacing(3);
|
||||
for (int i = 0; i < menus.count(); ++i)
|
||||
@@ -39,7 +42,7 @@ SettingFormWidget::SettingFormWidget(QWidget* aParent, Qt::WindowFlags f)
|
||||
}
|
||||
layout->addWidget(widget);
|
||||
//reset visible for AnonymousMode
|
||||
widget->item(4)->setHidden(JsonObject::Instance()->getAnonymousMode());
|
||||
widget->item(3)->setHidden(JsonObject::Instance()->getAnonymousMode());
|
||||
QStackedWidget* stackedWidget = new QStackedWidget(ui->contentWidget);
|
||||
|
||||
QWidget* spacerLine = new QWidget(this);
|
||||
@@ -48,38 +51,51 @@ SettingFormWidget::SettingFormWidget(QWidget* aParent, Qt::WindowFlags f)
|
||||
layout->addWidget(stackedWidget);
|
||||
ui->commandWidget->hide();
|
||||
|
||||
GeneralForm* generalForm = new GeneralForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(generalForm);
|
||||
|
||||
AccountTableForm* acc = new AccountTableForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(acc);
|
||||
SystemCorrectionForm* systemCorrectionForm = new SystemCorrectionForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(systemCorrectionForm);
|
||||
|
||||
SystemSettingForm* systemSetting = new SystemSettingForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(systemSetting);
|
||||
|
||||
AboutForm* about = new AboutForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(about);
|
||||
GeneralForm* generalForm = new GeneralForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(generalForm);
|
||||
|
||||
UserOperationLogForm* operationLog = new UserOperationLogForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(operationLog);
|
||||
|
||||
AccountTableForm* acc = new AccountTableForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(acc);
|
||||
|
||||
AboutForm* about = new AboutForm(ui->commandWidget);
|
||||
stackedWidget->addWidget(about);
|
||||
|
||||
//HelpForm* help = new HelpForm(ui->commandWidget);
|
||||
//stackedWidget->addWidget(help);
|
||||
|
||||
widget->setCurrentRow(0);
|
||||
connect(widget, &QListWidget::currentRowChanged, [=](int rowindex) {
|
||||
connect(widget, &QListWidget::currentRowChanged, [=](int rowindex)
|
||||
{
|
||||
if(widget->item(rowindex)->text() == tr("Help") && stackedWidget->widget(rowindex) == nullptr)
|
||||
{
|
||||
stackedWidget->addWidget(new HelpForm(ui->commandWidget));
|
||||
}
|
||||
stackedWidget->setCurrentIndex(rowindex);
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::AnonymousModeChanged, [=]() {
|
||||
widget->item(4)->setHidden(JsonObject::Instance()->getAnonymousMode());
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]() {
|
||||
connect(EventCenter::Default(), &EventCenter::AnonymousModeChanged, [=]()
|
||||
{
|
||||
widget->item(3)->setHidden(JsonObject::Instance()->getAnonymousMode());
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]()
|
||||
{
|
||||
QStringList menus;
|
||||
menus << tr("General") << tr("Account") << tr("System") << tr("About") << tr("Operation Log");
|
||||
menus << tr("System Correction") << tr("Network Settings") << tr("General") << tr("Operation Log") << tr("Account") << tr("About") << tr("Help") ;
|
||||
widget->clear();
|
||||
widget->addItems(menus);
|
||||
for (int i = 0; i < menus.count(); ++i)
|
||||
{
|
||||
widget->item(i)->setTextAlignment(Qt::AlignCenter);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
SettingFormWidget::~SettingFormWidget()
|
||||
|
||||
99
src/forms/settings/SystemCorrectionForm.cpp
Normal file
99
src/forms/settings/SystemCorrectionForm.cpp
Normal file
@@ -0,0 +1,99 @@
|
||||
#include "SystemCorrectionForm.h"
|
||||
#include "db/SQLHelper.h"
|
||||
#include "event/EventCenter.h"
|
||||
|
||||
#include <QVBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QDate>
|
||||
#include <QSpacerItem>
|
||||
#include <QPushButton>
|
||||
|
||||
SystemCorrectionForm::SystemCorrectionForm(QWidget* aParent)
|
||||
: QWidget(aParent)
|
||||
{
|
||||
setObjectName("SystemCorrectionForm");
|
||||
init();
|
||||
}
|
||||
|
||||
SystemCorrectionForm::~SystemCorrectionForm()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SystemCorrectionForm::init()
|
||||
{
|
||||
QVBoxLayout* vboxLayout = new QVBoxLayout(this);
|
||||
|
||||
QLabel* title = new QLabel(this);
|
||||
title->setObjectName("SystemCorrectionTitle");
|
||||
title->setAlignment(Qt::AlignLeft);
|
||||
title->setText(tr("Scan Preparation"));
|
||||
vboxLayout->addWidget(title);
|
||||
|
||||
QLabel* endline = new QLabel(this);
|
||||
endline->setObjectName("endline");
|
||||
endline->setFixedHeight(3);
|
||||
vboxLayout->addWidget(endline);
|
||||
|
||||
QLabel* emptyScanTitle = new QLabel(this);
|
||||
emptyScanTitle->setObjectName("EmptyScanTitle");
|
||||
emptyScanTitle->setText(tr("Empty Scan"));
|
||||
emptyScanTitle->setAlignment(Qt::AlignCenter);
|
||||
vboxLayout->addWidget(emptyScanTitle);
|
||||
|
||||
QLabel* emptyScanDescribe = new QLabel(this);
|
||||
emptyScanDescribe->setWordWrap(true);
|
||||
emptyScanDescribe->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
|
||||
emptyScanDescribe->setText(tr("Empty water scanning involves collecting ultrasound data while the tank is filled with water and free of any objects. It is essential to ensure that the tank is fully filled with water and devoid of any objects before conducting the scan. The purpose of collecting empty water data is to obtain baseline information on the time and energy variations of ultrasound propagation inside the inspection tank. This information is utilized for reconstructing reference data for transmission ultrasound imaging. Additionally, empty water data can be utilized for system status assessment and spatial calibration of the system. Therefore, empty water scanning should be performed regularly, with a frequency of once every month."));
|
||||
vboxLayout->addWidget(emptyScanDescribe);
|
||||
|
||||
endline = new QLabel(this);
|
||||
endline->setObjectName("endline");
|
||||
endline->setFixedHeight(3);
|
||||
vboxLayout->addWidget(endline);
|
||||
|
||||
QLabel* currentEmptyScanDate = new QLabel(this);
|
||||
QDate lastScanDate = SQLHelper::queryValue("SELECT ScanDateTime FROM EScan ORDER BY ScanDateTime DESC LIMIT 1").toDate();
|
||||
currentEmptyScanDate->setText(tr("Current date for Empty Scanning %1-%2-%3").arg(lastScanDate.year()).arg(lastScanDate.month()).arg(lastScanDate.day()));
|
||||
vboxLayout->addWidget(currentEmptyScanDate);
|
||||
|
||||
QLabel* expirationEmptyScanDate = new QLabel(this);
|
||||
QDate expirationScanDate = lastScanDate.addMonths(1);
|
||||
QDate currentDate = QDate::currentDate();
|
||||
QString dateText = tr("%1-%2-%3").arg(expirationScanDate.year()).arg(expirationScanDate.month()).arg(expirationScanDate.day());;
|
||||
QString dateFormat = currentDate.daysTo(expirationScanDate) < 3 ? QString("<font color='red'> %1</font>").arg(dateText) : QString(" %1").arg(dateText);
|
||||
expirationEmptyScanDate->setText(tr("Expiration date for Empty Scanning %1").arg(dateFormat));
|
||||
vboxLayout->addWidget(expirationEmptyScanDate);
|
||||
|
||||
QWidget* emptyScanButtonArea = new QWidget(this);
|
||||
QHBoxLayout* emptyScanButtonLayout = new QHBoxLayout(emptyScanButtonArea);
|
||||
QPushButton* emptyScanButton = new QPushButton(this);
|
||||
emptyScanButton->setText(tr("Excute empty scan"));
|
||||
emptyScanButton->setFixedWidth(250);
|
||||
emptyScanButtonLayout->addWidget(emptyScanButton);
|
||||
emptyScanButtonLayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
|
||||
vboxLayout->addWidget(emptyScanButtonArea);
|
||||
|
||||
endline = new QLabel(this);
|
||||
endline->setObjectName("endline");
|
||||
endline->setFixedHeight(3);
|
||||
vboxLayout->addWidget(endline);
|
||||
|
||||
vboxLayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Expanding));
|
||||
|
||||
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]()
|
||||
{
|
||||
title->setText(tr("Scan Preparation"));
|
||||
emptyScanTitle->setText(tr("Empty Scan"));
|
||||
emptyScanDescribe->setText(tr("Empty water scanning involves collecting ultrasound data while the tank is filled with water and free of any objects. It is essential to ensure that the tank is fully filled with water and devoid of any objects before conducting the scan. The purpose of collecting empty water data is to obtain baseline information on the time and energy variations of ultrasound propagation inside the inspection tank. This information is utilized for reconstructing reference data for transmission ultrasound imaging. Additionally, empty water data can be utilized for system status assessment and spatial calibration of the system. Therefore, empty water scanning should be performed regularly, with a frequency of once every month."));
|
||||
currentEmptyScanDate->setText(tr("Current date for Empty Scanning %1-%2-%3").arg(lastScanDate.year()).arg(lastScanDate.month()).arg(lastScanDate.day()));
|
||||
expirationEmptyScanDate->setText(tr("Expiration date for Empty Scanning %1").arg(dateFormat));
|
||||
});
|
||||
|
||||
connect(emptyScanButton, &QPushButton::clicked, []()
|
||||
{
|
||||
QString null;
|
||||
EventCenter::Default()->triggerEvent(RequestEmptyScan, nullptr, (QObject*)&null);
|
||||
});
|
||||
|
||||
}
|
||||
18
src/forms/settings/SystemCorrectionForm.h
Normal file
18
src/forms/settings/SystemCorrectionForm.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef SYSTEMCORRECTIONFORM_H
|
||||
#define SYSTEMCORRECTIONFORM_H
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
class SystemCorrectionForm : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SystemCorrectionForm(QWidget* aParent = nullptr);
|
||||
~SystemCorrectionForm();
|
||||
|
||||
private:
|
||||
void init();
|
||||
};
|
||||
|
||||
#endif // SYSTEMCORRECTIONFORM_H
|
||||
@@ -13,137 +13,93 @@
|
||||
#include "recon/ReconManager.h"
|
||||
#include "json/cmdhelper.h"
|
||||
#include "components/ListBox.h"
|
||||
#include "components/ImageSwitch.h"
|
||||
|
||||
SystemSettingForm::SystemSettingForm(QWidget* parent)
|
||||
: QWidget(parent)
|
||||
, mUI(new Ui::SystemSettingForm)
|
||||
, mDiskInfoCaller(nullptr)
|
||||
, mDiskSize(0)
|
||||
, mDiskUsedSize(0)
|
||||
, mDiskSizeFlag(false)
|
||||
, mDiskUsedSizeFlag(false)
|
||||
{
|
||||
mUI->setupUi(this);
|
||||
|
||||
mUI->lbl_size->setText(tr("Loading..."));
|
||||
mUI->lbl_used->setText(tr("Loading..."));
|
||||
|
||||
//style init
|
||||
mUI->btnDICOM->setObjectName("btnDICOM");
|
||||
//mUI->btnDICOM->setObjectName("btnDICOM");
|
||||
mUI->mWorklistButton->setObjectName("worklistSettingsButton");
|
||||
mUI->mPacsButton->setObjectName("pacsSettingsButton");
|
||||
mUI->mReconButton->setObjectName("reconSettingsButton");
|
||||
mUI->mMppsButton->setObjectName("mppsSettingsButton");
|
||||
mUI->btnNetwork->setObjectName("btnNetwork");
|
||||
mUI->AnonyButton->setChecked(JsonObject::Instance()->getAnonymousMode());
|
||||
// mUI->lbl_verify->setFixedWidth(100);
|
||||
|
||||
mUI->mWorklistButton->setMaximumWidth(200);
|
||||
mUI->mPacsButton->setMaximumWidth(200);
|
||||
mUI->mReconButton->setMaximumWidth(200);
|
||||
mUI->mMppsButton->setMaximumWidth(200);
|
||||
mUI->btnNetwork->setMaximumWidth(200);
|
||||
|
||||
|
||||
//data init
|
||||
mUI->btnPro->setText(JsonObject::Instance()->defaultProtocal());
|
||||
mUI->btnPro->setObjectName("ListBox");
|
||||
mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
mUI->btnFlt->setObjectName("ListBox");
|
||||
// mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
// mUI->btnFlt->setObjectName("ListBox");
|
||||
|
||||
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([=]()
|
||||
connect(mUI->btnNetwork, &QToolButton::clicked, [=]()
|
||||
{
|
||||
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->AnonyButton, &ImageSwitch::clicked, [=]() {
|
||||
JsonObject::Instance()->setAnonymousMode(mUI->AnonyButton->getChecked());
|
||||
EventCenter::Default()->triggerEvent(AnonymousModeChanged,this,nullptr);
|
||||
});
|
||||
connect(scanConfirmButton, &ImageSwitch::clicked, [=]() {
|
||||
JsonObject::Instance()->setScanConfirm(scanConfirmButton->getChecked());
|
||||
});
|
||||
connect(scanCompleteButton, &ImageSwitch::clicked, [=]() {
|
||||
JsonObject::Instance()->setCompleteNotify(scanCompleteButton->getChecked());
|
||||
});
|
||||
connect(mUI->btnNetwork, &QToolButton::clicked, [=]() {
|
||||
auto result = DialogManager::Default()->requestInputAdminPasswd();
|
||||
if (result.ResultCode == QDialog::Accepted)
|
||||
{
|
||||
JsonObject::Instance()->setPassword(result.ResultData.toString());
|
||||
DialogManager::Default()->requestEditNetworkConfig();
|
||||
}
|
||||
// auto result = DialogManager::Default()->requestInputAdminPasswd();
|
||||
// if (result.ResultCode == QDialog::Accepted)
|
||||
// {
|
||||
// JsonObject::Instance()->setPassword(result.ResultData.toString());
|
||||
// DialogManager::Default()->requestEditNetworkConfig();
|
||||
// }
|
||||
DialogManager::Default()->requestEditNetworkConfig();
|
||||
});
|
||||
|
||||
connect(mUI->btnDICOM, &QToolButton::clicked, [&]() {
|
||||
if(DialogManager::Default()->requestEditDicomConfig() == QDialog::Accepted)
|
||||
connect(mUI->mWorklistButton, &QToolButton::clicked, [&]()
|
||||
{
|
||||
DialogManager::Default()->requestWorklistSettings();
|
||||
});
|
||||
|
||||
connect(mUI->mPacsButton, &QToolButton::clicked, [&]()
|
||||
{
|
||||
if(DialogManager::Default()->requestPacsSettings() == QDialog::Accepted)
|
||||
{
|
||||
auto server = JsonObject::Instance()->getServer(JsonObject::PACS);
|
||||
emit pacsSettingsSaved(server.name, server.ae, server.ip, server.port.toInt());
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
connect(mUI->btnPro, &QPushButton::clicked, [=]()
|
||||
connect(mUI->mReconButton, &QToolButton::clicked, [&]()
|
||||
{
|
||||
DialogResult result = DialogManager::Default()->requestSelectProtocal();
|
||||
if (result.ResultCode == QDialog::Accepted)
|
||||
{
|
||||
QString pro = result.ResultData.toString();
|
||||
//take effect
|
||||
JsonObject::Instance()->setDefaultProtocal(pro);
|
||||
mUI->btnPro->setText(JsonObject::Instance()->defaultProtocal());
|
||||
}
|
||||
DialogManager::Default()->requestReconSettings();
|
||||
});
|
||||
|
||||
connect(mUI->btnFlt, &QPushButton::clicked, [=]()
|
||||
connect(mUI->mMppsButton, &QToolButton::clicked, [&]()
|
||||
{
|
||||
DialogResult result = DialogManager::Default()->requestSelectFilter();
|
||||
if (result.ResultCode == QDialog::Accepted)
|
||||
{
|
||||
QString flt = result.ResultData.toString();
|
||||
//take effect
|
||||
JsonObject::Instance()->setDefaultFilter(flt);
|
||||
mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
}
|
||||
DialogManager::Default()->requestMppsSettings();
|
||||
});
|
||||
|
||||
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]()
|
||||
{
|
||||
mUI->retranslateUi(this);
|
||||
mUI->btnPro->setText(JsonObject::Instance()->defaultProtocal());
|
||||
mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
mUI->AnonyButton->setChecked(JsonObject::Instance()->getAnonymousMode());
|
||||
updateStorageSize();
|
||||
updateStorageUsed();
|
||||
});
|
||||
// connect(mUI->btnDICOM, &QToolButton::clicked, [&]() {
|
||||
// if(DialogManager::Default()->requestEditDicomConfig() == QDialog::Accepted)
|
||||
// {
|
||||
// auto server = JsonObject::Instance()->getServer(JsonObject::PACS);
|
||||
// emit pacsSettingsSaved(server.name, server.ae, server.ip, server.port.toInt());
|
||||
// }
|
||||
// });
|
||||
|
||||
// connect(mUI->btnFlt, &QPushButton::clicked, [=]()
|
||||
// {
|
||||
// DialogResult result = DialogManager::Default()->requestSelectFilter();
|
||||
// if (result.ResultCode == QDialog::Accepted)
|
||||
// {
|
||||
// QString flt = result.ResultData.toString();
|
||||
// //take effect
|
||||
// JsonObject::Instance()->setDefaultFilter(flt);
|
||||
// mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
// }
|
||||
// });
|
||||
|
||||
// connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]()
|
||||
// {
|
||||
// mUI->retranslateUi(this);
|
||||
// mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());
|
||||
// });
|
||||
|
||||
connect(ReconManager::getInstance(), &ReconManager::setPacsSettingsResponsed, this, &SystemSettingForm::processPacsSettingsResponsed);
|
||||
connect(this, &SystemSettingForm::pacsSettingsSaved, ReconManager::getInstance(), &ReconManager::setPacsSettings, Qt::QueuedConnection);
|
||||
@@ -152,37 +108,7 @@ SystemSettingForm::SystemSettingForm(QWidget* parent)
|
||||
|
||||
SystemSettingForm::~SystemSettingForm()
|
||||
{
|
||||
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 = JsonObject::Instance()->storageAlarmSize().toDouble();/*(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!"));
|
||||
}
|
||||
}
|
||||
|
||||
void SystemSettingForm::processPacsSettingsResponsed(bool aResult, const QVariant& aMessage)
|
||||
|
||||
@@ -8,6 +8,8 @@ namespace Ui
|
||||
class SystemSettingForm;
|
||||
}
|
||||
|
||||
class DiskInfoWorker;
|
||||
|
||||
class SystemSettingForm : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -23,16 +25,7 @@ private slots:
|
||||
void processPacsSettingsResponsed(bool aResult, const QVariant& aMessage);
|
||||
|
||||
private:
|
||||
void updateStorageSize();
|
||||
void updateStorageUsed();
|
||||
|
||||
Ui::SystemSettingForm* mUI;
|
||||
QThread* mDiskInfoCaller;
|
||||
|
||||
double mDiskSize;
|
||||
double mDiskUsedSize;
|
||||
bool mDiskSizeFlag;
|
||||
bool mDiskUsedSizeFlag;
|
||||
};
|
||||
|
||||
#endif // SYSTEMSETTINGFORM_H
|
||||
|
||||
@@ -20,134 +20,6 @@
|
||||
<item>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_2" native="true">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QWidget" name="block10" native="true">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lbl_protocal">
|
||||
<property name="text">
|
||||
<string>Protocal</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="Line" name="line_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="lbl_verify">
|
||||
<property name="text">
|
||||
<string>Anonymous Mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="ImageSwitch" name="AnonyButton" >
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<spacer name="horizontalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="ListBox" name="btnPro">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_4" native="true">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
@@ -170,122 +42,65 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_3" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="lbl_filter">
|
||||
<property name="text">
|
||||
<string>Worklist Filter</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="ListBox" name="btnFlt">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2"/>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnDICOM">
|
||||
<widget class="QToolButton" name="mReconButton">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::NoContextMenu</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>DICOM</string>
|
||||
<string>Recon Settings</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Disk Storage</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_5" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="BatteryWidget" name="batIcon" native="true"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_6" native="true">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="lbl_size">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="lbl_used">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3"/>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="mWorklistButton">
|
||||
<property name="text">
|
||||
<string>Worklist Settings</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_6" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4"/>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="mPacsButton">
|
||||
<property name="text">
|
||||
<string>Pacs Settings</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_7" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5"/>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="mMppsButton">
|
||||
<property name="text">
|
||||
<string>Mpps Settings</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -316,26 +131,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>ImageSwitch</class>
|
||||
<extends>QWidget</extends>
|
||||
<header location="global">components/ImageSwitch.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BatteryWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header location="global">components/BatteryWidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ListBox</class>
|
||||
<extends>QToolButton</extends>
|
||||
<header location="global">components/ListBox.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
Reference in New Issue
Block a user