当前配置更改,增加自动命名;fix BUG-363
This commit is contained in:
parent
7a5262712b
commit
64465395c3
|
@ -1042,8 +1042,8 @@ void dlg_page::handle_command(WORD code, WORD id, HANDLE ctrl)
|
||||||
wchar_t cls[128] = { 0 };
|
wchar_t cls[128] = { 0 };
|
||||||
|
|
||||||
GetClassNameW((HWND)ctrl, cls, _countof(cls) - 1);
|
GetClassNameW((HWND)ctrl, cls, _countof(cls) - 1);
|
||||||
if (IS_EDIT(cls) && code != EN_CHANGE ||
|
if ((IS_EDIT(cls) && code != EN_KILLFOCUS) || // for BUG-363
|
||||||
IS_COMBOX(cls) && code != CBN_SELCHANGE)
|
(IS_COMBOX(cls) && code != CBN_SELCHANGE))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,13 +177,13 @@ void dlg_save_scheme::check_radio(UINT id, bool check)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void dlg_save_scheme::set_info(const wchar_t* name, std::vector<std::wstring>& existing, int mask)
|
void dlg_save_scheme::set_info(const wchar_t* name, std::vector<std::wstring>& existing, int mask, const wchar_t* new_name)
|
||||||
{
|
{
|
||||||
bool set_method = false;
|
bool set_method = false;
|
||||||
|
|
||||||
name_ = name;
|
name_ = name;
|
||||||
existing_ = existing;
|
existing_ = existing;
|
||||||
set_item_text(IDC_NAME, name);
|
set_item_text(IDC_NAME, new_name ? new_name : name);
|
||||||
|
|
||||||
{
|
{
|
||||||
std::wstring schem(local_trans::lang_trans_between_hz936(CONST_STRING_SAVE_OVERWRITE));
|
std::wstring schem(local_trans::lang_trans_between_hz936(CONST_STRING_SAVE_OVERWRITE));
|
||||||
|
|
|
@ -41,7 +41,7 @@ public:
|
||||||
~dlg_save_scheme();
|
~dlg_save_scheme();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void set_info(const wchar_t* name, std::vector<std::wstring>& existing, int mask);
|
void set_info(const wchar_t* name, std::vector<std::wstring>& existing, int mask, const wchar_t* new_name = nullptr);
|
||||||
save_method get_dispose(void);
|
save_method get_dispose(void);
|
||||||
std::wstring get_name(void);
|
std::wstring get_name(void);
|
||||||
};
|
};
|
||||||
|
|
|
@ -577,9 +577,11 @@ void dlg_setting::save_changes_to_cur_scheme(int reason)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dlg_save_scheme dlg(hwnd());
|
dlg_save_scheme dlg(hwnd());
|
||||||
std::wstring name(local_trans::a2u(schm->get_scheme_name().c_str(), CP_UTF8));
|
std::wstring name(local_trans::a2u(schm->get_scheme_name().c_str(), CP_UTF8)),
|
||||||
|
suggest(local_trans::a2u(schm->auto_gen_scheme_name(local_trans::lang_trans_between_hz936, nullptr, false).c_str(), CP_UTF8));
|
||||||
|
|
||||||
dlg.set_info(name.c_str(), now, SAVE_METHOD_MASK(SAVE_DISCARD) | SAVE_METHOD_MASK(SAVE_OVERWRITE) | SAVE_METHOD_MASK(SAVE_NEW));
|
dlg.set_info(name.c_str(), now, SAVE_METHOD_MASK(SAVE_DISCARD) | SAVE_METHOD_MASK(SAVE_OVERWRITE) | SAVE_METHOD_MASK(SAVE_NEW)
|
||||||
|
, suggest.c_str());
|
||||||
dlg.do_modal(hwnd());
|
dlg.do_modal(hwnd());
|
||||||
|
|
||||||
int dispose = dlg.get_dispose();
|
int dispose = dlg.get_dispose();
|
||||||
|
|
|
@ -1645,9 +1645,9 @@ namespace gb
|
||||||
scheme_name_ = name ? name : "";
|
scheme_name_ = name ? name : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string sane_config_schm::auto_gen_scheme_name(const char* (__stdcall* lang_trans)(const char*, bool/*true - default language to cur language*/, void*), void* param)
|
std::string sane_config_schm::auto_gen_scheme_name(const char* (__stdcall* lang_trans)(const char*, bool/*true - default language to cur language*/, void*), void* param, bool replace_name)
|
||||||
{
|
{
|
||||||
std::string name(""), old(std::move(scheme_name_)), key(""), val(""), add("");
|
std::string name(""), key(""), val(""), add("");
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
|
|
||||||
if (first_config(key, val))
|
if (first_config(key, val))
|
||||||
|
@ -1681,7 +1681,8 @@ namespace gb
|
||||||
if (cnt)
|
if (cnt)
|
||||||
name += "(" + std::to_string(++cnt) + ")";
|
name += "(" + std::to_string(++cnt) + ")";
|
||||||
}
|
}
|
||||||
scheme_name_ = name;
|
if(replace_name)
|
||||||
|
scheme_name_ = name;
|
||||||
|
|
||||||
return std::move(name);
|
return std::move(name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -216,7 +216,7 @@ namespace gb
|
||||||
std::string get_scheme_name(void);
|
std::string get_scheme_name(void);
|
||||||
void set_scheme_name(const char* name);
|
void set_scheme_name(const char* name);
|
||||||
|
|
||||||
std::string auto_gen_scheme_name(const char* (__stdcall* lang_trans)(const char*, bool/*true - default language to cur language*/, void*), void* param);
|
std::string auto_gen_scheme_name(const char* (__stdcall* lang_trans)(const char*, bool/*true - default language to cur language*/, void*), void* param, bool replace_name = true);
|
||||||
};
|
};
|
||||||
|
|
||||||
class scanner_cfg : public refer
|
class scanner_cfg : public refer
|
||||||
|
|
Loading…
Reference in New Issue