调整保存配置功能
This commit is contained in:
parent
314c6ca539
commit
591b5b1613
|
@ -2146,72 +2146,13 @@ void hg_settingdialog::save_scheme(void)
|
|||
if (comb_->currentIndex() == 0)
|
||||
return;
|
||||
|
||||
std::string name(cur_scheme_->get_scheme_name());
|
||||
|
||||
bool add = name.empty();
|
||||
|
||||
if(add)
|
||||
{
|
||||
name = getCurUiShemeName(name);
|
||||
}
|
||||
else
|
||||
{
|
||||
int items = 0;
|
||||
add = cur_scheme_->has_changed(&items);
|
||||
if(add)
|
||||
{
|
||||
if(items == 0) // while shemes is default
|
||||
{
|
||||
cur_cfg_->select_scheme(nullptr);
|
||||
cur_cfg_->remove_scheme(cur_scheme_->get_scheme_name().c_str());
|
||||
cur_cfg_->save();
|
||||
return;
|
||||
}
|
||||
else
|
||||
add = false;
|
||||
}
|
||||
}
|
||||
if(add)
|
||||
{
|
||||
if(name.empty() && cur_scheme_->get_scheme_name().empty())
|
||||
{
|
||||
cur_scheme_->end_setting(true);
|
||||
return;
|
||||
}
|
||||
|
||||
gb::sane_config_schm* cp = cur_scheme_->copy();
|
||||
|
||||
cur_scheme_->end_setting(true);
|
||||
cur_scheme_->release();
|
||||
cur_scheme_ = cp;
|
||||
|
||||
size_t pos = name.rfind('-');
|
||||
int ind = 0;
|
||||
char append[20] = {0};
|
||||
|
||||
if(pos != std::string::npos)
|
||||
{
|
||||
ind = atoi(name.c_str() + pos + 1);
|
||||
if(ind > 0)
|
||||
{
|
||||
name.erase(pos);
|
||||
// sprintf(append, "-%d", ++ind);
|
||||
}
|
||||
}
|
||||
cur_cfg_->add_scheme(cur_scheme_, (name + append).c_str());
|
||||
// while (!cur_cfg_->add_scheme(cur_scheme_, (name + append).c_str()))
|
||||
// {
|
||||
// sprintf(append, "-%d", ++ind);
|
||||
// }
|
||||
}
|
||||
else
|
||||
{
|
||||
cur_scheme_->end_setting(false);
|
||||
}
|
||||
|
||||
cur_cfg_->select_scheme(cur_scheme_->get_scheme_name().c_str());
|
||||
|
||||
this->cur_scheme_ = this->cur_cfg_->get_scheme(comb_->currentText().toStdString().c_str());
|
||||
cur_scheme_->end_setting(true);
|
||||
cur_scheme_->begin_setting();
|
||||
updateSchemeFromUi();
|
||||
cur_scheme_->end_setting(false);
|
||||
cur_cfg_->save();
|
||||
cur_cfg_->select_scheme(cur_scheme_->get_scheme_name().c_str());
|
||||
}
|
||||
void hg_settingdialog::cancel_setting(void)
|
||||
{
|
||||
|
@ -2408,16 +2349,15 @@ void hg_settingdialog::updateDefaultScheme()
|
|||
|
||||
if (comb_->currentIndex() == 0)
|
||||
{
|
||||
bool check = false;
|
||||
if (searchKeyName("default", opt->name))
|
||||
{
|
||||
check = getDefaultCfgValue("default", opt->name, false);
|
||||
}
|
||||
cb->setCheckState(check ? Qt::Checked : Qt::Unchecked);
|
||||
if (strcmp(opt->name, SANE_STD_OPT_NAME_IS_CUSTOM_GAMMA) == 0 && btn_gamma_ != nullptr)
|
||||
bool check = getDefaultCfgValue("default", opt->name, false);
|
||||
cb->setCheckState(check ? Qt::Checked : Qt::Unchecked);
|
||||
if (strcmp(opt->name, SANE_STD_OPT_NAME_IS_CUSTOM_GAMMA) == 0 && btn_gamma_ != nullptr)
|
||||
{
|
||||
btn_gamma_->setEnabled(check);
|
||||
}
|
||||
}
|
||||
}
|
||||
//connect(cb, SIGNAL(stateChanged(int)), this, SLOT(slot_checkedClicked()));
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue