当前配置更改,增加自动命名;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 };
|
||||
|
||||
GetClassNameW((HWND)ctrl, cls, _countof(cls) - 1);
|
||||
if (IS_EDIT(cls) && code != EN_CHANGE ||
|
||||
IS_COMBOX(cls) && code != CBN_SELCHANGE)
|
||||
if ((IS_EDIT(cls) && code != EN_KILLFOCUS) || // for BUG-363
|
||||
(IS_COMBOX(cls) && code != CBN_SELCHANGE))
|
||||
{
|
||||
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;
|
||||
|
||||
name_ = name;
|
||||
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));
|
||||
|
|
|
@ -41,7 +41,7 @@ public:
|
|||
~dlg_save_scheme();
|
||||
|
||||
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);
|
||||
std::wstring get_name(void);
|
||||
};
|
||||
|
|
|
@ -577,9 +577,11 @@ void dlg_setting::save_changes_to_cur_scheme(int reason)
|
|||
else
|
||||
{
|
||||
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());
|
||||
|
||||
int dispose = dlg.get_dispose();
|
||||
|
|
|
@ -1645,9 +1645,9 @@ namespace gb
|
|||
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;
|
||||
|
||||
if (first_config(key, val))
|
||||
|
@ -1681,7 +1681,8 @@ namespace gb
|
|||
if (cnt)
|
||||
name += "(" + std::to_string(++cnt) + ")";
|
||||
}
|
||||
scheme_name_ = name;
|
||||
if(replace_name)
|
||||
scheme_name_ = name;
|
||||
|
||||
return std::move(name);
|
||||
}
|
||||
|
|
|
@ -216,7 +216,7 @@ namespace gb
|
|||
std::string get_scheme_name(void);
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue