Fix when dms disconnect, preview button and dranage button is checkable.
This commit is contained in:
@@ -210,9 +210,12 @@ void DeviceManager::processInitializeProgress(const QString& aProgress)
|
||||
switch (code)
|
||||
{
|
||||
case 1:
|
||||
emit initializeProgress(msg);
|
||||
//emit initializeProgress(msg);
|
||||
break;
|
||||
case 2:
|
||||
emit initializeProgress(msg);
|
||||
break;
|
||||
case 3:
|
||||
prepareFinishInitialize();
|
||||
emit initializeFinished();
|
||||
break;
|
||||
@@ -286,6 +289,12 @@ void DeviceManager::processScanProgress(const QString& aProgress)
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
QVariant var(tr("Patient can leave.\n") + QString("progress:%1%").arg(msg));
|
||||
TRIGGER_EVENT(InvokeOperationProgress, nullptr, (QObject *) &var);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
prepareFinishScan(true);
|
||||
break;
|
||||
default:
|
||||
@@ -427,11 +436,13 @@ void DeviceManager::startPreview()
|
||||
DeviceStatus status = getDeviceStatus();
|
||||
if(status == DeviceStatus::Unkonw)
|
||||
{
|
||||
emit startPreviewScanResult(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (status != DeviceStatus::Rready)
|
||||
{
|
||||
emit startPreviewScanResult(false);
|
||||
QString msg(status != DeviceStatus::Rready ? "Can't start preview,Device is not ready!" : "Start preview operation fail!");
|
||||
THROW_ERROR(msg);
|
||||
return;
|
||||
@@ -440,12 +451,14 @@ void DeviceManager::startPreview()
|
||||
DmsSyncActionResult result = mPreviewScanAction->execute();
|
||||
if(!result.mIsSucessful)
|
||||
{
|
||||
emit startPreviewScanResult(false);
|
||||
THROW_ERROR(result.mData);
|
||||
return;
|
||||
}
|
||||
QJsonObject jsonObj = toJsonObject(result.mData);
|
||||
if(!jsonObj.contains("code") || jsonObj["code"].toInt() !=0)
|
||||
{
|
||||
emit startPreviewScanResult(false);
|
||||
QString msg = jsonObj.contains("info") ? jsonObj["info"].toString() : DEFAULT_DMS_START_FAILED;
|
||||
THROW_ERROR(msg);
|
||||
return;
|
||||
@@ -453,6 +466,7 @@ void DeviceManager::startPreview()
|
||||
|
||||
AppGlobalValues::setInProcessing(true);
|
||||
mIsPreviewing = true;
|
||||
emit startPreviewScanResult(true);
|
||||
TRIGGER_EVENT(ResponsePreview, nullptr, nullptr);
|
||||
}
|
||||
|
||||
@@ -1026,9 +1040,11 @@ void DeviceManager::controlDrainage(const QString& aCode)
|
||||
QJsonObject jsonObj = toJsonObject(result.mData);
|
||||
if(jsonObj["code"].toInt() == 0 )
|
||||
{
|
||||
emit startPumpControlResult(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
emit startPumpControlResult(false);
|
||||
QString msg = tr("Open pump failed.");
|
||||
THROW_ERROR(msg);
|
||||
}
|
||||
|
||||
@@ -155,6 +155,8 @@ signals:
|
||||
void initializeFinished();
|
||||
void initializeProgress(const QString& aProgress);
|
||||
void transferStatusUpdated();
|
||||
void startPreviewScanResult(bool aIsSucessful);
|
||||
void startPumpControlResult(bool aIsSucessful);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -148,16 +148,40 @@ void ScanFormWidget::initScanControlBar(QHBoxLayout *layout){
|
||||
|
||||
connect(mBtnRefresh, &QToolButton::clicked, [=]() {
|
||||
QString patientInf(mPatInf->getCurrentPatientJsonString(true));
|
||||
LOG_USER_OPERATION(StartRefresh)
|
||||
LOG_USER_OPERATION("Start Empty Scan")
|
||||
EventCenter::Default()->triggerEvent(RequestEmptyScan, nullptr, (QObject*)(&patientInf));
|
||||
});
|
||||
connect(mBtnPreview, &QToolButton::clicked, [=]() {
|
||||
LOG_USER_OPERATION(StartPreview)
|
||||
LOG_USER_OPERATION(QString("Start Preview, ID: %1").arg(mPatInf->getPatientID()))
|
||||
EventCenter::Default()->triggerEvent(RequestPreviewScan, nullptr, nullptr);
|
||||
});
|
||||
connect(DeviceManager::Default(), &DeviceManager::startPreviewScanResult, [this](bool aIsSucessful)
|
||||
{
|
||||
if(!aIsSucessful)
|
||||
{
|
||||
setPreviewing(false);
|
||||
}
|
||||
});
|
||||
connect(DeviceManager::Default(), &DeviceManager::startPumpControlResult, [this](bool aIsSucessful)
|
||||
{
|
||||
if(!aIsSucessful)
|
||||
{
|
||||
bool isChecked = mBtnDrainage->isChecked();
|
||||
mBtnDrainage->setChecked(!isChecked);
|
||||
if(isChecked)
|
||||
{
|
||||
mBtnDrainage->setText(tr("Drainage"));
|
||||
}
|
||||
else
|
||||
{
|
||||
mBtnDrainage->setText(tr("Drainaging"));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
connect(mBtnScan, &QToolButton::clicked, [=]() {
|
||||
QString patientInf(mPatInf->getCurrentPatientJsonString(false));
|
||||
LOG_USER_OPERATION(StartScan)
|
||||
LOG_USER_OPERATION(QString("Start Scan, ID: %1").arg(mPatInf->getPatientID()))
|
||||
if (!DeviceManager::Default()->hasValidEmptyScan()){
|
||||
QString msg(tr("No refresh data exists, please do Refresh operation first."));
|
||||
EventCenter::Default()->triggerEvent(DeviceErrorRaise, nullptr, (QObject*)(&msg));
|
||||
@@ -166,7 +190,7 @@ void ScanFormWidget::initScanControlBar(QHBoxLayout *layout){
|
||||
EventCenter::Default()->triggerEvent(RequestPatientScan, nullptr, (QObject*)(&patientInf));
|
||||
});
|
||||
connect(mBtnStop, &QToolButton::clicked, [=]() {
|
||||
LOG_USER_OPERATION(Stop)
|
||||
LOG_USER_OPERATION("Stop Preview")
|
||||
EventCenter::Default()->triggerEvent(RequestPreviewStop, nullptr, nullptr);
|
||||
});
|
||||
connect(mBtnDrainage, &QToolButton::clicked, [=](bool aSatus) {
|
||||
@@ -176,19 +200,21 @@ void ScanFormWidget::initScanControlBar(QHBoxLayout *layout){
|
||||
QString code = "1";
|
||||
mBtnDrainage->setText(tr("Drainaging"));
|
||||
EventCenter::Default()->triggerEvent(RequestDrainage, nullptr, (QObject*)(&code));
|
||||
LOG_USER_OPERATION("Perform Drainage");
|
||||
}
|
||||
else
|
||||
{
|
||||
QString code = "0";
|
||||
mBtnDrainage->setText(tr("Drainage"));
|
||||
EventCenter::Default()->triggerEvent(RequestDrainage, nullptr, (QObject*)(&code));
|
||||
LOG_USER_OPERATION("Stop Drainage");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void ScanFormWidget::protocolChanged(int type) {
|
||||
printf("%d\r\n", type);
|
||||
mPatInf->setProtocol(type);
|
||||
LOG_USER_OPERATION(QString("Select Laterality %1").arg(type == 0 ? "Left" : "Right"));
|
||||
}
|
||||
|
||||
void ScanFormWidget::setPreviewing(bool val) {
|
||||
@@ -284,9 +310,6 @@ void ScanFormWidget::initEvents() {//Events-------------------------------------
|
||||
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, this, &ScanFormWidget::reloadLanguage);
|
||||
connect(EventCenter::Default(), &EventCenter::DeviceErrorRaise, [=](QObject* parent, QObject* msg){
|
||||
printf("signal:%d\r\n",senderSignalIndex());
|
||||
setPreviewing(false);
|
||||
mBtnDrainage->setChecked(false);
|
||||
mBtnDrainage->setText(tr("Drainage"));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user