优化关于信息显示:设备信息条目在未连接时也展示

This commit is contained in:
gb 2022-05-11 09:36:23 +08:00
parent 9ef1efab77
commit 574dbc8a5f
3 changed files with 44 additions and 9 deletions

View File

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

View File

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

View File

@ -252,6 +252,11 @@ void hg_scanner_mgr::get_online_devices(std::vector<OLSCANNER>& 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<std::mutex> lock(mutex_dev_);
std::vector<OLSCANNER>::iterator ptr = std::find(online_devices_.begin(), online_devices_.end(), name);