diff --git a/src/device/DeviceManager.cpp b/src/device/DeviceManager.cpp index 8cab638..0d931c6 100644 --- a/src/device/DeviceManager.cpp +++ b/src/device/DeviceManager.cpp @@ -181,16 +181,28 @@ void DeviceManager::initDevice() mCheckInitStatusTimer = startTimer(500); } -void DeviceManager::initGUI() +void DeviceManager::initGUI(bool aIsInitSucceed) { - if(getDeviceStatus() != DeviceStatus::Rready) + if(aIsInitSucceed) { - mStopScanAction->execute(); - } - if(!getCEStatus() && startCEScan()) - { - mIsInitializing = true; - mScanProgressTimer = startTimer(500); + if(getDeviceStatus() != DeviceStatus::Rready) + { + mStopScanAction->execute(); + } + if(!getCEStatus() && startCEScan()) + { + mIsInitializing = true; + mScanProgressTimer = startTimer(500); + } + else + { + emit initializeProgress("33"); + QThread::msleep(500); + emit initializeProgress("66"); + QThread::msleep(500); + emit initializeProgress("100"); + emit initializeFinished(); + } } else { @@ -496,7 +508,7 @@ void DeviceManager::checkInitStatus() } QString msg = tr("Initialize Failed."); THROW_ERROR(msg); - initGUI(); + initGUI(false); return; } @@ -508,7 +520,16 @@ void DeviceManager::checkInitStatus() killTimer(mCheckInitStatusTimer); mCheckInitStatusTimer = -1; } - initGUI(); + initGUI(true); + } + else if(jsonObj["code"].toInt() == 2) + { + if(mCheckInitStatusTimer != -1) + { + killTimer(mCheckInitStatusTimer); + mCheckInitStatusTimer = -1; + } + initGUI(false); } } diff --git a/src/device/DeviceManager.h b/src/device/DeviceManager.h index 0be19a6..898e236 100644 --- a/src/device/DeviceManager.h +++ b/src/device/DeviceManager.h @@ -107,7 +107,7 @@ private: void initEmptyScanMeasurementID(); void controlDrainage(const QString& aCode); void checkInitStatus(); - void initGUI(); + void initGUI(bool aIsInitSucceed); void processScanProgress(const QString& aProgress); void processInitializeProgress(const QString& aProgress);