From f7fe3de9834dd81ab113e6982383303641c76aaf Mon Sep 17 00:00:00 2001 From: luoliangyi <87842688@qq.com> Date: Tue, 4 Apr 2023 16:36:19 +0800 Subject: [PATCH] =?UTF-8?q?HGSaneUI=E6=A8=A1=E5=9D=97=E5=A2=9E=E5=8A=A0msg?= =?UTF-8?q?box=E5=AF=B9=E8=AF=9D=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/demo/device_user.cpp | 2 +- build2/qt/HGSaneUI/HGSaneUI.def | 2 ++ modules/saneui/HGSaneUI.cpp | 40 +++++++++++++++++++++++++ modules/saneui/HGSaneUI.h | 3 ++ modules/saneui/dialog_device_scan.cpp | 8 ++--- modules/saneui/dialog_device_select.cpp | 2 +- 6 files changed, 51 insertions(+), 6 deletions(-) diff --git a/app/demo/device_user.cpp b/app/demo/device_user.cpp index d4abfc21..04979780 100644 --- a/app/demo/device_user.cpp +++ b/app/demo/device_user.cpp @@ -103,7 +103,7 @@ class DeviceUser* DeviceUserMgr::OpenDeviceUser() if (nullptr == dev) { HGSane_CloseSource(source); - QMessageBox::information(m_wnd, tr("tips"), tr(errInfo)); + QMessageBox::information(m_wnd, tr("tips"), QString::fromUtf8(errInfo)); return nullptr; } diff --git a/build2/qt/HGSaneUI/HGSaneUI.def b/build2/qt/HGSaneUI/HGSaneUI.def index ecb3640f..166f1a12 100644 --- a/build2/qt/HGSaneUI/HGSaneUI.def +++ b/build2/qt/HGSaneUI/HGSaneUI.def @@ -6,4 +6,6 @@ show_srclist_ui show_devlist_ui show_setting_ui show_scan_ui +show_msgbox_info +show_msgbox_warning show_twain_srclist_ui \ No newline at end of file diff --git a/modules/saneui/HGSaneUI.cpp b/modules/saneui/HGSaneUI.cpp index 702c528d..c3651222 100644 --- a/modules/saneui/HGSaneUI.cpp +++ b/modules/saneui/HGSaneUI.cpp @@ -165,6 +165,46 @@ int show_scan_ui(const SANEAPI* saneApi, SANE_Handle handle, const char *devName return 0; } +int show_msgbox_info(const char *title, const char *text, HGWindow parent) +{ + if (nullptr == title || nullptr == text) + return -1; + + QWidget *qParent = nullptr; +#ifdef HG_CMP_MSC + if (!g_ownApplication) + g_ownApplication = QMfcApp::pluginInstance(g_hInst); + QWinWidget win(parent); + win.showCentered(); + qParent = &win; +#else + qParent = parent; +#endif + + QMessageBox::information(qParent, QString::fromUtf8(title), QString::fromUtf8(text)); + return 0; +} + +int show_msgbox_warning(const char *title, const char *text, HGWindow parent) +{ + if (nullptr == title || nullptr == text) + return -1; + + QWidget *qParent = nullptr; +#ifdef HG_CMP_MSC + if (!g_ownApplication) + g_ownApplication = QMfcApp::pluginInstance(g_hInst); + QWinWidget win(parent); + win.showCentered(); + qParent = &win; +#else + qParent = parent; +#endif + + QMessageBox::warning(qParent, QString::fromUtf8(title), QString::fromUtf8(text)); + return 0; +} + #if defined(HG_CMP_MSC) int show_twain_srclist_ui(DSMENTRYPROC dsmProc, const TW_IDENTITY *appId, HGWindow parent, TW_IDENTITY *ds) { diff --git a/modules/saneui/HGSaneUI.h b/modules/saneui/HGSaneUI.h index 565a1873..215af461 100644 --- a/modules/saneui/HGSaneUI.h +++ b/modules/saneui/HGSaneUI.h @@ -17,6 +17,9 @@ HGEXPORT int show_setting_ui(const SANEAPI* saneApi, SANE_Handle handle, const c HGEXPORT int show_scan_ui(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, HGWindow parent, show_scan_ui_image_callback callback, void *callbackParam); +HGEXPORT int show_msgbox_info(const char *title, const char *text, HGWindow parent); +HGEXPORT int show_msgbox_warning(const char *title, const char *text, HGWindow parent); + #if defined(HG_CMP_MSC) HGEXPORT int show_twain_srclist_ui(DSMENTRYPROC dsmProc, const TW_IDENTITY *appId, HGWindow parent, TW_IDENTITY *ds); #endif diff --git a/modules/saneui/dialog_device_scan.cpp b/modules/saneui/dialog_device_scan.cpp index 480bdf20..f7eba929 100644 --- a/modules/saneui/dialog_device_scan.cpp +++ b/modules/saneui/dialog_device_scan.cpp @@ -120,7 +120,7 @@ void HGAPI Dialog_Device_Scan::ThreadFunc(HGThread thread, HGPointer param) SANE_Status stat = p->m_saneAPI.sane_start_api(p->m_saneDev); if (SANE_STATUS_GOOD != stat) { - emit p->eventFunc(tr(p->m_saneAPI.sane_strstatus_api(stat))); + emit p->eventFunc(QString::fromUtf8(p->m_saneAPI.sane_strstatus_api(stat))); return; } @@ -146,7 +146,7 @@ void HGAPI Dialog_Device_Scan::ThreadFunc(HGThread thread, HGPointer param) if (SANE_STATUS_GOOD == stat2) { // m_bufferSize空间不够 - emit p->eventFunc(tr(p->m_saneAPI.sane_strstatus_api(SANE_STATUS_INVAL))); + emit p->eventFunc(QString::fromUtf8(p->m_saneAPI.sane_strstatus_api(SANE_STATUS_INVAL))); break; } else if (SANE_STATUS_EOF == stat2) @@ -158,7 +158,7 @@ void HGAPI Dialog_Device_Scan::ThreadFunc(HGThread thread, HGPointer param) } else if (SANE_STATUS_GOOD != stat1 || readSize != params.bytes_per_line * params.lines) { - emit p->eventFunc(tr(p->m_saneAPI.sane_strstatus_api(SANE_STATUS_INVAL))); + emit p->eventFunc(QString::fromUtf8(p->m_saneAPI.sane_strstatus_api(SANE_STATUS_INVAL))); break; } } @@ -168,7 +168,7 @@ void HGAPI Dialog_Device_Scan::ThreadFunc(HGThread thread, HGPointer param) } else { - emit p->eventFunc(tr(p->m_saneAPI.sane_strstatus_api(stat2))); + emit p->eventFunc(QString::fromUtf8(p->m_saneAPI.sane_strstatus_api(stat2))); break; } diff --git a/modules/saneui/dialog_device_select.cpp b/modules/saneui/dialog_device_select.cpp index deb067b6..c587a8d4 100644 --- a/modules/saneui/dialog_device_select.cpp +++ b/modules/saneui/dialog_device_select.cpp @@ -59,7 +59,7 @@ void Dialog_Device_Select::on_pushButton_OK_clicked() SANE_Status ret = m_saneAPI.sane_open_api(m_vDevName[index].c_str(), &dev); if (SANE_STATUS_GOOD != ret) { - QMessageBox::information(this, tr("tips"), tr(m_saneAPI.sane_strstatus_api(ret))); + QMessageBox::information(this, tr("tips"), QString::fromUtf8(m_saneAPI.sane_strstatus_api(ret))); return; }