feat: Add error message when emergency button pushed.

This commit is contained in:
sunwen
2024-09-12 16:46:52 +08:00
parent 84489708d5
commit fbaece22a1
10 changed files with 259 additions and 87 deletions

View File

@@ -146,6 +146,7 @@ void DeviceManager::initDevice()
mGetAutoLocatePositionAction = new DmsAsyncAction(USRV_CONTROL, ACT_CTL_MOTION_POSITION, this, "responseGetAutoLocatePosition(const QString&)", this); mGetAutoLocatePositionAction = new DmsAsyncAction(USRV_CONTROL, ACT_CTL_MOTION_POSITION, this, "responseGetAutoLocatePosition(const QString&)", this);
mGetSoftwareVersionAction = new DmsAsyncAction(USRV_INFOCFG, ACT_IFCFG_VERINFO, this,"responseGetSoftwareVersion(const QString&)", this); mGetSoftwareVersionAction = new DmsAsyncAction(USRV_INFOCFG, ACT_IFCFG_VERINFO, this,"responseGetSoftwareVersion(const QString&)", this);
mGetSoftwareVersionAction->setTimeoutInterval(GETDMSVERSION_TIMEOUT); mGetSoftwareVersionAction->setTimeoutInterval(GETDMSVERSION_TIMEOUT);
mEmergencyResetAction = new DmsAsyncAction(USRV_CONTROL, ACT_CTL_EMG_RESET, this,"responseEmergencyButtonReset(const QString&)", this);
connect(mGetSoftwareVersionAction, &DmsAsyncAction::timeout, [this]() connect(mGetSoftwareVersionAction, &DmsAsyncAction::timeout, [this]()
{ {
emit getDmsVersionResponsed("DMS Version Fetch Error"); emit getDmsVersionResponsed("DMS Version Fetch Error");
@@ -764,6 +765,9 @@ void DeviceManager::processReceiveDMSInfoResult(int aServerID, int aActionID, co
emit responseGetAutoLocatePosition(aContents); emit responseGetAutoLocatePosition(aContents);
processAutoLocatePosition(aContents); processAutoLocatePosition(aContents);
break; break;
case ACT_CTL_EMG_RESET:
processEmergencyButtonReset(aContents);
break;
} }
break; break;
default: default:
@@ -779,6 +783,19 @@ void DeviceManager::processAlarm(const QString& aAlarm)
qDebug()<<"processAlarm : "<<alarmCode; qDebug()<<"processAlarm : "<<alarmCode;
if(alarmCode >= 400 && alarmCode < 500) if(alarmCode >= 400 && alarmCode < 500)
{ {
switch (alarmCode)
{
case 492://left emergency button pushed
prepareFinishScan(false,"");
emit emergencyButtonPushed(true, false);
return;
case 494://right emergency button pushed
prepareFinishScan(false,"");
emit emergencyButtonPushed(false, false);
return;
default:
break;
}
if(mIsScanning) if(mIsScanning)
{ {
prepareFinishScan(false, alarm); prepareFinishScan(false, alarm);
@@ -1438,3 +1455,31 @@ void DeviceManager::prepareCheckReconConnection()
} }
emit checkReconConnection(); emit checkReconConnection();
} }
void DeviceManager::processEmergencyButtonReset(const QString& aResponse)
{
QJsonObject jsonObj = toJsonObject(aResponse);
int code = jsonObj["code"].toInt();
if(code == -1)
{
QString errorMessage = tr("Device reset failed, please contact maintenance person");
THROW_ERROR(errorMessage);
}
if(jsonObj["info"].toString() == "left" )
{
emit emergencyButtonPushed(true, true);
return;
}
if(jsonObj["info"].toString() == "right" )
{
emit emergencyButtonPushed(false, true);
return;
}
}
void DeviceManager::prepareEmergencyReset()
{
mEmergencyResetAction->execute();
}

View File

@@ -69,6 +69,7 @@ public:
bool hasValidEmptyScan(); bool hasValidEmptyScan();
bool updateTransferProgress(); bool updateTransferProgress();
int getTransferProgress(); int getTransferProgress();
void prepareEmergencyReset();
public slots: public slots:
void updateReconState(); void updateReconState();
@@ -125,6 +126,7 @@ private:
void processShutDownDms(const QString& aResponse); void processShutDownDms(const QString& aResponse);
void processPumpResult(const QString& aResponse); void processPumpResult(const QString& aResponse);
void processGetSoftwareVersion(const QString& aResponse); void processGetSoftwareVersion(const QString& aResponse);
void processEmergencyButtonReset(const QString& aResponse);
void insertEmptyScanRecord(); void insertEmptyScanRecord();
void insertScanRecord(); void insertScanRecord();
@@ -167,6 +169,7 @@ signals:
void responseStopAutoLocate(const QString& aResponse); void responseStopAutoLocate(const QString& aResponse);
void responseGetAutoLocatePosition(const QString& aResponse); void responseGetAutoLocatePosition(const QString& aResponse);
void responseCheckDataQuality(const QString& aResponse); void responseCheckDataQuality(const QString& aResponse);
void responseEmergencyButtonReset(const QString& aResponse);
//Recon //Recon
void createEmptyScanToRecon(const QString& aScanID, const QString& aPath); void createEmptyScanToRecon(const QString& aScanID, const QString& aPath);
void createScanToRecon(const QString& aScanID, const QString& aStudyUID,const QString& aMPPSUID, const QString& aReferenceID, const QString& aPath); void createScanToRecon(const QString& aScanID, const QString& aStudyUID,const QString& aMPPSUID, const QString& aReferenceID, const QString& aPath);
@@ -185,6 +188,7 @@ signals:
void shutdownDmsSended(); void shutdownDmsSended();
void shutdownDmsFailed(); void shutdownDmsFailed();
void getDmsVersionResponsed(const QString& aDmsVersion); void getDmsVersionResponsed(const QString& aDmsVersion);
void emergencyButtonPushed(bool aIsLeft, bool aIsReset);
private: private:
@@ -241,6 +245,7 @@ private:
DmsAsyncAction* mPumpControlAction = nullptr; DmsAsyncAction* mPumpControlAction = nullptr;
DmsAsyncAction* mGetAutoLocatePositionAction = nullptr; DmsAsyncAction* mGetAutoLocatePositionAction = nullptr;
DmsAsyncAction* mGetSoftwareVersionAction = nullptr; DmsAsyncAction* mGetSoftwareVersionAction = nullptr;
DmsAsyncAction* mEmergencyResetAction = nullptr;
InfoReceiveWorker* mInfoReceiveWorker = nullptr; InfoReceiveWorker* mInfoReceiveWorker = nullptr;

View File

@@ -90,6 +90,7 @@ enum{
ACT_CTL_MOTION_START, //启动自动定位功能 ACT_CTL_MOTION_START, //启动自动定位功能
ACT_CTL_MOTION_STOP, //停止自动定位功能 ACT_CTL_MOTION_STOP, //停止自动定位功能
ACT_CTL_MOTION_POSITION, //查询自动定位状态(位置) ACT_CTL_MOTION_POSITION, //查询自动定位状态(位置)
ACT_CTL_EMG_RESET, //复位急停按钮
ACT_CTL_DRIVER, //驱动控制(加载卸载驱动) ACT_CTL_DRIVER, //驱动控制(加载卸载驱动)
ACT_CTL_EXIT, //退出程序和守护进程 ACT_CTL_EXIT, //退出程序和守护进程
@@ -142,6 +143,7 @@ enum{
ACT_DIG_PROGRESS, //进度上报 ACT_DIG_PROGRESS, //进度上报
ACT_DIG_WARNING, //报警状态上报 ACT_DIG_WARNING, //报警状态上报
ACT_DIG_MISCT, //杂类测试。 ACT_DIG_MISCT, //杂类测试。
ACT_DIG_SIMULATOR, //模拟功能配置
}; };
#endif #endif

View File

@@ -38,6 +38,7 @@
#include "utilities/GetLockScreenTimeHelper.h" #include "utilities/GetLockScreenTimeHelper.h"
#include "utilities/GetProtocalHelper.h" #include "utilities/GetProtocalHelper.h"
#include "utilities/WorklistFilterHelper.h" #include "utilities/WorklistFilterHelper.h"
#include "device/DeviceManager.h"
#include "appvals/AppGlobalValues.h" #include "appvals/AppGlobalValues.h"
#include "json/jsonobject.h" #include "json/jsonobject.h"
@@ -54,6 +55,8 @@ DialogManager::DialogManager()
, mScreenSaverWindow(nullptr) , mScreenSaverWindow(nullptr)
, mOperationMessageDialog(nullptr) , mOperationMessageDialog(nullptr)
, mSyncDialog(nullptr) , mSyncDialog(nullptr)
, mLeftEmergencyDialog(nullptr)
, mRightEmergencyDialog(nullptr)
, mTopWidget(nullptr) , mTopWidget(nullptr)
, mCEchoTestDialog(nullptr) , mCEchoTestDialog(nullptr)
, mWorklistLoadingDialog(nullptr) , mWorklistLoadingDialog(nullptr)
@@ -61,17 +64,27 @@ DialogManager::DialogManager()
} }
void DialogManager::init(QWidget* aParent) { DialogManager::~DialogManager()
{
clearMessageDialog();
//delete mScreenSaverWindow;
}
void DialogManager::init(QWidget* aParent)
{
connect(EventCenter::Default(), &EventCenter::DeviceErrorRaise,this,&DialogManager::raiseDeviceError); connect(EventCenter::Default(), &EventCenter::DeviceErrorRaise,this,&DialogManager::raiseDeviceError);
connect(EventCenter::Default(), &EventCenter::DeviceInfoRaise,this,&DialogManager::raiseDeviceInfo); connect(EventCenter::Default(), &EventCenter::DeviceInfoRaise,this,&DialogManager::raiseDeviceInfo);
connect(EventCenter::Default(), &EventCenter::InvokeOperationStart,this,&DialogManager::invokeOperationStart); connect(EventCenter::Default(), &EventCenter::InvokeOperationStart,this,&DialogManager::invokeOperationStart);
connect(EventCenter::Default(), &EventCenter::InvokeOperationProgress,this,&DialogManager::invokeOperationProgress); connect(EventCenter::Default(), &EventCenter::InvokeOperationProgress,this,&DialogManager::invokeOperationProgress);
connect(EventCenter::Default(), &EventCenter::InvokeOperationPending,this,&DialogManager::invokeOperationPending); connect(EventCenter::Default(), &EventCenter::InvokeOperationPending,this,&DialogManager::invokeOperationPending);
connect(EventCenter::Default(), &EventCenter::InvokeOperationEnd,this,&DialogManager::invokeOperationEnd); connect(EventCenter::Default(), &EventCenter::InvokeOperationEnd,this,&DialogManager::invokeOperationEnd);
connect(DeviceManager::Default(), &DeviceManager::emergencyButtonPushed, this, &DialogManager::requestEmergencyButtonPushed);
MultyMessageDialogManager::getInstance()->setDialogParent(aParent); MultyMessageDialogManager::getInstance()->setDialogParent(aParent);
mTopWidget = aParent; mTopWidget = aParent;
mScreenSaverWindow = new ScreenSaverWindow(); mScreenSaverWindow = new ScreenSaverWindow();
mWorklistLoadingDialog = new WorklistLoadingDialog(aParent); mWorklistLoadingDialog = new WorklistLoadingDialog(aParent);
mLeftEmergencyDialog = nullptr;
mRightEmergencyDialog = nullptr;
connect(EventCenter::Default(), &EventCenter::WorklistSearchFinished, mWorklistLoadingDialog, &QDialog::accept); connect(EventCenter::Default(), &EventCenter::WorklistSearchFinished, mWorklistLoadingDialog, &QDialog::accept);
} }
@@ -609,11 +622,6 @@ void DialogManager::clearMessageDialog() {
} }
} }
DialogManager::~DialogManager() {
clearMessageDialog();
//delete mScreenSaverWindow;
}
void DialogManager::raiseMultyMessageDialog(const QString& aMessage, MessageLevel aMessageLevel) void DialogManager::raiseMultyMessageDialog(const QString& aMessage, MessageLevel aMessageLevel)
{ {
MultyMessageDialogManager::getInstance()->raiseDialog(aMessage, aMessageLevel); MultyMessageDialogManager::getInstance()->raiseDialog(aMessage, aMessageLevel);
@@ -649,3 +657,75 @@ void DialogManager::setFocusToTopDialog()
mTopWidget->setFocus(); mTopWidget->setFocus();
} }
} }
void DialogManager::requestEmergencyButtonPushed(bool aIsLeftButton, bool aIsRest)
{
qDebug()<<"requestEmergencyButtonPushed" << aIsLeftButton<<aIsRest;
GUIMessageDialog* dialog;
QString message;
if(aIsLeftButton)
{
if(mLeftEmergencyDialog == nullptr)
{
mLeftEmergencyDialog = new GUIMessageDialog(mTopWidget);
}
dialog = mLeftEmergencyDialog;
message = tr("The left emergency button has been pressed. Please reset left the emergency button before operating the device");
}
else
{
if(mRightEmergencyDialog == nullptr)
{
mRightEmergencyDialog = new GUIMessageDialog(mTopWidget);
}
dialog = mRightEmergencyDialog;
message = tr("The right emergency button has been pressed. Please reset right the emergency button before operating the device");
}
if(aIsRest)
{
dialog->setEnableExitButton(true);
}
else
{
dialog->setEnableExitButton(false);
if(!dialog->isHidden())
{
return;
}
if(mFunctionDialog!= nullptr && mFunctionDialog->isRunning())
{
dialog->setWindowFlags(dialog->windowFlags() | Qt::WindowStaysOnTopHint | Qt::BypassWindowManagerHint );
}
else
{
dialog->setWindowFlags(dialog->windowFlags() & ~Qt::WindowStaysOnTopHint & ~Qt::BypassWindowManagerHint );
}
if (nullptr != mTopWidget && mTopWidget->inherits("GUIMessageDialog"))
{
GUIMessageDialog* parent = qobject_cast<GUIMessageDialog*>(mTopWidget);
if (parent->getDialogPos().y() + 320 + GUIMESSAGEDIALOG_OFFSET < 1080)
{
dialog->moveDialog(parent->getDialogPos() + QPoint(GUIMESSAGEDIALOG_OFFSET, GUIMESSAGEDIALOG_OFFSET));
}
}
dialog->showMessage(message);
dialog->stopLoading();
dialog->showExitButton();
setTopWidget(dialog);
dialog->setWindowModality(Qt::WindowModal);
dialog->showFullScreen ();
dialog->exec();
releaseTopWidget(dialog);
if( (mLeftEmergencyDialog == nullptr || mLeftEmergencyDialog->isHidden()) &&
(mRightEmergencyDialog == nullptr || mRightEmergencyDialog->isHidden()))
{
DeviceManager::Default()->prepareEmergencyReset();
}
delete dialog;
}
}

View File

@@ -88,6 +88,7 @@ public:
void invokeOperationEnd(QObject* parent, QObject* msg); void invokeOperationEnd(QObject* parent, QObject* msg);
void setFocusToTopDialog(); void setFocusToTopDialog();
void requestLoadingWorklist(); void requestLoadingWorklist();
void requestEmergencyButtonPushed(bool aIsLeftButton, bool aIsRest);
private: private:
void clearMessageDialog(); void clearMessageDialog();
@@ -102,6 +103,8 @@ private:
ScreenSaverWindow* mScreenSaverWindow; ScreenSaverWindow* mScreenSaverWindow;
QPointer<GUIMessageDialog> mOperationMessageDialog; QPointer<GUIMessageDialog> mOperationMessageDialog;
QPointer<GUIMessageDialog> mSyncDialog; QPointer<GUIMessageDialog> mSyncDialog;
QPointer<GUIMessageDialog> mLeftEmergencyDialog;
QPointer<GUIMessageDialog> mRightEmergencyDialog;
QWidget* mTopWidget; QWidget* mTopWidget;
std::mutex mMutex; std::mutex mMutex;
CEchoTestDialog* mCEchoTestDialog; CEchoTestDialog* mCEchoTestDialog;

View File

@@ -199,4 +199,8 @@ QPoint GUIMessageDialog::getDialogPos()
{ {
return mUI->innerWidget->pos(); return mUI->innerWidget->pos();
} }
;
void GUIMessageDialog::setEnableExitButton(bool aIsEnabled)
{
mBtnAppend->setEnabled(aIsEnabled);
}

View File

@@ -28,6 +28,8 @@ public:
void setOpacity(double); void setOpacity(double);
void moveDialog(const QPoint& aPos); void moveDialog(const QPoint& aPos);
QPoint getDialogPos(); QPoint getDialogPos();
void setEnableExitButton(bool aIsEnabled);
protected: protected:
void timerEvent(QTimerEvent* event) override ; void timerEvent(QTimerEvent* event) override ;
private: private:

View File

@@ -858,6 +858,10 @@ QToolButton#mppsSettingsButton{
text-align: center; text-align: center;
} }
QPushButton#cechoButton{
background: #365880;
}
/*------AccountTableForm-----------------------------------------------------*/ /*------AccountTableForm-----------------------------------------------------*/
QWidget#commandWidgetnoBBorder { QWidget#commandWidgetnoBBorder {
min-height: 123px; min-height: 123px;
@@ -876,9 +880,6 @@ QWidget#SearchCriteriaForm QPushButton:disabled {
color:#505050; color:#505050;
} }
/*------Dialogs--------------------------------------------------------------*/ /*------Dialogs--------------------------------------------------------------*/
/*------GUIFormBaseDialog----------------------------------------------------*/ /*------GUIFormBaseDialog----------------------------------------------------*/

View File

@@ -237,26 +237,26 @@
<source>Connecting from device to %1:%2......</source> <source>Connecting from device to %1:%2......</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Connection test from device to %1:%2 failed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Connection test from device to %1:%2 successed</source> <source>Connection test from device to %1:%2 successed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Connecting from server to %1:%2......</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Connection test from server to %1:%2 successed</source> <source>Connection test from server to %1:%2 successed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Connection test from device to %1:%2 failed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Connection test from server to %1:%2 failed</source> <source>Connection test from server to %1:%2 failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Connecting from server to %1:%2......</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>CEchoTestDialog</name> <name>CEchoTestDialog</name>
@@ -411,6 +411,21 @@ progress:99%</source>
<source>Error: </source> <source>Error: </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Device reset failed, please contact maintenance person</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogManager</name>
<message>
<source>The left emergency button has been pressed. Please reset left the emergency button before operating the device</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The right emergency button has been pressed. Please reset right the emergency button before operating the device</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>DicomCfgDialog</name> <name>DicomCfgDialog</name>
@@ -1293,11 +1308,11 @@ progress:99%</source>
<context> <context>
<name>PatientInformation</name> <name>PatientInformation</name>
<message> <message>
<source>Scheduled Date</source> <source>Accession Number</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Accession Number</source> <source>Scheduled Date</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>

