增加滚轮寿命提示

This commit is contained in:
gb 2023-06-13 12:28:56 +08:00
parent ecc89ef2b3
commit c6f461a26f
1 changed files with 38 additions and 19 deletions

View File

@ -908,11 +908,29 @@ int scanner::open(void)
ret = init_options_id();
load_config((cfg_path_ + scanner_name_.substr(0, pid) + L".cfg").c_str());
apply_config();
// check roller life ...
SANE_Int cnt = 0, life = 0;
if (hg_sane_middleware::instance()->get_cur_value(handle_, (void*)SANE_OPT_ID_ROLLER_COUNT, &cnt) &&
hg_sane_middleware::instance()->get_cur_value(handle_, (void*)SANE_OPT_ID_ROLLER_LIFE, &life))
{
if (cnt >= life)
{
if (callback::show_messagebox_ui)
{
// 纸轮搓纸次数已超过设计使用范围,扫描过程中搓纸失败、歪斜、搓多张等异常频次可能会明显增多,请注意及时清洁、并联系设备供应商购买替换纸轮!
std::string roller_msg("\347\272\270\350\275\256\346\220\223\347\272\270\346\254\241\346\225\260\345\267\262\350\266\205\350\277\207\350\256\276\350\256\241\344\275\277\347\224\250\350\214\203\345\233\264\357\274\214\346\211\253\346\217\217\350\277\207\347\250\213\344\270\255\346\220\223\347\272\270\345\244\261\350\264\245\343\200\201\346\255\252\346\226\234\343\200\201\346\220\223\345\244\232\345\274\240\347\255\211\345\274\202\345\270\270\351\242\221\346\254\241\345\217\257\350\203\275\344\274\232\346\230\216\346\230\276\345\242\236\345\244\232\357\274\214\350\257\267\346\263\250\346\204\217\345\217\212\346\227\266\346\270\205\346\264\201\343\200\201\345\271\266\350\201\224\347\263\273\350\256\276\345\244\207\344\276\233\345\272\224\345\225\206\350\264\255\344\271\260\346\233\277\346\215\242\347\272\270\350\275\256\357\274\201");
app_wnd_ = callback::find_main_wnd();
callback::show_messagebox_ui(app_wnd_, ret, (void*)&roller_msg[0], 0);
}
}
}
}
else
{
if (callback::show_messagebox_ui)
{
app_wnd_ = callback::find_main_wnd();
callback::show_messagebox_ui(app_wnd_, ret, (void*)hg_scanner_err_description(ret), 0);
}
else
@ -953,26 +971,27 @@ int scanner::init_options_id(void)
SET_SANE_OPT_ID(op_id, var, predef, desc->name, func)
#define INIT_FIXED_IDS(id) \
sane_ids_[id] = id;
sane_ids_[SANE_OPT_ID_##id] = SANE_OPT_ID_##id;
INIT_FIXED_IDS(SANE_OPT_ID_HISTORY_COUNT);
INIT_FIXED_IDS(SANE_OPT_ID_DRIVER_VERSION);
INIT_FIXED_IDS(SANE_OPT_ID_MANUFACTURER);
INIT_FIXED_IDS(SANE_OPT_ID_COPYRIGHT);
INIT_FIXED_IDS(SANE_OPT_ID_CO_URL);
INIT_FIXED_IDS(SANE_OPT_ID_CO_TEL);
INIT_FIXED_IDS(SANE_OPT_ID_CO_ADDR);
INIT_FIXED_IDS(SANE_OPT_ID_CO_GPS);
INIT_FIXED_IDS(SANE_OPT_ID_HELP);
INIT_FIXED_IDS(SANE_OPT_ID_VID);
INIT_FIXED_IDS(SANE_OPT_ID_PID);
INIT_FIXED_IDS(SANE_OPT_ID_DEV_NAME);
INIT_FIXED_IDS(SANE_OPT_ID_DEV_FAMILY);
INIT_FIXED_IDS(SANE_OPT_ID_LOGIN);
INIT_FIXED_IDS(SANE_OPT_ID_LOGOUT);
INIT_FIXED_IDS(SANE_OPT_ID_ROLLER_COUNT);
INIT_FIXED_IDS(SANE_OPT_ID_DRIVER_LOG);
INIT_FIXED_IDS(SANE_OPT_ID_DEVICE_LOG);
INIT_FIXED_IDS(HISTORY_COUNT);
INIT_FIXED_IDS(DRIVER_VERSION);
INIT_FIXED_IDS(MANUFACTURER);
INIT_FIXED_IDS(COPYRIGHT);
INIT_FIXED_IDS(CO_URL);
INIT_FIXED_IDS(CO_TEL);
INIT_FIXED_IDS(CO_ADDR);
INIT_FIXED_IDS(CO_GPS);
INIT_FIXED_IDS(HELP);
INIT_FIXED_IDS(VID);
INIT_FIXED_IDS(PID);
INIT_FIXED_IDS(DEV_NAME);
INIT_FIXED_IDS(DEV_FAMILY);
INIT_FIXED_IDS(LOGIN);
INIT_FIXED_IDS(LOGOUT);
INIT_FIXED_IDS(ROLLER_COUNT);
INIT_FIXED_IDS(DRIVER_LOG);
INIT_FIXED_IDS(DEVICE_LOG);
INIT_FIXED_IDS(ROLLER_LIFE);
while ((desc = hg_sane_middleware::instance()->get_option_descriptor(handle_, (const void*)op_id)))
{