summaryrefslogtreecommitdiffstats
path: root/src/frontend/mame/ui/selsoft.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2019-01-14 04:55:29 +1100
committer Vas Crabb <vas@vastheman.com>2019-01-15 03:56:30 +1100
commitae727d2cc640fef650d6c76694b83b159d3065ba (patch)
treec1c5b58eb3a9d51a43737dca62a59b482f7245f2 /src/frontend/mame/ui/selsoft.cpp
parent8f330896e2f8b1fc8ec54023fb5d134dc8a5c3d3 (diff)
UI cleanup continues:
* Fix crash on builds with fewer than 16 drivers * Fix "available" filter in internal UI * Get rid of some UI globals that shouldn't be global * Better encapsulation in UI * Clean up favourites manager - in particular kill hidden state and O(n) walks * This breaks adding systems/software to favourites from the main tab menu
Diffstat (limited to 'src/frontend/mame/ui/selsoft.cpp')
-rw-r--r--src/frontend/mame/ui/selsoft.cpp23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/frontend/mame/ui/selsoft.cpp b/src/frontend/mame/ui/selsoft.cpp
index e1eb1f75c33..5891ab73f2b 100644
--- a/src/frontend/mame/ui/selsoft.cpp
+++ b/src/frontend/mame/ui/selsoft.cpp
@@ -91,8 +91,7 @@ menu_select_software::menu_select_software(mame_ui_manager &mui, render_containe
load_sw_custom_filters();
m_filter_highlight = m_filter_type;
- ui_globals::curimage_view = SNAPSHOT_VIEW;
- ui_globals::switch_image = true;
+ set_switch_image();
ui_globals::cur_sw_dats_view = 0;
ui_globals::cur_sw_dats_total = 1;
}
@@ -103,8 +102,6 @@ menu_select_software::menu_select_software(mame_ui_manager &mui, render_containe
menu_select_software::~menu_select_software()
{
- ui_globals::curimage_view = CABINETS_VIEW;
- ui_globals::switch_image = true;
}
//-------------------------------------------------
@@ -135,12 +132,10 @@ void menu_select_software::handle()
break;
case IPT_UI_LEFT:
- if (ui_globals::rpanel == RP_IMAGES && ui_globals::curimage_view > FIRST_VIEW)
+ if (ui_globals::rpanel == RP_IMAGES)
{
// Images
- ui_globals::curimage_view--;
- ui_globals::switch_image = true;
- ui_globals::default_image = false;
+ previous_image_view();
}
else if (ui_globals::rpanel == RP_INFOS && ui_globals::cur_sw_dats_view > 0)
{
@@ -151,12 +146,10 @@ void menu_select_software::handle()
break;
case IPT_UI_RIGHT:
- if (ui_globals::rpanel == RP_IMAGES && ui_globals::curimage_view < LAST_VIEW)
+ if (ui_globals::rpanel == RP_IMAGES)
{
// Images
- ui_globals::curimage_view++;
- ui_globals::switch_image = true;
- ui_globals::default_image = false;
+ next_image_view();
}
else if (ui_globals::rpanel == RP_INFOS && ui_globals::cur_sw_dats_view < (ui_globals::cur_sw_dats_total - 1))
{
@@ -205,16 +198,16 @@ void menu_select_software::handle()
if ((uintptr_t)swinfo > 2)
{
favorite_manager &mfav = mame_machine_manager::instance()->favorite();
- if (!mfav.isgame_favorite(*swinfo))
+ if (!mfav.is_favorite_system_software(*swinfo))
{
- mfav.add_favorite_game(*swinfo);
+ mfav.add_favorite_software(*swinfo);
machine().popmessage(_("%s\n added to favorites list."), swinfo->longname.c_str());
}
else
{
machine().popmessage(_("%s\n removed from favorites list."), swinfo->longname.c_str());
- mfav.remove_favorite_game();
+ mfav.remove_favorite_software(*swinfo);
}
}
}