调整show_setting_ui接口,支持扫描功能

This commit is contained in:
luoliangyi 2023-04-12 14:15:46 +08:00
parent 38bdfcdc7a
commit 8f242dc071
5 changed files with 16 additions and 7 deletions

View File

@ -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;
}

View File

@ -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;

View File

@ -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);

View File

@ -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();

View File

@ -4,7 +4,7 @@
#include <QtWidgets>
#include <QSettings>
#include <algorithm>
#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;