增加配置项:“上传图像并停止扫描”,固件不支持双张校验时显示

This commit is contained in:
yangjiaxuan 2023-11-01 17:59:27 +08:00
parent 73227fd45a
commit c746e58c82
4 changed files with 23 additions and 6 deletions

View File

@ -1419,6 +1419,12 @@ bool hg_scanner::jsn_reorganize()
} }
#endif #endif
if (!firmware_sup_double_check)
erase_range(SANE_STD_OPT_NAME_DOUBLE_FEED_HANDLE, OPTION_VALUE_SZTPCL_SCTXBJY);
else
erase_range(SANE_STD_OPT_NAME_DOUBLE_FEED_HANDLE, OPTION_VALUE_SZTPCL_SCTXBTZSM);
if (!firmware_sup_wait_paper_ && pid_ == 0x239) if (!firmware_sup_wait_paper_ && pid_ == 0x239)
{ {
erase_option(SANE_STD_OPT_NAME_WAIT_TO_SCAN); erase_option(SANE_STD_OPT_NAME_WAIT_TO_SCAN);
@ -2327,7 +2333,6 @@ int hg_scanner::setting_ultrasonic_check(void* data, long* len)
} }
int hg_scanner::setting_go_on_when_double_checked(void* data, long* len) int hg_scanner::setting_go_on_when_double_checked(void* data, long* len)
{ {
bool ok = true; bool ok = true;
std::string val((char*)data); std::string val((char*)data);
if (!firmware_sup_double_img && val.compare(hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_DQTXBTZSM))) if (!firmware_sup_double_img && val.compare(hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_DQTXBTZSM)))
@ -3363,6 +3368,17 @@ void hg_scanner::erase_option(const char* name)
if (it != jsn_children_.end()) if (it != jsn_children_.end())
jsn_children_.erase(it); jsn_children_.erase(it);
} }
void hg_scanner::erase_range(const char* name, const char* opt_name)
{
for (size_t i = 0; i < setting_jsn_.at(name).at("range").size(); i++)
{
if (setting_jsn_.at(name).at("range").at(i) == opt_name)
{
setting_jsn_.at(name).at("range").erase(i);
break;
}
}
}
void hg_scanner::init_settings(const char* json_setting_text) void hg_scanner::init_settings(const char* json_setting_text)
{ {
const char* lang = language_option_descriptor(); const char* lang = language_option_descriptor();

View File

@ -421,6 +421,7 @@ protected:
void change_setting_language(bool init); void change_setting_language(bool init);
void erase_option(const char* name); void erase_option(const char* name);
void erase_range(const char* name, const char* opt_name);
void init_settings(const char* json_setting_text); void init_settings(const char* json_setting_text);
int init_settings(int pid); int init_settings(int pid);
void change_string_2_lang_id(const char* name, const char* key); void change_string_2_lang_id(const char* name, const char* key);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long