From 574dbc8a5f3084a099a11824ab6b9df9dca0ca3f Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Wed, 11 May 2022 09:36:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=85=B3=E4=BA=8E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=98=BE=E7=A4=BA=EF=BC=9A=E8=AE=BE=E5=A4=87=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=9D=A1=E7=9B=AE=E5=9C=A8=E6=9C=AA=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=97=B6=E4=B9=9F=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/hgdev/char_const.h | 13 +++++++++++- hgdriver/hgdev/hg_scanner.cpp | 6 +++--- hgdriver/hgdev/scanner_manager.cpp | 34 +++++++++++++++++++++++++----- 3 files changed, 44 insertions(+), 9 deletions(-) diff --git a/hgdriver/hgdev/char_const.h b/hgdriver/hgdev/char_const.h index 874623d..e5cbde9 100644 --- a/hgdriver/hgdev/char_const.h +++ b/hgdriver/hgdev/char_const.h @@ -144,7 +144,8 @@ //画质 -#define HUAGAO_SETTING_STR_IMG_NONE "无" +// #define HUAGAO_SETTING_STR_IMG_NONE "无" +#define HUAGAO_SETTING_STR_IMG_NONE "\346\227\240" // #define OPTION_VALUE_TXZL_ZL "速度优先" #define HUAGAO_SETTING_STR_IMG_SPEED "\351\200\237\345\272\246\344\274\230\345\205\210" // #define OPTION_VALUE_TXZL_XN "画质优先" @@ -152,6 +153,9 @@ // 公司名称 & 信息 +#define BRAND_DISPLAY_ALL_EXPAND // 定义该标志,使得扩展信息始终显示 +#define BRAND_INFO_MAX_LENGTH 40 + // #define COMPANY_NAME "宁波华高信息科技有限公司" #define COMPANY_NAME "\345\256\201\346\263\242\345\215\216\351\253\230\344\277\241\346\201\257\347\247\221\346\212\200\346\234\211\351\231\220\345\205\254\345\217\270" // #define BRAND_APP_NAME "华高扫描应用程序" @@ -188,6 +192,13 @@ // #define BRAND_TITLE_IP "设备IP" #define BRAND_TITLE_IP "\350\256\276\345\244\207IP" +// #define BRAND_NO_DEVICE "未连接设备" +#define BRAND_NO_DEVICE "\346\234\252\350\277\236\346\216\245\350\256\276\345\244\207" +// #define BRAND_COMMUNICATION_FAIL "与设备通信失败" +#define BRAND_COMMUNICATION_FAIL "\344\270\216\350\256\276\345\244\207\351\200\232\344\277\241\345\244\261\350\264\245" +// #define BRAND_DEVICE_NOT_SUPPORT "设备不支持" +#define BRAND_DEVICE_NOT_SUPPORT "\350\256\276\345\244\207\344\270\215\346\224\257\346\214\201" + // 设备名称 // #define SCANNER_NAME_HG_G100 "华高扫描仪—G100" #define SCANNER_NAME_HG_G100 "\345\215\216\351\253\230\346\211\253\346\217\217\344\273\252\342\200\224G100" diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index cfd3ae5..7dbdd14 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -2375,15 +2375,15 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len) } std::string hg_scanner::get_firmware_version(void) { - return ""; + return BRAND_DEVICE_NOT_SUPPORT; } std::string hg_scanner::get_serial_num(void) { - return ""; + return BRAND_DEVICE_NOT_SUPPORT; } std::string hg_scanner::get_ip(void) { - return ""; + return BRAND_DEVICE_NOT_SUPPORT; } int hg_scanner::get_roller_num(void) { diff --git a/hgdriver/hgdev/scanner_manager.cpp b/hgdriver/hgdev/scanner_manager.cpp index 24bb280..c72c102 100644 --- a/hgdriver/hgdev/scanner_manager.cpp +++ b/hgdriver/hgdev/scanner_manager.cpp @@ -252,6 +252,11 @@ void hg_scanner_mgr::get_online_devices(std::vector& devs) void hg_scanner_mgr::set_appendix_info_for_about(SANE_About* about, char*& ptr, int& count, const char* key, const char* info, const char* url) { +#ifdef BRAND_DISPLAY_ALL_EXPAND + if (!info || *info == 0) + info = BRAND_COMMUNICATION_FAIL; +#endif + if (info && strlen(info)) { about->appendix[count].key = ptr; @@ -294,14 +299,17 @@ hg_err hg_scanner_mgr::get_about_info(scanner_handle h, void* data, unsigned* le bytes += strlen(BRAND_TITLE_GPS) + 8; bytes += strlen(BRAND_COMPANY_GPS) + 8; bytes += strlen(BRAND_URL_GPS) + 8; - bytes += 5 * sizeof(tmp.appendix[0]); + // bytes += 5 * sizeof(tmp.appendix[0]); +#ifndef BRAND_DISPLAY_ALL_EXPAND if (scanner) +#endif { - bytes += scanner->get_firmware_version().length() + 8 + strlen(BRAND_TITLE_FIRM_VERSION) + 8; - bytes += scanner->get_serial_num().length() + 8 + strlen(BRAND_TITLE_SERIAL_NUM) + 8; - bytes += scanner->get_ip().length() + 8 + strlen(BRAND_TITLE_IP) + 8; - bytes += 28 + strlen(BRAND_TITLE_ROLLER_COUNT) + 8; + bytes += sizeof(tmp.appendix[0]) + BRAND_INFO_MAX_LENGTH + 8 + strlen(BRAND_TITLE_FIRM_VERSION) + 8; + bytes += sizeof(tmp.appendix[0]) + BRAND_INFO_MAX_LENGTH + 8 + strlen(BRAND_TITLE_SERIAL_NUM) + 8; + bytes += sizeof(tmp.appendix[0]) + BRAND_INFO_MAX_LENGTH + 8 + strlen(BRAND_TITLE_IP) + 8; + bytes += sizeof(tmp.appendix[0]) + 28 + strlen(BRAND_TITLE_ROLLER_COUNT) + 8; + bytes += sizeof(tmp.appendix[0]); } if (!data || *len < bytes) @@ -352,7 +360,21 @@ hg_err hg_scanner_mgr::get_about_info(scanner_handle h, void* data, unsigned* le sprintf(buf, "%u", rolls); set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, buf, NULL); } +#ifdef BRAND_DISPLAY_ALL_EXPAND + else + set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, BRAND_DEVICE_NOT_SUPPORT, NULL); +#endif } +#ifdef BRAND_DISPLAY_ALL_EXPAND + else + { + set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_FIRM_VERSION, BRAND_NO_DEVICE, NULL); + set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_SERIAL_NUM, BRAND_NO_DEVICE, NULL); + set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_IP, BRAND_NO_DEVICE, NULL); + set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, BRAND_NO_DEVICE, NULL); + } +#endif + about->appendix[count].key = NULL; about->appendix[count].content = NULL; about->appendix[count].url = NULL; @@ -431,7 +453,9 @@ hg_err hg_scanner_mgr::hg_scanner_open(scanner_handle* h, const char* name, bool } if (scanner) + { scanner->set_ui_callback(&hg_scanner_mgr::ui_default_callback, hg_scanner_mgr::async_io_enabled_); + } std::lock_guard lock(mutex_dev_); std::vector::iterator ptr = std::find(online_devices_.begin(), online_devices_.end(), name);