mirror of
https://github.com/holub/mame
synced 2025-07-03 00:56:03 +03:00
Reducing differences in File Manager options when entering from
softlist vs fullpath. nw.
This commit is contained in:
parent
c0b27ba357
commit
747d998ca5
@ -237,16 +237,25 @@ void ui_menu_control_device_image::handle()
|
||||
|
||||
case SELECT_OTHER_PART:
|
||||
switch(submenu_result) {
|
||||
case ui_menu_software_parts::T_ENTRY: {
|
||||
case ui_menu_software_parts::T_ENTRY:
|
||||
load_software_part();
|
||||
break;
|
||||
}
|
||||
|
||||
case ui_menu_software_parts::T_FMGR:
|
||||
state = START_FILE;
|
||||
handle();
|
||||
break;
|
||||
|
||||
case ui_menu_software_parts::T_EMPTY:
|
||||
image->unload();
|
||||
ui_menu::stack_pop(machine());
|
||||
break;
|
||||
|
||||
case ui_menu_software_parts::T_SWLIST:
|
||||
state = START_SOFTLIST;
|
||||
handle();
|
||||
break;
|
||||
|
||||
case -1: // return to system
|
||||
ui_menu::stack_pop(machine());
|
||||
break;
|
||||
|
@ -30,13 +30,13 @@
|
||||
// ctor
|
||||
//-------------------------------------------------
|
||||
|
||||
ui_menu_software_parts::ui_menu_software_parts(running_machine &machine, render_container *container, const software_info *info, const char *interface, const software_part **part, bool opt_fmgr, int *result)
|
||||
ui_menu_software_parts::ui_menu_software_parts(running_machine &machine, render_container *container, const software_info *info, const char *interface, const software_part **part, bool other_opt, int *result)
|
||||
: ui_menu(machine, container)
|
||||
{
|
||||
m_info = info;
|
||||
m_interface = interface;
|
||||
m_selected_part = part;
|
||||
m_opt_fmgr = opt_fmgr;
|
||||
m_other_opt = other_opt;
|
||||
m_result = result;
|
||||
}
|
||||
|
||||
@ -56,6 +56,25 @@ ui_menu_software_parts::~ui_menu_software_parts()
|
||||
|
||||
void ui_menu_software_parts::populate()
|
||||
{
|
||||
if (m_other_opt)
|
||||
{
|
||||
software_part_menu_entry *entry1 = (software_part_menu_entry *) m_pool_alloc(sizeof(*entry1));
|
||||
entry1->type = T_EMPTY;
|
||||
entry1->part = 0;
|
||||
item_append("[empty slot]", 0, 0, entry1);
|
||||
|
||||
software_part_menu_entry *entry2 = (software_part_menu_entry *) m_pool_alloc(sizeof(*entry2));
|
||||
entry2->type = T_FMGR;
|
||||
entry2->part = 0;
|
||||
item_append("[file manager]", 0, 0, entry2);
|
||||
|
||||
|
||||
software_part_menu_entry *entry3 = (software_part_menu_entry *) m_pool_alloc(sizeof(*entry3));
|
||||
entry3->type = T_SWLIST;
|
||||
entry3->part = 0;
|
||||
item_append("[software list]", 0, 0, entry3);
|
||||
}
|
||||
|
||||
for (const software_part *swpart = m_info->first_part(); swpart != NULL; swpart = swpart->next())
|
||||
{
|
||||
if (swpart->matches_interface(m_interface))
|
||||
@ -71,14 +90,6 @@ void ui_menu_software_parts::populate()
|
||||
item_append(m_info->shortname(), menu_part_name.cstr(), 0, entry);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_opt_fmgr)
|
||||
{
|
||||
software_part_menu_entry *entry = (software_part_menu_entry *) m_pool_alloc(sizeof(*entry));
|
||||
entry->type = T_FMGR;
|
||||
entry->part = 0;
|
||||
item_append("[file manager]", 0, 0, entry);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -16,8 +16,8 @@
|
||||
|
||||
class ui_menu_software_parts : public ui_menu {
|
||||
public:
|
||||
enum { T_ENTRY, T_FMGR };
|
||||
ui_menu_software_parts(running_machine &machine, render_container *container, const software_info *info, const char *interface, const software_part **part, bool opt_fmgr, int *result);
|
||||
enum { T_EMPTY, T_FMGR, T_SWLIST, T_ENTRY, };
|
||||
ui_menu_software_parts(running_machine &machine, render_container *container, const software_info *info, const char *interface, const software_part **part, bool other_opt, int *result);
|
||||
virtual ~ui_menu_software_parts();
|
||||
virtual void populate();
|
||||
virtual void handle();
|
||||
@ -32,7 +32,7 @@ private:
|
||||
const software_info * m_info;
|
||||
const char * m_interface;
|
||||
const software_part ** m_selected_part;
|
||||
bool m_opt_fmgr;
|
||||
bool m_other_opt;
|
||||
int * m_result;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user