diff options
Diffstat (limited to 'src/frontend/mame/ui/inputmap.cpp')
-rw-r--r-- | src/frontend/mame/ui/inputmap.cpp | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/src/frontend/mame/ui/inputmap.cpp b/src/frontend/mame/ui/inputmap.cpp index 38dd73111be..161ce0f03c6 100644 --- a/src/frontend/mame/ui/inputmap.cpp +++ b/src/frontend/mame/ui/inputmap.cpp @@ -26,6 +26,7 @@ namespace ui { menu_input_groups::menu_input_groups(mame_ui_manager &mui, render_container &container) : menu(mui, container) { + set_heading(_("Input Assignments (general)")); } menu_input_groups::~menu_input_groups() @@ -49,7 +50,13 @@ void menu_input_groups::handle(event const *ev) { // process the menu if (ev && (ev->iptkey == IPT_UI_SELECT)) - menu::stack_push<menu_input_general>(ui(), container(), int(uintptr_t(ev->itemref) - 1)); + { + menu::stack_push<menu_input_general>( + ui(), + container(), + int(uintptr_t(ev->itemref) - 1), + util::string_format(_("Input Assignments (%1$s)"), ev->item->text())); + } } @@ -58,16 +65,23 @@ void menu_input_groups::handle(event const *ev) input menu -------------------------------------------------*/ -menu_input_general::menu_input_general(mame_ui_manager &mui, render_container &container, int _group) +menu_input_general::menu_input_general(mame_ui_manager &mui, render_container &container, int _group, std::string &&heading) : menu_input(mui, container) , group(_group) { + set_heading(std::move(heading)); } menu_input_general::~menu_input_general() { } +void menu_input_general::menu_activated() +{ + // scripts can change settings out from under us + reset(reset_options::REMEMBER_POSITION); +} + void menu_input_general::populate(float &customtop, float &custombottom) { if (data.empty()) @@ -135,12 +149,21 @@ void menu_input_general::update_input(input_item_data &seqchangeditem) menu_input_specific::menu_input_specific(mame_ui_manager &mui, render_container &container) : menu_input(mui, container) { + set_heading(_("Input Assignments (this system)")); } menu_input_specific::~menu_input_specific() { } +void menu_input_specific::menu_activated() +{ + // scripts can change settings out from under us + assert(!pollingitem); + data.clear(); + reset(reset_options::REMEMBER_POSITION); +} + void menu_input_specific::populate(float &customtop, float &custombottom) { if (data.empty()) @@ -228,7 +251,7 @@ void menu_input_specific::populate(float &customtop, float &custombottom) if (!data.empty()) populate_sorted(customtop, custombottom); else - item_append(_("This machine has no configurable inputs."), FLAG_DISABLE, nullptr); + item_append(_("[no assignable inputs are enabled]"), FLAG_DISABLE, nullptr); item_append(menu_item_type::SEPARATOR); } @@ -274,12 +297,6 @@ menu_input::~menu_input() { } -void menu_input::menu_activated() -{ - // scripts can change settings out from under us - reset(reset_options::REMEMBER_POSITION); -} - /*------------------------------------------------- toggle_none_default - toggle between "NONE" @@ -398,7 +415,7 @@ void menu_input::handle(event const *ev) { // entered invalid sequence - abandon change invalidate = true; - errormsg = _("Invalid sequence entered"); + errormsg = _("Invalid combination entered"); erroritem = item; } seq_poll.reset(); |