调整第三方软件打开太快 ,usb缺没准备好的问题,调整部分的QT版本
This commit is contained in:
parent
cce0eee3f0
commit
d278ab3fef
|
@ -342,9 +342,9 @@ namespace callback
|
|||
// SANE_EVENT_USB_DATA_RECEIVED- void* unused, be NULL, flag - unused, be 0
|
||||
// SANE_EVENT_IMAGE_OK - void* unused, be NULL, flag - unused, be 0
|
||||
int (*choose_scanner)(const std::vector<DEVQUEUI>& devs) = NULL; // blocked. return selected DEVQUE::id or -1 if user cancelled
|
||||
void (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当前配置
|
||||
void (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, bool with_scan) = NULL;
|
||||
void (*show_progress_ui)(HWND parent, std::function<void(ui_result)> callback, std::function<void(int/*event*/, void*/*msg*/, int/*flag*/)>* notify) = NULL;
|
||||
int (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当前配置
|
||||
int (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, bool with_scan) = NULL;
|
||||
int (*show_progress_ui)(HWND parent, std::function<void(ui_result)> callback, std::function<void(int/*event*/, void*/*msg*/, int/*flag*/)>* notify) = NULL;
|
||||
|
||||
//std::function<void(ui_result)> ui_result_callback;
|
||||
std::function<void(int/*event*/, void*/*msg*/, int/*flag*/)> notify;
|
||||
|
@ -701,7 +701,7 @@ void scanner::on_ui_event(int uev, void* sender)
|
|||
if (uev == SANE_EVENT_SCAN_FINISHED || uev == SANE_EVENT_UI_CLOSE_NORMAL || uev == SANE_EVENT_UI_CLOSE_CANCEL)
|
||||
{
|
||||
if (uev == SANE_EVENT_UI_CLOSE_CANCEL)
|
||||
user_cancel_ = true;
|
||||
stop();
|
||||
|
||||
if (indicator)
|
||||
indicator_.reset();
|
||||
|
@ -2460,25 +2460,25 @@ COM_API_IMPLEMENT(scanner, int, get_scanned_images(DWORD milliseconds))
|
|||
else
|
||||
Sleep(elapse);
|
||||
|
||||
int ev = get_event();
|
||||
|
||||
count = images_.count();
|
||||
if (ev == SANE_EVENT_SCAN_FINISHED)
|
||||
{
|
||||
ui_hide();
|
||||
break;
|
||||
}
|
||||
else if (ev == SANE_EVENT_UI_CLOSE_CANCEL)
|
||||
{
|
||||
stop();
|
||||
ui_hide();
|
||||
break;
|
||||
}
|
||||
else if (ev == SANE_EVENT_UI_CLOSE_NORMAL)
|
||||
{
|
||||
ui_hide();
|
||||
break;
|
||||
}
|
||||
//int ev = get_event();
|
||||
//
|
||||
//count = images_.count();
|
||||
//if (ev == SANE_EVENT_SCAN_FINISHED)
|
||||
//{
|
||||
// ui_hide();
|
||||
// break;
|
||||
//}
|
||||
//else if (ev == SANE_EVENT_UI_CLOSE_CANCEL)
|
||||
//{
|
||||
// stop();
|
||||
// ui_hide();
|
||||
// break;
|
||||
//}
|
||||
//else if (ev == SANE_EVENT_UI_CLOSE_NORMAL)
|
||||
//{
|
||||
// ui_hide();
|
||||
// break;
|
||||
//}
|
||||
if (milliseconds != -1)
|
||||
{
|
||||
if (milliseconds <= elapse)
|
||||
|
@ -2904,7 +2904,45 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_setting(HWND parent, bool with_scan, bo
|
|||
{
|
||||
on_ui_event(ev, NULL);
|
||||
};
|
||||
callback::show_setting_ui(handle_, parent, &sane_api_, with_scan);
|
||||
|
||||
//auto ui_process = [this](ui_result res)
|
||||
//{
|
||||
// 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;
|
||||
// on_ui_event(uev, (void*)uev);
|
||||
// break;
|
||||
// case UI_RESULT_CLOSE_CANCEL:
|
||||
// uev = SANE_EVENT_UI_CLOSE_CANCEL;
|
||||
// sane_api_.sane_cancel_api(handle_);
|
||||
// //on_ui_event(uev, (void*)uev);
|
||||
// break;
|
||||
// case UI_RESULT_START_SCAN:
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
//};
|
||||
int res = callback::show_setting_ui(handle_, parent, &sane_api_, true);
|
||||
if (res == ui_result::UI_RESULT_CLOSE_NORMAL)
|
||||
{
|
||||
int ev = SANE_EVENT_UI_CLOSE_NORMAL;
|
||||
on_ui_event(ev, (void*)ev);
|
||||
}
|
||||
else if (res == ui_result::UI_RESULT_START_SCAN)
|
||||
{
|
||||
//callback::show_progress_ui(parent, ui_process, &ui_notify);
|
||||
//start();
|
||||
on_ui_event(SANE_EVENT_UI_SCAN_COMMAND, NULL);
|
||||
}
|
||||
//on_ui_event(ev, NULL);
|
||||
}
|
||||
else if (cfg_)
|
||||
{
|
||||
|
@ -2954,8 +2992,8 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_progress(HWND parent))
|
|||
break;
|
||||
case UI_RESULT_CLOSE_CANCEL:
|
||||
uev = SANE_EVENT_UI_CLOSE_CANCEL;
|
||||
sane_api_.sane_cancel_api(handle_);
|
||||
//on_ui_event(uev, (void*)uev);
|
||||
on_ui_event(uev, (void*)uev);
|
||||
|
||||
break;
|
||||
case UI_RESULT_START_SCAN:
|
||||
break;
|
||||
|
@ -3004,6 +3042,8 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
|
|||
else
|
||||
on_ui_event(ev_code, (void*)ev_code);
|
||||
|
||||
ui_notify(ev_code, data, 0);
|
||||
|
||||
log_info(L"Scanning ...\r\n", 0);
|
||||
}
|
||||
else if (ev_code == SANE_EVENT_IMAGE_OK)
|
||||
|
|
Loading…
Reference in New Issue