Don't overwrite overridden menu text when hotkeys change
Originally committed to SVN as r6229.
This commit is contained in:
parent
8511376da5
commit
afca7e9732
1 changed files with 8 additions and 9 deletions
|
@ -55,11 +55,6 @@ static const int MENU_ID_BASE = 10000;
|
||||||
using std::tr1::placeholders::_1;
|
using std::tr1::placeholders::_1;
|
||||||
using std::tr1::bind;
|
using std::tr1::bind;
|
||||||
|
|
||||||
/// Get the menu text for a command along with hotkey
|
|
||||||
inline wxString get_menu_text(cmd::Command *command, agi::Context *c) {
|
|
||||||
return command->StrMenu(c) + "\t" + hotkey::get_hotkey_str_first("Default", command->name());
|
|
||||||
}
|
|
||||||
|
|
||||||
class MruMenu : public wxMenu {
|
class MruMenu : public wxMenu {
|
||||||
std::string type;
|
std::string type;
|
||||||
std::vector<wxMenuItem *> items;
|
std::vector<wxMenuItem *> items;
|
||||||
|
@ -164,7 +159,12 @@ class CommandManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateItemName(std::pair<cmd::Command*, wxMenuItem*> const& item) {
|
void UpdateItemName(std::pair<cmd::Command*, wxMenuItem*> const& item) {
|
||||||
item.second->SetItemLabel(get_menu_text(item.first, context));
|
wxString text;
|
||||||
|
if (item.first->Type() & cmd::COMMAND_DYNAMIC_NAME)
|
||||||
|
text = item.first->StrMenu(context);
|
||||||
|
else
|
||||||
|
text = item.second->GetItemLabel().BeforeFirst('\t');
|
||||||
|
item.second->SetItemLabel(text + "\t" + hotkey::get_hotkey_str_first("Default", item.first->name()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -182,9 +182,8 @@ public:
|
||||||
flags & cmd::COMMAND_TOGGLE ? wxITEM_CHECK :
|
flags & cmd::COMMAND_TOGGLE ? wxITEM_CHECK :
|
||||||
wxITEM_NORMAL;
|
wxITEM_NORMAL;
|
||||||
|
|
||||||
wxString menu_text = text.empty() ?
|
wxString menu_text = text.empty() ? co->StrMenu(context) : _(lagi_wxString(text));
|
||||||
get_menu_text(co, context) :
|
menu_text += "\t" + hotkey::get_hotkey_str_first("Default", co->name());
|
||||||
_(lagi_wxString(text)) + "\t" + hotkey::get_hotkey_str_first("Default", co->name());
|
|
||||||
|
|
||||||
wxMenuItem *item = new wxMenuItem(parent, MENU_ID_BASE + items.size(), menu_text, co->StrHelp(), kind);
|
wxMenuItem *item = new wxMenuItem(parent, MENU_ID_BASE + items.size(), menu_text, co->StrHelp(), kind);
|
||||||
#ifndef __WXMAC__
|
#ifndef __WXMAC__
|
||||||
|
|
Loading…
Reference in a new issue