调整删除父依赖项导致子依赖项不出现的问题
This commit is contained in:
parent
1c30e8bf3a
commit
17369825ff
|
@ -1366,6 +1366,7 @@ int hg_scanner::set_color_change(void)
|
|||
}
|
||||
bool hg_scanner::jsn_reorganize()
|
||||
{
|
||||
|
||||
string str;
|
||||
int len = setting_jsn_.at(SANE_STD_OPT_NAME_PAPER).at("range").size();
|
||||
int max_papers[] = { PAPER_MAX_SIZE, PAPER_MAX_SIZE_CLIP, PAPER_TRIGEMINY };
|
||||
|
@ -1382,15 +1383,18 @@ bool hg_scanner::jsn_reorganize()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!firmware_sup_wait_paper_ && pid_ == 0x239)
|
||||
{
|
||||
erase_option(SANE_STD_OPT_NAME_WAIT_TO_SCAN);
|
||||
erase_option(SANE_STD_OPT_NAME_WAIT_SCAN_EXIT);
|
||||
}
|
||||
if (!firmware_sup_pick_strength_ && pid_ == 0x239)
|
||||
{
|
||||
erase_option(SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH);
|
||||
erase_option(SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE);
|
||||
erase_option(SANE_STD_OPT_NAME_FEED_STRENGTH);
|
||||
|
||||
}
|
||||
if (!firmware_sup_color_fill_ && (pid_ == 0x239 || pid_ == 0x439))
|
||||
{
|
||||
|
@ -1410,7 +1414,7 @@ bool hg_scanner::jsn_reorganize()
|
|||
erase_option(SANE_STD_OPT_NAME_ANTI_PERMEATE_LEVEL);
|
||||
}
|
||||
erase_option(SANE_STD_OPT_NAME_RID_GRID); //全系移除 除网纹
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
int hg_scanner::hgpaper_to_devspaper(Paper_Map papermap[], int len, int& paper, bool* exact, TwSS* type)
|
||||
|
@ -2832,6 +2836,66 @@ void hg_scanner::change_setting_language(bool init)
|
|||
change_string_2_lang_id(v.c_str(), "desc");
|
||||
|
||||
setting_jsn_.at(v.c_str()).at("type").get_to(val);
|
||||
string depend;
|
||||
string depend_temp;
|
||||
bool is_depend = false;
|
||||
|
||||
if (setting_jsn_.at(v.c_str()).contains("depend_or"))
|
||||
{
|
||||
int depend_size = setting_jsn_.at(v.c_str()).at("depend_or").size();
|
||||
int y = 0;
|
||||
while (y < depend_size)
|
||||
{
|
||||
setting_jsn_.at(v.c_str()).at("depend_or").at(y).get_to(depend);
|
||||
for (size_t k = 0; k < erase_depend_.size(); k++)
|
||||
{
|
||||
if (depend.find(erase_depend_[k]) != string::npos)
|
||||
{
|
||||
setting_jsn_.at(v.c_str()).at("depend_or").erase(y);
|
||||
depend_temp = depend;
|
||||
y--;
|
||||
break;
|
||||
}
|
||||
else if (!depend_temp.empty() && !(depend[0] <= 'z' && depend[0] >= 'a'))
|
||||
{
|
||||
setting_jsn_.at(v.c_str()).at("depend_or").erase(y);
|
||||
y--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
depend_size = setting_jsn_.at(v.c_str()).at("depend_or").size();
|
||||
y++;
|
||||
}
|
||||
}
|
||||
else if (setting_jsn_.at(v.c_str()).contains("depend_and"))
|
||||
{
|
||||
int depend_size = setting_jsn_.at(v.c_str()).at("depend_and").size();
|
||||
int y = 0;
|
||||
while (y < depend_size)
|
||||
{
|
||||
setting_jsn_.at(v.c_str()).at("depend_and").at(y).get_to(depend);
|
||||
for (size_t k = 0; k < erase_depend_.size(); k++)
|
||||
{
|
||||
if (depend.find(erase_depend_[k]) != string::npos)
|
||||
{
|
||||
setting_jsn_.at(v.c_str()).at("depend_and").erase(y);
|
||||
depend_temp = depend;
|
||||
y--;
|
||||
break;
|
||||
}
|
||||
else if (!depend_temp.empty() && !(depend[0] <= 'z' && depend[0] >= 'a'))
|
||||
{
|
||||
setting_jsn_.at(v.c_str()).at("depend_and").erase(y);
|
||||
y--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
depend_size = setting_jsn_.at(v.c_str()).at("depend_and").size();
|
||||
y++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//if (v.compare(from_default_language(SANE_STD_OPT_NAME_TIME_TO_SLEEP)) == 0)
|
||||
//{
|
||||
// int val = 0;
|
||||
|
@ -2936,6 +3000,7 @@ void hg_scanner::change_setting_language(bool init)
|
|||
}
|
||||
void hg_scanner::erase_option(const char* name)
|
||||
{
|
||||
erase_depend_.push_back(name);
|
||||
setting_jsn_.erase(name);
|
||||
|
||||
std::vector<std::string>::iterator it = std::find(jsn_children_.begin(), jsn_children_.end(), name);
|
||||
|
|
|
@ -293,6 +293,7 @@ protected:
|
|||
bool cb_mem_;
|
||||
bool test_1_paper_; // 是否为单张扫描模式
|
||||
std::vector<std::string> jsn_children_;
|
||||
std::vector<string> erase_depend_; //需要删除父依赖项
|
||||
json setting_jsn_;
|
||||
|
||||
IMGPRCFIXPARAM image_prc_param_;
|
||||
|
|
Loading…
Reference in New Issue