修复配置方案变更存储BUG
This commit is contained in:
parent
4610935a13
commit
6c3f32c5de
|
@ -206,8 +206,9 @@ void dlg_cfg_mgr::on_del_selected(void)
|
|||
void dlg_cfg_mgr::on_del_all(void)
|
||||
{
|
||||
cfg_->remove_all_schemes();
|
||||
ListView_DeleteAllItems(get_item(IDC_LIST1));
|
||||
ListView_DeleteAllItems(get_item(IDC_LIST1)); // clear list
|
||||
schm_changed_ = true;
|
||||
dlg_base::set_item_text(IDC_EDIT1, L"");
|
||||
}
|
||||
bool dlg_cfg_mgr::is_scheme_changed(void)
|
||||
{
|
||||
|
|
|
@ -15,7 +15,7 @@ class dlg_cfg_mgr: public dlg_base
|
|||
{
|
||||
gb::scanner_cfg* cfg_;
|
||||
std::wstring label_;
|
||||
bool schm_changed_;
|
||||
bool schm_changed_; // to notify parent refreshing UI and settings
|
||||
|
||||
BOOL handle_message(UINT msg, WPARAM wp, LPARAM lp) override;
|
||||
void handle_command(WORD code, WORD id, HANDLE ctrl);
|
||||
|
|
|
@ -130,7 +130,7 @@ void dlg_setting::handle_command(WORD code, WORD id, HANDLE ctrl)
|
|||
}
|
||||
n->release();
|
||||
}
|
||||
s->end_setting(true);
|
||||
s->end_setting(true); // discard changes in prev-scheme
|
||||
s->release();
|
||||
}
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ void dlg_setting::handle_command(WORD code, WORD id, HANDLE ctrl)
|
|||
gb::sane_config_schm* s = cfg_->get_scheme();
|
||||
if (s)
|
||||
{
|
||||
s->end_setting(false);
|
||||
s->end_setting(false); // save changes
|
||||
s->release();
|
||||
}
|
||||
|
||||
|
@ -196,7 +196,7 @@ void dlg_setting::handle_command(WORD code, WORD id, HANDLE ctrl)
|
|||
{
|
||||
dlg_cfg_mgr dlg(cfg_, hwnd());
|
||||
dlg.do_modal(hwnd());
|
||||
if (dlg.is_scheme_changed())
|
||||
if (dlg.is_scheme_changed()) // refresh settings and UI
|
||||
{
|
||||
gb::sane_config_schm* schm = cfg_->get_scheme();
|
||||
apply_scheme_(schm, apply_param_);
|
||||
|
|
Loading…
Reference in New Issue