diff --git a/doc/scanner/HuaGoScan_scanSettings_Help_manual.pdf b/doc/scanner/HuaGoScan_scanSettings_Help_manual.pdf index 6cf537f9..1cbcf339 100644 Binary files a/doc/scanner/HuaGoScan_scanSettings_Help_manual.pdf and b/doc/scanner/HuaGoScan_scanSettings_Help_manual.pdf differ diff --git a/modules/twainui/hg_settingdialog.cpp b/modules/twainui/hg_settingdialog.cpp index 1fc6c788..78f5fa4b 100644 --- a/modules/twainui/hg_settingdialog.cpp +++ b/modules/twainui/hg_settingdialog.cpp @@ -83,8 +83,7 @@ hg_settingdialog::hg_settingdialog(class Manager *mgr, SANE_Handle handle, const m_originGammaData = m_gammaData; connect(comb_, SIGNAL(currentTextChanged(const QString)), this, SLOT(on_current_scheme_changed())); - connect(this, SIGNAL(scan_start()),this, SLOT(on_scan_start()), Qt::QueuedConnection); - connect(this, SIGNAL(scan_finish()), this, SLOT(on_scan_finish()), Qt::QueuedConnection); + connect(this, SIGNAL(scan_status(QString,bool)),this, SLOT(on_scan_status(QString, bool)), Qt::QueuedConnection); *notify = FuncNotify; } @@ -191,13 +190,24 @@ void hg_settingdialog::FuncNotify(int event, void* msg, int flag) { case SANE_EVENT_WORKING: { - emit p->scan_start(); + QString finishInfo; + if (0 != flag) + { + finishInfo = (char*)msg; + } + + emit p->scan_status(finishInfo, true); } break; case SANE_EVENT_SCAN_FINISHED: { - emit p->scan_finish(); + QString finishInfo; + if (0 != flag) + { + finishInfo = (char*)msg; + } + emit p->scan_status(finishInfo, false); } break; } @@ -1200,18 +1210,16 @@ void hg_settingdialog::updateUIStatus() } } -void hg_settingdialog::on_scan_start() +void hg_settingdialog::on_scan_status(QString info, bool status) { - m_isScanning = true; - this->setEnabled(false); - setAttribute(Qt::WA_DeleteOnClose, false); -} - -void hg_settingdialog::on_scan_finish() -{ - m_isScanning = false; - this->setEnabled(true); - setAttribute(Qt::WA_DeleteOnClose, true); + if (!info.isEmpty()) + { + QMessageBox::information(this, tr("Prompt"), info); + } + + m_isScanning = status; + this->setEnabled(!status); + setAttribute(Qt::WA_DeleteOnClose, !status); } void hg_settingdialog::slot_checkedClicked() diff --git a/modules/twainui/hg_settingdialog.h b/modules/twainui/hg_settingdialog.h index 507f84c2..b70de800 100644 --- a/modules/twainui/hg_settingdialog.h +++ b/modules/twainui/hg_settingdialog.h @@ -137,12 +137,10 @@ private: QVector m_list_widgets; signals: - void scan_start(); - void scan_finish(); + void scan_status(QString info, bool status); private slots: - void on_scan_start(); - void on_scan_finish(); + void on_scan_status(QString info, bool status); private slots: void slot_checkedClicked();