diff --git a/src/aboutwidget.cpp b/src/aboutwidget.cpp index 3cdaded..deb7b0b 100644 --- a/src/aboutwidget.cpp +++ b/src/aboutwidget.cpp @@ -6,6 +6,7 @@ #include "event/EventCenter.h" #include #include "json/cmdhelper.h" +#include AboutWidget::AboutWidget(QWidget* parent) : QWidget(parent) @@ -112,12 +113,12 @@ void AboutWidget::initUi() pSUSEVer = new QLabel(this); - pSUSEVer->setText(cmdHelper::Instance()->getLinuxVersion()); + pSUSEVer->setText(tr("Loading...")); pMainLayout->addWidget(pSUSEVer); pMainLayout->addSpacing(subContentSpacing); pDcmtkVer = new QLabel(this); - pDcmtkVer->setText(cmdHelper::Instance()->getDCMTKVersion()); + pDcmtkVer->setText(tr("Loading...")); pMainLayout->addWidget(pDcmtkVer); pDcmtkCopyright = new QLabel(this); pDcmtkCopyright->setObjectName("normal"); @@ -139,8 +140,16 @@ void AboutWidget::initUi() pMainLayout->addStretch(); - connect(pBtnHelp, SIGNAL(clicked()), this, SLOT(openHelpFile())); + QThread* t = QThread::create([=]() { + pSUSEVer->setText(cmdHelper::Instance()->getLinuxVersion()); + pDcmtkVer->setText(cmdHelper::Instance()->getDCMTKVersion()); + }); + t->start(); + connect(t, SIGNAL(finished()), t, SLOT(deleteLater())); + + + connect(pBtnHelp, SIGNAL(clicked()), this, SLOT(openHelpFile())); connect(EventCenter::Default(), &EventCenter::ReloadLanguage, [=]() { pProductVer->setText(tr("HJ-USCT-01 V1.0")); pBtnHelp->setText(tr("?")); diff --git a/src/components/battery.cpp b/src/components/battery.cpp index b3b71f0..ed143d4 100644 --- a/src/components/battery.cpp +++ b/src/components/battery.cpp @@ -304,6 +304,12 @@ void Battery::setValue(double value) this->value = value; this->update(); emit valueChanged(value); + //timer->stop(); + //timer->start(); +} + +void Battery::startAnimation() +{ timer->stop(); timer->start(); } diff --git a/src/components/battery.h b/src/components/battery.h index 6c9d2a3..0d9bb78 100644 --- a/src/components/battery.h +++ b/src/components/battery.h @@ -20,135 +20,136 @@ class Battery : public QWidget #endif { - Q_OBJECT + Q_OBJECT - Q_PROPERTY(double minValue READ getMinValue WRITE setMinValue) - Q_PROPERTY(double maxValue READ getMaxValue WRITE setMaxValue) - Q_PROPERTY(double value READ getValue WRITE setValue) - Q_PROPERTY(double alarmValue READ getAlarmValue WRITE setAlarmValue) + Q_PROPERTY(double minValue READ getMinValue WRITE setMinValue) + Q_PROPERTY(double maxValue READ getMaxValue WRITE setMaxValue) + Q_PROPERTY(double value READ getValue WRITE setValue) + Q_PROPERTY(double alarmValue READ getAlarmValue WRITE setAlarmValue) - Q_PROPERTY(double step READ getStep WRITE setStep) - Q_PROPERTY(int borderWidth READ getBorderWidth WRITE setBorderWidth) - Q_PROPERTY(int borderRadius READ getBorderRadius WRITE setBorderRadius) - Q_PROPERTY(int bgRadius READ getBgRadius WRITE setBgRadius) - Q_PROPERTY(int headRadius READ getHeadRadius WRITE setHeadRadius) + Q_PROPERTY(double step READ getStep WRITE setStep) + Q_PROPERTY(int borderWidth READ getBorderWidth WRITE setBorderWidth) + Q_PROPERTY(int borderRadius READ getBorderRadius WRITE setBorderRadius) + Q_PROPERTY(int bgRadius READ getBgRadius WRITE setBgRadius) + Q_PROPERTY(int headRadius READ getHeadRadius WRITE setHeadRadius) - Q_PROPERTY(QColor borderColorStart READ getBorderColorStart WRITE setBorderColorStart) - Q_PROPERTY(QColor borderColorEnd READ getBorderColorEnd WRITE setBorderColorEnd) + Q_PROPERTY(QColor borderColorStart READ getBorderColorStart WRITE setBorderColorStart) + Q_PROPERTY(QColor borderColorEnd READ getBorderColorEnd WRITE setBorderColorEnd) - Q_PROPERTY(QColor alarmColorStart READ getAlarmColorStart WRITE setAlarmColorStart) - Q_PROPERTY(QColor alarmColorEnd READ getAlarmColorEnd WRITE setAlarmColorEnd) + Q_PROPERTY(QColor alarmColorStart READ getAlarmColorStart WRITE setAlarmColorStart) + Q_PROPERTY(QColor alarmColorEnd READ getAlarmColorEnd WRITE setAlarmColorEnd) - Q_PROPERTY(QColor normalColorStart READ getNormalColorStart WRITE setNormalColorStart) - Q_PROPERTY(QColor normalColorEnd READ getNormalColorEnd WRITE setNormalColorEnd) + Q_PROPERTY(QColor normalColorStart READ getNormalColorStart WRITE setNormalColorStart) + Q_PROPERTY(QColor normalColorEnd READ getNormalColorEnd WRITE setNormalColorEnd) public: - explicit Battery(QWidget *parent = 0); - ~Battery(); + explicit Battery(QWidget* parent = 0); + ~Battery(); protected: - void paintEvent(QPaintEvent *); - void drawBorder(QPainter *painter); - void drawBg(QPainter *painter); - void drawHead(QPainter *painter); + void paintEvent(QPaintEvent*); + void drawBorder(QPainter* painter); + void drawBg(QPainter* painter); + void drawHead(QPainter* painter); private slots: - void updateValue(); + void startAnimation(); + void updateValue(); private: - double minValue; //最小值 - double maxValue; //最大值 - double value; //目标电量 - double alarmValue; //电池电量警戒值 + double minValue; //最小值 + double maxValue; //最大值 + double value; //目标电量 + double alarmValue; //电池电量警戒值 - double step; //每次移动的步长 - int borderWidth; //边框粗细 - int borderRadius; //边框圆角角度 - int bgRadius; //背景进度圆角角度 - int headRadius; //头部圆角角度 + double step; //每次移动的步长 + int borderWidth; //边框粗细 + int borderRadius; //边框圆角角度 + int bgRadius; //背景进度圆角角度 + int headRadius; //头部圆角角度 - QColor borderColorStart; //边框渐变开始颜色 - QColor borderColorEnd; //边框渐变结束颜色 + QColor borderColorStart; //边框渐变开始颜色 + QColor borderColorEnd; //边框渐变结束颜色 - QColor alarmColorStart; //电池低电量时的渐变开始颜色 - QColor alarmColorEnd; //电池低电量时的渐变结束颜色 + QColor alarmColorStart; //电池低电量时的渐变开始颜色 + QColor alarmColorEnd; //电池低电量时的渐变结束颜色 - QColor normalColorStart; //电池正常电量时的渐变开始颜色 - QColor normalColorEnd; //电池正常电量时的渐变结束颜色 + QColor normalColorStart; //电池正常电量时的渐变开始颜色 + QColor normalColorEnd; //电池正常电量时的渐变结束颜色 - bool isForward; //是否往前移 - double currentValue; //当前电量 - QRectF batteryRect; //电池主体区域 - QTimer *timer; //绘制定时器 + bool isForward; //是否往前移 + double currentValue; //当前电量 + QRectF batteryRect; //电池主体区域 + QTimer* timer; //绘制定时器 public: - double getMinValue() const; - double getMaxValue() const; - double getValue() const; - double getAlarmValue() const; + double getMinValue() const; + double getMaxValue() const; + double getValue() const; + double getAlarmValue() const; - double getStep() const; - int getBorderWidth() const; - int getBorderRadius() const; - int getBgRadius() const; - int getHeadRadius() const; + double getStep() const; + int getBorderWidth() const; + int getBorderRadius() const; + int getBgRadius() const; + int getHeadRadius() const; - QColor getBorderColorStart() const; - QColor getBorderColorEnd() const; + QColor getBorderColorStart() const; + QColor getBorderColorEnd() const; - QColor getAlarmColorStart() const; - QColor getAlarmColorEnd() const; + QColor getAlarmColorStart() const; + QColor getAlarmColorEnd() const; - QColor getNormalColorStart() const; - QColor getNormalColorEnd() const; + QColor getNormalColorStart() const; + QColor getNormalColorEnd() const; - QSize sizeHint() const; - QSize minimumSizeHint() const; + QSize sizeHint() const; + QSize minimumSizeHint() const; public Q_SLOTS: - //设置范围值 - void setRange(double minValue, double maxValue); - void setRange(int minValue, int maxValue); + //设置范围值 + void setRange(double minValue, double maxValue); + void setRange(int minValue, int maxValue); - //设置最大最小值 - void setMinValue(double minValue); - void setMaxValue(double maxValue); + //设置最大最小值 + void setMinValue(double minValue); + void setMaxValue(double maxValue); - //设置电池电量值 - void setValue(double value); - void setValue(int value); + //设置电池电量值 + void setValue(double value); + void setValue(int value); - //设置电池电量警戒值 - void setAlarmValue(double alarmValue); - void setAlarmValue(int alarmValue); + //设置电池电量警戒值 + void setAlarmValue(double alarmValue); + void setAlarmValue(int alarmValue); - //设置步长 - void setStep(double step); - void setStep(int step); + //设置步长 + void setStep(double step); + void setStep(int step); - //设置边框粗细 - void setBorderWidth(int borderWidth); - //设置边框圆角角度 - void setBorderRadius(int borderRadius); - //设置背景圆角角度 - void setBgRadius(int bgRadius); - //设置头部圆角角度 - void setHeadRadius(int headRadius); + //设置边框粗细 + void setBorderWidth(int borderWidth); + //设置边框圆角角度 + void setBorderRadius(int borderRadius); + //设置背景圆角角度 + void setBgRadius(int bgRadius); + //设置头部圆角角度 + void setHeadRadius(int headRadius); - //设置边框渐变颜色 - void setBorderColorStart(const QColor &borderColorStart); - void setBorderColorEnd(const QColor &borderColorEnd); + //设置边框渐变颜色 + void setBorderColorStart(const QColor& borderColorStart); + void setBorderColorEnd(const QColor& borderColorEnd); - //设置电池电量报警时的渐变颜色 - void setAlarmColorStart(const QColor &alarmColorStart); - void setAlarmColorEnd(const QColor &alarmColorEnd); + //设置电池电量报警时的渐变颜色 + void setAlarmColorStart(const QColor& alarmColorStart); + void setAlarmColorEnd(const QColor& alarmColorEnd); - //设置电池电量正常时的渐变颜色 - void setNormalColorStart(const QColor &normalColorStart); - void setNormalColorEnd(const QColor &normalColorEnd); + //设置电池电量正常时的渐变颜色 + void setNormalColorStart(const QColor& normalColorStart); + void setNormalColorEnd(const QColor& normalColorEnd); Q_SIGNALS: - void valueChanged(double value); + void valueChanged(double value); }; #endif // BATTERY_H diff --git a/src/device/DeviceManager.cpp b/src/device/DeviceManager.cpp index b6db515..63af294 100644 --- a/src/device/DeviceManager.cpp +++ b/src/device/DeviceManager.cpp @@ -10,7 +10,6 @@ #include #include #include "appvals/AppGlobalValues.h" - #define TRIGGER_EVENT EventCenter::Default()->triggerEvent #define THROW_ERROR(errormsg)\ @@ -52,7 +51,6 @@ void DeviceManager::initDevice() { InitLib(ErrorCallback); deviceInfTimerID = startTimer(1000); - diskInfTimerID = startTimer(60000); // empty scan connect(EventCenter::Default(), &EventCenter::RequestEmptyScan, [=](QObject* sender, QObject* detail) { @@ -182,19 +180,15 @@ void DeviceManager::initDevice() { } }); previewDataCaller->start(); + + } void DeviceManager::timerEvent(QTimerEvent* event) { - if (event->timerId() == deviceInfTimerID) { - QString temp = QString(GetDeviceInfo(MEAN_TEMPERATURE)); - TRIGGER_EVENT(GUIEvents::ResponseDeviceTemperature, nullptr, (QObject*)&temp); - return; - } - - if (event->timerId() == diskInfTimerID) - { - TRIGGER_EVENT(GUIEvents::ResponseDeviceStoragement, nullptr, nullptr); - return; + if (event->timerId() == deviceInfTimerID) { + QString temp = QString(GetDeviceInfo(MEAN_TEMPERATURE)); + TRIGGER_EVENT(GUIEvents::ResponseDeviceTemperature, nullptr, (QObject*)&temp); + return; } //scanning progress timer { diff --git a/src/device/DeviceManager.h b/src/device/DeviceManager.h index 104f0d9..9b1ef01 100644 --- a/src/device/DeviceManager.h +++ b/src/device/DeviceManager.h @@ -30,7 +30,6 @@ private: void processScan(const char* json, bool empty = false); int timerID = -1; int deviceInfTimerID = -1; - int diskInfTimerID = -1; int lastStatus = -1; bool previewing = false; bool endLoop = false; diff --git a/src/event/EventCenter.h b/src/event/EventCenter.h index a41093a..ea293b6 100644 --- a/src/event/EventCenter.h +++ b/src/event/EventCenter.h @@ -16,7 +16,6 @@ ADD_EVENT_VALUE(RequestEmptyScan)\ ADD_EVENT_VALUE(RequestPatientScan)\ ADD_EVENT_VALUE(RequestStop)\ ADD_EVENT_VALUE(ResponseDeviceTemperature)\ -ADD_EVENT_VALUE(ResponseDeviceStoragement)\ ADD_EVENT_VALUE(ResponsePreview)\ ADD_EVENT_VALUE(ResponsePreviewData)\ ADD_EVENT_VALUE(ResponseStop)\ diff --git a/src/systemsettingform.cpp b/src/systemsettingform.cpp index a0777a3..b71de0c 100644 --- a/src/systemsettingform.cpp +++ b/src/systemsettingform.cpp @@ -20,6 +20,7 @@ #include "event/EventCenter.h" #include "device/DeviceManager.h" #include "json/cmdhelper.h" +#include "appvals/AppGlobalValues.h" systemSettingForm::systemSettingForm(QWidget* parent) : QWidget(parent), @@ -27,31 +28,9 @@ systemSettingForm::systemSettingForm(QWidget* parent) : { 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 + ui->lbl_size->setText(tr("Loading...")); + ui->lbl_used->setText(tr("Loading...")); - 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")); @@ -69,25 +48,42 @@ systemSettingForm::systemSettingForm(QWidget* parent) : //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)) + ////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) { + double duse = 0; + flag_diskuse = cmdHelper::Instance()->getDiskUsed(duse); m_diskuse = duse; + updateStorageUsed(); + QMetaObject::invokeMethod(ui->batIcon, "startAnimation", Qt::QueuedConnection); + QThread::msleep(1000); } - else - { - m_diskuse = -1.0; - } - updateDiskUse(); }); + diskInfoCaller->start(); //connection connect(ui->swt_verify, &ImageSwitch::clicked, [=]() { @@ -149,21 +145,42 @@ systemSettingForm::systemSettingForm(QWidget* parent) : 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(); + updateStorageSize(); + updateStorageUsed(); }); } -void systemSettingForm::updateDiskSize() +systemSettingForm::~systemSettingForm() { - if (m_disksize != -1.0) + diskInfoCaller->quit(); + diskInfoCaller->wait(); +} + +void systemSettingForm::updateStorageUsed() +{ + + if (flag_diskuse) { + 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!")); + } + +} +void systemSettingForm::updateStorageSize() +{ + //bool flag = AppGlobalValues::StorageFlag(); + if (flag_disksize) + { + //double total_size = AppGlobalValues::StorageSize(); ui->batIcon->setMaxValue(m_disksize); double aValue = (m_disksize - JsonObject::Instance()->storageAlarmSize().toDouble()) / m_disksize; ui->batIcon->setAlarmValue(aValue); @@ -173,23 +190,4 @@ void systemSettingForm::updateDiskSize() { 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; -} - diff --git a/src/systemsettingform.h b/src/systemsettingform.h index fb40292..beb4053 100644 --- a/src/systemsettingform.h +++ b/src/systemsettingform.h @@ -19,20 +19,24 @@ class systemSettingForm : public QWidget public: explicit systemSettingForm(QWidget* parent = nullptr); ~systemSettingForm(); - //protected: // void changeEvent(QEvent* event); private: + void updateStorageSize(); + void updateStorageUsed(); + Ui::systemSettingForm* ui; + SelectDialog* sd_protocal = nullptr; SelectDialog* sd_filter = nullptr; - double m_disksize = -1.0; - double m_diskuse = -1.0; + QThread* diskInfoCaller = nullptr; - void updateDiskSize(); - void updateDiskUse(); + double m_disksize; + double m_diskuse; + bool flag_disksize = false; + bool flag_diskuse = false; }; #endif // SYSTEMSETTINGFORM_H diff --git a/src/translations/en_US.ts b/src/translations/en_US.ts index 77b2b3d..d7ffef0 100644 --- a/src/translations/en_US.ts +++ b/src/translations/en_US.ts @@ -51,6 +51,10 @@ Copyright (c) 2009-2017 Dave Gamble + + Loading... + + AccountFormDialog @@ -785,16 +789,20 @@ parameters Disk Storage + + Loading... + + total: %1G - used: %1G + Get disk total size fail! - Get disk total size fail! + used: %1G diff --git a/src/translations/en_US.ts.bak b/src/translations/en_US.ts.bak index 77b2b3d..d7ffef0 100644 --- a/src/translations/en_US.ts.bak +++ b/src/translations/en_US.ts.bak @@ -51,6 +51,10 @@ Copyright (c) 2009-2017 Dave Gamble + + Loading... + + AccountFormDialog @@ -785,16 +789,20 @@ parameters Disk Storage + + Loading... + + total: %1G - used: %1G + Get disk total size fail! - Get disk total size fail! + used: %1G diff --git a/src/translations/zh_CN.qm b/src/translations/zh_CN.qm index 39d872f..84b94e5 100644 Binary files a/src/translations/zh_CN.qm and b/src/translations/zh_CN.qm differ diff --git a/src/translations/zh_CN.ts b/src/translations/zh_CN.ts index a33df9d..f151828 100644 --- a/src/translations/zh_CN.ts +++ b/src/translations/zh_CN.ts @@ -4,68 +4,74 @@ AboutWidget - - + + HJ-USCT-01 V1.0 - - + + ? - + cJSON - + Copyright © 2017-2020 Zhejiang Equilibrium Nine Medical Equipment Co., Ltd. All Rights Reversed - - + + GUI Software V1.3 - + Copyright © 2017-2022 Zhejiang Equilibrium Nine Medical Equipment Co., Ltd. All Rights Reversed - - + + Embedded Software V1.5 - - + + Reconstruction Software V1.2 - - + + FEB Information - + Qt 5.12.0 - + + + Loading... + 正在加载 + + + Copyright (c) 1994-2021, OFFIS e.V. - + Copyright (c) 2009-2017 Dave Gamble @@ -1153,22 +1159,28 @@ parameters - + + + Loading... + 正在加载... + + + total: %1G 总量:%1G - + Get disk total size fail! 磁盘总空间获取失败! - + used: %1G - 剩余:%1G + 使用:%1G - + Get disk used size fail! 磁盘使用空间获取失败! diff --git a/src/translations/zh_CN.ts.bak b/src/translations/zh_CN.ts.bak index a33df9d..f151828 100644 --- a/src/translations/zh_CN.ts.bak +++ b/src/translations/zh_CN.ts.bak @@ -4,68 +4,74 @@ AboutWidget - - + + HJ-USCT-01 V1.0 - - + + ? - + cJSON - + Copyright © 2017-2020 Zhejiang Equilibrium Nine Medical Equipment Co., Ltd. All Rights Reversed - - + + GUI Software V1.3 - + Copyright © 2017-2022 Zhejiang Equilibrium Nine Medical Equipment Co., Ltd. All Rights Reversed - - + + Embedded Software V1.5 - - + + Reconstruction Software V1.2 - - + + FEB Information - + Qt 5.12.0 - + + + Loading... + 正在加载 + + + Copyright (c) 1994-2021, OFFIS e.V. - + Copyright (c) 2009-2017 Dave Gamble @@ -1153,22 +1159,28 @@ parameters - + + + Loading... + 正在加载... + + + total: %1G 总量:%1G - + Get disk total size fail! 磁盘总空间获取失败! - + used: %1G - 剩余:%1G + 使用:%1G - + Get disk used size fail! 磁盘使用空间获取失败!