“跳过空白页”与“对折”做互斥处理

This commit is contained in:
yangjiaxuan 2023-10-23 17:24:38 +08:00
parent ce05ef521e
commit eb443e353f
5 changed files with 64 additions and 17 deletions

View File

@ -2920,7 +2920,54 @@ int hg_scanner::setting_get_initial_boot_time(void* data, long* len)
int hg_scanner::setting_set_discardblank(void* data, long* len) int hg_scanner::setting_set_discardblank(void* data, long* len)
{ {
is_discardblank = *(bool*)data; is_discardblank = *(bool*)data;
return SCANNER_ERR_OK;
//discard_blank and fold_in_half are mutually exclusive.
if (is_discardblank)
{
std::string str(page_string(PAGE_FOLIO));
int id = lang_get_string_id(str.c_str(), false);
if (id == -1)
{
setting_jsn_.at(SANE_STD_OPT_NAME_PAGE).at("range").erase(str.c_str());
}
else
{
for (int i = 0; i < setting_jsn_.at(SANE_STD_OPT_NAME_PAGE).at("range").size(); ++i)
{
int val = 0;
setting_jsn_.at(SANE_STD_OPT_NAME_PAGE).at("range").at(i).get_to(val);
if (val == id)
{
setting_jsn_.at(SANE_STD_OPT_NAME_PAGE).at("range").erase(i);
break;
}
}
}
}
else
{
std::string str(page_string(PAGE_FOLIO));
int id = lang_get_string_id(str.c_str(), false), val = 0;
bool add = true;
for (int i = 0; i < setting_jsn_.at(SANE_STD_OPT_NAME_PAGE).at("range").size(); ++i)
{
setting_jsn_.at(SANE_STD_OPT_NAME_PAGE).at("range").at(i).get_to(val);
if (val == id)
{
add = false;
break;
}
}
if (add)
{
if (id == -1)
setting_jsn_.at(SANE_STD_OPT_NAME_PAGE).at("range").push_back(str);
else
setting_jsn_.at(SANE_STD_OPT_NAME_PAGE).at("range").push_back(id);
}
}
return SCANNER_ERR_RELOAD_OPT_PARAM;
} }
int hg_scanner::on_color_mode_changed(int& color_mode) int hg_scanner::on_color_mode_changed(int& color_mode)
{ {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long