调整QT界面调用;调整notifyApp调用:进入扫描流程后,状态改变在EndXfer例程中处理,不再在相关事件中调用notifyApp操作

This commit is contained in:
gb 2023-05-17 09:44:19 +08:00
parent d355b0467f
commit 2e49040846
2 changed files with 16 additions and 27 deletions

View File

@ -3078,15 +3078,10 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_setting(HWND parent, bool with_scan, bo
break; break;
case UI_RESULT_CLOSE_NORMAL: case UI_RESULT_CLOSE_NORMAL:
is_show_ui_ = false;
uev = SANE_EVENT_UI_CLOSE_NORMAL;
on_ui_event(uev, (void*)uev);
break;
case UI_RESULT_CLOSE_CANCEL: case UI_RESULT_CLOSE_CANCEL:
is_show_ui_ = false; is_show_ui_ = false;
uev = SANE_EVENT_UI_CLOSE_CANCEL; uev = SANE_EVENT_UI_CLOSE_SETTING;
//on_ui_event(uev, (void*)uev); on_ui_event(uev, (void*)uev);
break; break;
case UI_RESULT_START_SCAN: case UI_RESULT_START_SCAN:
on_ui_event(SANE_EVENT_UI_SCAN_COMMAND, NULL); on_ui_event(SANE_EVENT_UI_SCAN_COMMAND, NULL);
@ -3151,28 +3146,21 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_progress(HWND parent, bool bIndicator))
int uev = SANE_EVENT_SCAN_FINISHED; int uev = SANE_EVENT_SCAN_FINISHED;
switch (res) switch (res)
{ {
case UI_RESULT_FAILED:
break;
case UI_RESULT_OK:
break;
case UI_RESULT_CLOSE_NORMAL: case UI_RESULT_CLOSE_NORMAL:
uev = SANE_EVENT_UI_CLOSE_NORMAL; uev = SANE_EVENT_UI_CLOSE_NORMAL;
if (!is_show_ui_) //if (!is_show_ui_)
{ {
on_ui_event(uev, (void*)uev); on_ui_event(uev, (void*)uev);
} }
break; break;
case UI_RESULT_CLOSE_CANCEL: case UI_RESULT_CLOSE_CANCEL:
uev = SANE_EVENT_UI_CLOSE_CANCEL; uev = SANE_EVENT_UI_CLOSE_CANCEL;
if (!is_show_ui_) //if (!is_show_ui_)
{ {
on_ui_event(uev, (void*)uev); on_ui_event(uev, (void*)uev);
} }
else //else
stop(); // stop();
break;
case UI_RESULT_START_SCAN:
break; break;
default: default:
break; break;

View File

@ -3569,17 +3569,8 @@ int huagao_ds::handle_scanner_event(int ev, bool from_event_proc)
// scanner_->stop(); // scanner_->stop();
//} //}
break; break;
case SANE_EVENT_UI_CLOSE_CANCEL:
scanner_->stop();
//notifyCloseCancel(); // 修复点击进度框"取消"按钮UI不能正常结束的BUG - added on 2023-02-14
//break;
case SANE_EVENT_UI_CLOSE_NORMAL:
case SANE_EVENT_UI_CLOSE_SETTING: case SANE_EVENT_UI_CLOSE_SETTING:
scanner_->ui_hide(); scanner_->ui_hide();
case SANE_EVENT_SCAN_FINISHED:
scanner_status_ = SCANNER_STATUS_STOPPED;
//notifyCloseOk();
//break;
rc = notifyCloseCancel(); rc = notifyCloseCancel();
if (!Twpp::success(rc)) if (!Twpp::success(rc))
{ {
@ -3593,6 +3584,16 @@ int huagao_ds::handle_scanner_event(int ev, bool from_event_proc)
rc = notifyCloseCancel(); rc = notifyCloseCancel();
} }
break; break;
case SANE_EVENT_UI_CLOSE_CANCEL:
scanner_->stop();
//notifyCloseCancel(); // 修复点击进度框"取消"按钮UI不能正常结束的BUG - added on 2023-02-14
//break;
case SANE_EVENT_UI_CLOSE_NORMAL:
case SANE_EVENT_SCAN_FINISHED:
scanner_status_ = SCANNER_STATUS_STOPPED; // notifyCloseCancel is not need, because it done in EndXfer
//notifyCloseOk();
//break;
break;
case SANE_EVENT_UI_SCAN_COMMAND: case SANE_EVENT_UI_SCAN_COMMAND:
scanner_->ui_show_progress(NULL, m_bIndicator); scanner_->ui_show_progress(NULL, m_bIndicator);