不显示指示框的错误信息提示
This commit is contained in:
parent
8a70b2f6ed
commit
ee54680fdc
|
@ -345,6 +345,7 @@ namespace callback
|
||||||
int (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = 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, const char* devname, bool with_scan) = NULL;
|
int (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, const char* devname, 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;
|
int (*show_progress_ui)(HWND parent, std::function<void(ui_result)> callback, std::function<void(int/*event*/, void*/*msg*/, int/*flag*/)>* notify) = NULL;
|
||||||
|
int (*show_messagebox_ui)(HWND parent, int/*event*/, void*/*msg*/, int/*flag*/) = NULL;
|
||||||
|
|
||||||
//std::function<void(ui_result)> ui_result_callback;
|
//std::function<void(ui_result)> ui_result_callback;
|
||||||
std::function<void(int/*event*/, void*/*msg*/, int/*flag*/)> notify;
|
std::function<void(int/*event*/, void*/*msg*/, int/*flag*/)> notify;
|
||||||
|
@ -376,6 +377,7 @@ namespace callback
|
||||||
GET_API(apply_current_config);
|
GET_API(apply_current_config);
|
||||||
GET_API(show_setting_ui);
|
GET_API(show_setting_ui);
|
||||||
GET_API(show_progress_ui);
|
GET_API(show_progress_ui);
|
||||||
|
GET_API(show_messagebox_ui);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -876,13 +878,21 @@ int scanner::open(void)
|
||||||
apply_config();
|
apply_config();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (callback::show_messagebox_ui)
|
||||||
|
{
|
||||||
|
callback::show_messagebox_ui(app_wnd_, ret, (void*)hg_scanner_err_description(ret), 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
std::wstring msg(local_trans::a2u(hg_scanner_err_description(ret), CP_UTF8));
|
std::wstring msg(local_trans::a2u(hg_scanner_err_description(ret), CP_UTF8));
|
||||||
HWND parent = callback::find_main_wnd();
|
|
||||||
|
|
||||||
if (!IsWindow(parent))
|
//if (indicator_.get())
|
||||||
callback::bring_message_box_topmost(local_trans::lang_trans_between_hz936(CONST_STRING_OPEN_FAILED).c_str());
|
// indicator_->show(false);
|
||||||
MessageBoxW(parent, msg.c_str(), local_trans::lang_trans_between_hz936(CONST_STRING_OPEN_FAILED).c_str(), MB_OK | MB_ICONERROR);
|
if (!IsWindow(app_wnd_))
|
||||||
|
callback::bring_message_box_topmost(local_trans::lang_trans_between_hz936(CONST_STRING_START_FAILED).c_str());
|
||||||
|
MessageBoxW(app_wnd_, msg.c_str(), local_trans::lang_trans_between_hz936(CONST_STRING_START_FAILED).c_str(), MB_OK | MB_ICONERROR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -2424,6 +2434,21 @@ COM_API_IMPLEMENT(scanner, int, start(void))
|
||||||
// indicator_->notify_scan_over(hg_scanner_err_description(ret), true);
|
// indicator_->notify_scan_over(hg_scanner_err_description(ret), true);
|
||||||
//}
|
//}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (callback::show_progress_ui && is_bIndicator)
|
||||||
|
{
|
||||||
|
int ev = ret;
|
||||||
|
|
||||||
|
ui_notify(ev, (void *)hg_scanner_err_description(ret), 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
if (callback::show_messagebox_ui)
|
||||||
|
{
|
||||||
|
callback::show_messagebox_ui(app_wnd_, ret, (void*)hg_scanner_err_description(ret), 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
std::wstring msg(local_trans::a2u(hg_scanner_err_description(ret), CP_UTF8));
|
std::wstring msg(local_trans::a2u(hg_scanner_err_description(ret), CP_UTF8));
|
||||||
|
|
||||||
|
@ -2433,6 +2458,8 @@ COM_API_IMPLEMENT(scanner, int, start(void))
|
||||||
callback::bring_message_box_topmost(local_trans::lang_trans_between_hz936(CONST_STRING_START_FAILED).c_str());
|
callback::bring_message_box_topmost(local_trans::lang_trans_between_hz936(CONST_STRING_START_FAILED).c_str());
|
||||||
MessageBoxW(app_wnd_, msg.c_str(), local_trans::lang_trans_between_hz936(CONST_STRING_START_FAILED).c_str(), MB_OK | MB_ICONERROR);
|
MessageBoxW(app_wnd_, msg.c_str(), local_trans::lang_trans_between_hz936(CONST_STRING_START_FAILED).c_str(), MB_OK | MB_ICONERROR);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
prev_start_result_ = ret;
|
prev_start_result_ = ret;
|
||||||
is_scanning_ = ret == SANE_STATUS_GOOD;
|
is_scanning_ = ret == SANE_STATUS_GOOD;
|
||||||
|
|
||||||
|
@ -2997,8 +3024,6 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_setting(HWND parent, bool with_scan, bo
|
||||||
COM_API_IMPLEMENT(scanner, bool, ui_show_progress(HWND parent, bool bIndicator))
|
COM_API_IMPLEMENT(scanner, bool, ui_show_progress(HWND parent, bool bIndicator))
|
||||||
{
|
{
|
||||||
is_bIndicator = bIndicator;
|
is_bIndicator = bIndicator;
|
||||||
if (callback::show_progress_ui && bIndicator)
|
|
||||||
{
|
|
||||||
auto ui_process = [this](ui_result res)
|
auto ui_process = [this](ui_result res)
|
||||||
{
|
{
|
||||||
int uev = SANE_EVENT_SCAN_FINISHED;
|
int uev = SANE_EVENT_SCAN_FINISHED;
|
||||||
|
@ -3024,6 +3049,9 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_progress(HWND parent, bool bIndicator))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
if (callback::show_progress_ui && bIndicator)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
callback::show_progress_ui(parent, ui_process,&ui_notify);
|
callback::show_progress_ui(parent, ui_process,&ui_notify);
|
||||||
}
|
}
|
||||||
|
@ -3126,7 +3154,11 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
|
||||||
ui_notify(ev_code, data, 0);
|
ui_notify(ev_code, data, 0);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//if (*len)
|
if (callback::show_messagebox_ui && *len)
|
||||||
|
{
|
||||||
|
callback::show_messagebox_ui(app_wnd_, ev_code, (void*)data, 0);
|
||||||
|
}
|
||||||
|
else if (*len) //错误弹出
|
||||||
{
|
{
|
||||||
std::wstring msg(local_trans::a2u((char*)data, CP_UTF8));
|
std::wstring msg(local_trans::a2u((char*)data, CP_UTF8));
|
||||||
if(!IsWindow(app_wnd_))
|
if(!IsWindow(app_wnd_))
|
||||||
|
|
Loading…
Reference in New Issue