diff --git a/modules/sane_user/HGSaneImpl.cpp b/modules/sane_user/HGSaneImpl.cpp index 4883fb9a..048866e4 100644 --- a/modules/sane_user/HGSaneImpl.cpp +++ b/modules/sane_user/HGSaneImpl.cpp @@ -692,7 +692,7 @@ HGResult HGSaneDeviceImpl::ShowSettingDlg(HGWindow parent) return HGBASE_ERR_FAIL; } - if (-2 == show_setting_ui(&m_sourceImpl->m_saneApi, m_devHandle, m_devName.c_str(), parent)) + if (-2 == show_setting_ui(&m_sourceImpl->m_saneApi, m_devHandle, m_devName.c_str(), parent, NULL, NULL)) { return HGBASE_ERR_NOTSUPPORT; } diff --git a/modules/saneui/HGSaneUI.cpp b/modules/saneui/HGSaneUI.cpp index de772eb8..e08f7b0d 100644 --- a/modules/saneui/HGSaneUI.cpp +++ b/modules/saneui/HGSaneUI.cpp @@ -105,7 +105,8 @@ int show_devlist_ui(const SANEAPI* saneApi, const char **devNames, HGWindow pare return 0; } -int show_setting_ui(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, HGWindow parent) +int show_setting_ui(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, HGWindow parent, + show_scan_ui_image_callback callback, void *callbackParam) { if (nullptr == saneApi || nullptr == handle) return -1; @@ -129,7 +130,7 @@ int show_setting_ui(const SANEAPI* saneApi, SANE_Handle handle, const char *devN translator.load(":translation/SaneUI_zh_CN.qm"); QCoreApplication::installTranslator(&translator); - hg_settingdialog dlg(saneApi, handle, devName, qParent); + hg_settingdialog dlg(saneApi, handle, devName, callback, callbackParam, qParent); dlg.exec(); QCoreApplication::removeTranslator(&translator); return 0; diff --git a/modules/saneui/HGSaneUI.h b/modules/saneui/HGSaneUI.h index 3649a0b9..2c3ffd5a 100644 --- a/modules/saneui/HGSaneUI.h +++ b/modules/saneui/HGSaneUI.h @@ -14,7 +14,8 @@ HGEXPORT int show_srclist_ui(const char **manuNames, const char **sanePaths, HGW SANEAPI* saneApi, char *manuName, unsigned int maxLen); HGEXPORT int show_devlist_ui(const SANEAPI* saneApi, const char **devNames, HGWindow parent, SANE_Handle *handle, char *devName, unsigned int maxLen); -HGEXPORT int show_setting_ui(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, HGWindow parent); +HGEXPORT int show_setting_ui(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, HGWindow parent, + show_scan_ui_image_callback callback, void *callbackParam); HGEXPORT int show_scan_ui(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, HGWindow parent, show_scan_ui_image_callback callback, void *callbackParam); diff --git a/modules/saneui/hg_settingdialog.cpp b/modules/saneui/hg_settingdialog.cpp index 56dec741..c23eb48d 100644 --- a/modules/saneui/hg_settingdialog.cpp +++ b/modules/saneui/hg_settingdialog.cpp @@ -15,7 +15,8 @@ std::string hg_settingdialog::property_combox_data_type_ = "combox_value_type"; -hg_settingdialog::hg_settingdialog(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, QWidget *parent) +hg_settingdialog::hg_settingdialog(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, + show_scan_ui_image_callback callback, void *callbackParam, QWidget *parent) : QDialog(parent) , save_(false) , btn_cut_area_(nullptr), btn_gamma_(nullptr), clicked_gamma_(false) @@ -71,6 +72,9 @@ hg_settingdialog::hg_settingdialog(const SANEAPI* saneApi, SANE_Handle handle, c memcpy(&m_saneAPI, saneApi, sizeof(SANEAPI)); m_devHandle = handle; + m_callback = callback; + m_callbackParam = callbackParam; + initUi(); on_current_scheme_changed(); getAppVersion(); diff --git a/modules/saneui/hg_settingdialog.h b/modules/saneui/hg_settingdialog.h index 762fdc8f..4c7da274 100644 --- a/modules/saneui/hg_settingdialog.h +++ b/modules/saneui/hg_settingdialog.h @@ -4,7 +4,7 @@ #include #include #include -#include "sane/sane_ex.h" +#include "HGSaneUI.h" #include "cfg/gb_json.h" #include "device_menu.h" @@ -46,7 +46,8 @@ class hg_settingdialog : public QDialog }; public: - explicit hg_settingdialog(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, QWidget *parent = nullptr); + explicit hg_settingdialog(const SANEAPI* saneApi, SANE_Handle handle, const char *devName, + show_scan_ui_image_callback callback, void *callbackParam, QWidget *parent = nullptr); ~hg_settingdialog(); public: @@ -61,6 +62,8 @@ public: private: SANEAPI m_saneAPI; SANE_Handle m_devHandle; + show_scan_ui_image_callback m_callback; + void *m_callbackParam; private: QString m_qstrFileName;