View File

@@ -468,139 +468,144 @@
<context> <context>
<name>DeviceManager</name> <name>DeviceManager</name>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="167"/> <location filename="../device/DeviceManager.cpp" line="168"/>
<location filename="../device/DeviceManager.cpp" line="814"/> <location filename="../device/DeviceManager.cpp" line="831"/>
<location filename="../device/DeviceManager.cpp" line="822"/> <location filename="../device/DeviceManager.cpp" line="839"/>
<location filename="../device/DeviceManager.cpp" line="1426"/> <location filename="../device/DeviceManager.cpp" line="1446"/>
<source>DMS connection error</source> <source>DMS connection error</source>
<translation type="unfinished">DMS失去连接</translation> <translation type="unfinished">DMS失去连接</translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="360"/> <location filename="../device/DeviceManager.cpp" line="361"/>
<location filename="../device/DeviceManager.cpp" line="369"/> <location filename="../device/DeviceManager.cpp" line="370"/>
<source>progress:%1%</source> <source>progress:%1%</source>
<translation type="unfinished">:%1%</translation> <translation type="unfinished">:%1%</translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="374"/> <location filename="../device/DeviceManager.cpp" line="375"/>
<source>Patient can leave. <source>Patient can leave.
progress:%1%</source> progress:%1%</source>
<translation type="unfinished"> <translation type="unfinished">
:%1%</translation> :%1%</translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="381"/> <location filename="../device/DeviceManager.cpp" line="382"/>
<source>Data quality assessment in progress <source>Data quality assessment in progress
progress:99%</source> progress:99%</source>
<translation type="unfinished"> <translation type="unfinished">
进度:99%</translation> 进度:99%</translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="256"/> <location filename="../device/DeviceManager.cpp" line="257"/>
<location filename="../device/DeviceManager.cpp" line="875"/> <location filename="../device/DeviceManager.cpp" line="892"/>
<location filename="../device/DeviceManager.cpp" line="883"/> <location filename="../device/DeviceManager.cpp" line="900"/>
<source>Initialize Failed.</source> <source>Initialize Failed.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="227"/> <location filename="../device/DeviceManager.cpp" line="228"/>
<source>Fail to connect to DB!Reboot device to try!</source> <source>Fail to connect to DB!Reboot device to try!</source>
<translation type="unfinished">!</translation> <translation type="unfinished">!</translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="317"/> <location filename="../device/DeviceManager.cpp" line="318"/>
<source>Device is not ready, start scan operation failed!</source> <source>Device is not ready, start scan operation failed!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="317"/> <location filename="../device/DeviceManager.cpp" line="318"/>
<source>Device is not ready, start empty scan operation failed!</source> <source>Device is not ready, start empty scan operation failed!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="434"/> <location filename="../device/DeviceManager.cpp" line="435"/>
<source>Scan completed!</source> <source>Scan completed!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="778"/> <location filename="../device/DeviceManager.cpp" line="782"/>
<source>Error: </source> <source>Error: </source>
<translation type="unfinished">: </translation> <translation type="unfinished">: </translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="849"/> <location filename="../device/DeviceManager.cpp" line="866"/>
<source>Start scan failed. Reason:time out.</source> <source>Start scan failed. Reason:time out.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="860"/> <location filename="../device/DeviceManager.cpp" line="877"/>
<source>Start scan failed. Reason:%1</source> <source>Start scan failed. Reason:%1</source>
<translation type="unfinished">%1</translation> <translation type="unfinished">%1</translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="885"/> <location filename="../device/DeviceManager.cpp" line="902"/>
<source>Start CE Scan Failed.</source> <source>Start CE Scan Failed.</source>
<translation type="unfinished">CE扫查启动失败</translation> <translation type="unfinished">CE扫查启动失败</translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="917"/> <location filename="../device/DeviceManager.cpp" line="936"/>
<source>Data is currently being transmitted, please shut down later.</source> <source>Data is currently being transmitted, please shut down later.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="924"/> <location filename="../device/DeviceManager.cpp" line="943"/>
<source>Shut down failed, please push emergency button to shutdown.</source> <source>Shut down failed, please push emergency button to shutdown.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1015"/> <location filename="../device/DeviceManager.cpp" line="1034"/>
<location filename="../device/DeviceManager.cpp" line="1025"/> <location filename="../device/DeviceManager.cpp" line="1044"/>
<location filename="../device/DeviceManager.cpp" line="1101"/> <location filename="../device/DeviceManager.cpp" line="1120"/>
<source>Scan data transfer failed.</source> <source>Scan data transfer failed.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1079"/> <location filename="../device/DeviceManager.cpp" line="1098"/>
<source>Scan data transfer Succeeded!</source> <source>Scan data transfer Succeeded!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1121"/> <location filename="../device/DeviceManager.cpp" line="1140"/>
<source>Create empty scan data failed</source> <source>Create empty scan data failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1143"/> <location filename="../device/DeviceManager.cpp" line="1162"/>
<source>Create scan data failed</source> <source>Create scan data failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1210"/> <location filename="../device/DeviceManager.cpp" line="1229"/>
<source>Recon disconnected.</source> <source>Recon disconnected.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1275"/> <location filename="../device/DeviceManager.cpp" line="1295"/>
<location filename="../device/DeviceManager.cpp" line="1290"/> <location filename="../device/DeviceManager.cpp" line="1310"/>
<source>Open pump failed.</source> <source>Open pump failed.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1307"/> <location filename="../device/DeviceManager.cpp" line="1327"/>
<source>Recon error, can&apos;t start scan process</source> <source>Recon error, can&apos;t start scan process</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1348"/> <location filename="../device/DeviceManager.cpp" line="1368"/>
<location filename="../device/DeviceManager.cpp" line="1400"/> <location filename="../device/DeviceManager.cpp" line="1420"/>
<source>Start auto locate failed</source> <source>Start auto locate failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../device/DeviceManager.cpp" line="1420"/> <location filename="../device/DeviceManager.cpp" line="1440"/>
<source>The data quality is low, please restart the data scan.</source> <source>The data quality is low, please restart the data scan.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../device/DeviceManager.cpp" line="1468"/>
<source>Device reset failed, please contact maintenance person</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>DialogManager</name> <name>DialogManager</name>
@@ -616,6 +621,16 @@ progress:99%</source>
<source>Last 7 days</source> <source>Last 7 days</source>
<translation type="obsolete">7</translation> <translation type="obsolete">7</translation>
</message> </message>
<message>
<location filename="../dialogs/DialogManager.cpp" line="673"/>
<source>The left emergency button has been pressed. Please reset left the emergency button before operating the device</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/DialogManager.cpp" line="682"/>
<source>The right emergency button has been pressed. Please reset right the emergency button before operating the device</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>DicomCfgDialog</name> <name>DicomCfgDialog</name>
@@ -1781,6 +1796,11 @@ progress:99%</source>
<source>No</source> <source>No</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../recon/PACSSettingsDataModel.cpp" line="52"/>
<source>Server AE</source>
<translation type="unfinished">AE</translation>
</message>
<message> <message>
<location filename="../recon/PACSSettingsDataModel.cpp" line="52"/> <location filename="../recon/PACSSettingsDataModel.cpp" line="52"/>
<source>AETitle</source> <source>AETitle</source>
@@ -1796,11 +1816,6 @@ progress:99%</source>
<source>Port</source> <source>Port</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../recon/PACSSettingsDataModel.cpp" line="52"/>
<source>Server AE</source>
<translation type="unfinished">AE</translation>
</message>
<message> <message>
<location filename="../recon/PACSSettingsDataModel.cpp" line="52"/> <location filename="../recon/PACSSettingsDataModel.cpp" line="52"/>
<source>Use SC</source> <source>Use SC</source>
@@ -2151,44 +2166,44 @@ progress:99%</source>
<translation type="obsolete"></translation> <translation type="obsolete"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconFormWidget.cpp" line="107"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="108"/>
<location filename="../forms/recon/ReconFormWidget.cpp" line="153"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="154"/>
<source>Patient ID</source> <source>Patient ID</source>
<translation type="unfinished">ID</translation> <translation type="unfinished">ID</translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconFormWidget.cpp" line="108"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="109"/>
<location filename="../forms/recon/ReconFormWidget.cpp" line="154"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="155"/>
<source>Accession Number</source> <source>Accession Number</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconFormWidget.cpp" line="109"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="110"/>
<location filename="../forms/recon/ReconFormWidget.cpp" line="155"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="156"/>
<source>Patient Name</source> <source>Patient Name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconFormWidget.cpp" line="112"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="113"/>
<location filename="../forms/recon/ReconFormWidget.cpp" line="158"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="159"/>
<source>Operator Name</source> <source>Operator Name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconFormWidget.cpp" line="110"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="111"/>
<location filename="../forms/recon/ReconFormWidget.cpp" line="156"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="157"/>
<source>Scan Time</source> <source>Scan Time</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconFormWidget.cpp" line="111"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="112"/>
<location filename="../forms/recon/ReconFormWidget.cpp" line="157"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="158"/>
<source>Laterality</source> <source>Laterality</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconFormWidget.cpp" line="113"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="114"/>
<location filename="../forms/recon/ReconFormWidget.cpp" line="159"/> <location filename="../forms/recon/ReconFormWidget.cpp" line="160"/>
<source>State</source> <source>State</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -2265,49 +2280,49 @@ progress:99%</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="54"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="55"/>
<source>Transfer completed</source> <source>Transfer completed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="57"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="58"/>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="63"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="65"/>
<source>Recon create failed</source> <source>Recon create failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="60"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="62"/>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="66"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="69"/>
<source>Wait to recon</source> <source>Wait to recon</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="69"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="72"/>
<source>Recon ing</source> <source>Recon ing</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="72"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="75"/>
<source>Recon failed</source> <source>Recon failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="75"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="79"/>
<source>Recon succeed</source> <source>Recon succeed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="78"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="82"/>
<source>PACS failed</source> <source>PACS failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="81"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="86"/>
<source>PACS succeed</source> <source>PACS succeed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../forms/recon/ReconStateDelegate.cpp" line="84"/> <location filename="../forms/recon/ReconStateDelegate.cpp" line="89"/>
<source>Unknow</source> <source>Unknow</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>