调整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;
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:
is_show_ui_ = false;
uev = SANE_EVENT_UI_CLOSE_CANCEL;
//on_ui_event(uev, (void*)uev);
uev = SANE_EVENT_UI_CLOSE_SETTING;
on_ui_event(uev, (void*)uev);
break;
case UI_RESULT_START_SCAN:
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;
switch (res)
{
case UI_RESULT_FAILED:
break;
case UI_RESULT_OK:
break;
case UI_RESULT_CLOSE_NORMAL:
uev = SANE_EVENT_UI_CLOSE_NORMAL;
if (!is_show_ui_)
//if (!is_show_ui_)
{
on_ui_event(uev, (void*)uev);
}
break;
case UI_RESULT_CLOSE_CANCEL:
uev = SANE_EVENT_UI_CLOSE_CANCEL;
if (!is_show_ui_)
//if (!is_show_ui_)
{
on_ui_event(uev, (void*)uev);
}
else
stop();
break;
case UI_RESULT_START_SCAN:
//else
// stop();
break;
default:
break;

View File

@ -3569,17 +3569,8 @@ int huagao_ds::handle_scanner_event(int ev, bool from_event_proc)
// scanner_->stop();
//}
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:
scanner_->ui_hide();
case SANE_EVENT_SCAN_FINISHED:
scanner_status_ = SCANNER_STATUS_STOPPED;
//notifyCloseOk();
//break;
rc = notifyCloseCancel();
if (!Twpp::success(rc))
{
@ -3593,6 +3584,16 @@ int huagao_ds::handle_scanner_event(int ev, bool from_event_proc)
rc = notifyCloseCancel();
}
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:
scanner_->ui_show_progress(NULL, m_bIndicator);