Banner message

This commit is contained in:
Krad
2021-10-26 13:08:11 +08:00
parent 43442b319f
commit 8c980a458a
5 changed files with 51 additions and 8 deletions

View File

@@ -167,6 +167,19 @@ SelectFormWidget::SelectFormWidget(QWidget *parent) :
if (currentRow<0)return;
EventCenter::Default()->triggerEvent(GUIEvents::PatientSelected, nullptr,edit_patient->getPatientInformation()->Copy());
});
connect(EventCenter::Default(),&EventCenter::ResponsePreview,[=](QObject* sender,QObject* data){
btnSelect->setEnabled(false);
btnDelete->setEnabled(false);
btnEdit->setEnabled(false);
btnAdd->setEnabled(false);
});
connect(EventCenter::Default(),&EventCenter::ResponseStop,[=](QObject* sender,QObject* data){
btnSelect->setEnabled(true);
btnDelete->setEnabled(true);
btnEdit->setEnabled(true);
btnAdd->setEnabled(true);
});
}
SelectFormWidget::~SelectFormWidget()

View File

@@ -6,6 +6,8 @@
#include "../event/EventCenter.h"
#include <QVariant>
#include <QTimerEvent>
#include <QDate>
#include <QDateTime>
#include <qdebug.h>
#define TRIGGER_EVENT EventCenter::Default()->triggerEvent
@@ -37,6 +39,7 @@ std::string getJsonFromPatInf(QObject* obj)
void ErrorCallback(const char * msg)
{
DeviceManager::Default()->setErrorOccurred(true);
printf("Error Callback , message:%s\r\n", msg);
QString m(msg);
THROW_ERROR(m);
@@ -48,10 +51,7 @@ void DeviceManager::initDevice() {
InitLib(ErrorCallback);
deviceInfTimerID = startTimer(1000);
// global error flag
connect(EventCenter::Default(),&EventCenter::GUIErrorRaise,[=](QObject* sender, QObject* detail){
this->errorOccured = true;
});
// empty scan
connect(EventCenter::Default(),&EventCenter::RequestEmptyScan,[=](QObject* sender, QObject* detail){
std::string json= getJsonFromPatInf(detail);
@@ -87,13 +87,21 @@ void DeviceManager::initDevice() {
qDebug()<<"Error thrown!";
lastStatus = -1;
previewing = false;
QString s("%1 %2");
s = s.arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss"), msg);
TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr,(QObject*)&msg);
return;
}
lastStatus = -1;
previewing = false;
QString s("%1 %2");
s = s.arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss"),("Scan Stopped!"));
TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr,(QObject*)&s);
}
TRIGGER_EVENT(GUIEvents::InvokeOperationEnd, nullptr, nullptr);
TRIGGER_EVENT(GUIEvents::ResponseStop, nullptr, nullptr);
});
// preview
connect(EventCenter::Default(),&EventCenter::RequestPreviewScan,[=](){
@@ -113,6 +121,8 @@ void DeviceManager::initDevice() {
// timerID = startTimer(500);
TRIGGER_EVENT(GUIEvents::ResponsePreview, nullptr, nullptr);
TRIGGER_EVENT(GUIEvents::InvokeOperationEnd, nullptr, nullptr);
QString s("Device Previewing!");
TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr, (QObject*)&s);
return;
}
}
@@ -154,7 +164,7 @@ void DeviceManager::timerEvent(QTimerEvent *event) {
qDebug()<<"GetStatus";
StatusInfo inf = GetStatus();
qDebug() << "Scanning request status, status:" << getStatusString(inf.status);
if (errorOccured)
if (errorOccurred)
{
qDebug() << "Error occurred, exit progress timer" << inf.progress;
goto exitTimer;
@@ -172,6 +182,7 @@ void DeviceManager::timerEvent(QTimerEvent *event) {
QVariant var(inf.progress);
qDebug() << "Normal scan, invoke InvokeOperationProgress:" << inf.progress;
TRIGGER_EVENT(GUIEvents::InvokeOperationProgress, nullptr, (QObject*)&var);
return;
} else{
//未发生错误并且,之前状态是扫描,代表正常扫描完成
if (lastStatus == SCANNING)
@@ -182,14 +193,18 @@ void DeviceManager::timerEvent(QTimerEvent *event) {
TRIGGER_EVENT(GUIEvents::InvokeOperationEnd, nullptr, (QObject*)&var);
lastStatus = -1;
previewing = false;
QString s("%1 %2");
s = s.arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss")).arg("Scan finished");
TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr,(QObject*)&s);
}
return;
}
exitTimer:
qDebug() << "Scanning progress Timer exit";
killTimer(timerID);
timerID=-1;
lastStatus = -1;
previewing = false;
TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr,nullptr);
return;
} else{
QString temp = QString(GetDeviceInfo(MEAN_TEMPERATURE));

View File

@@ -16,6 +16,12 @@ public:
return &manager;
}
void initDevice();
void setErrorOccurred(bool v){
errorOccurred = v;
}
bool getErrorOccurred(){
return errorOccurred;
}
protected:
void timerEvent(QTimerEvent* event) override ;
@@ -27,7 +33,7 @@ private:
int lastStatus=-1;
bool previewing = false;
bool endLoop = false;
bool errorOccured = false;
bool errorOccurred = false;
QThread* previewDataCaller;
};

View File

@@ -23,6 +23,7 @@ ADD_EVENT_VALUE(InvokeOperationStart)\
ADD_EVENT_VALUE(InvokeOperationProgress)\
ADD_EVENT_VALUE(InvokeOperationEnd)\
ADD_EVENT_VALUE(PromptDialogOpen)\
ADD_EVENT_VALUE(GlobalBannerMessage)\
ADD_EVENT_VALUE(GUIErrorRaise)
enum GUIEvents{

View File

@@ -48,7 +48,15 @@ TabFormWidget::TabFormWidget(QWidget* parent) :
if (!msg) return;
QString* s = (QString*)msg;
lockIcon->setText(QString("%1%2").arg(*s).arg(tr("°C")));
});
});
connect(EventCenter::Default(), &EventCenter::GlobalBannerMessage, [=](QObject*, QObject* msg) {
if (!msg) {
ui->systemMsgBar->setText("");
return;
}
QString* s = (QString*)msg;
ui->systemMsgBar->setText(*s);
});
}
TabFormWidget::~TabFormWidget()