summaryrefslogtreecommitdiffstats
path: root/src/frontend/mame/ui/filesel.cpp
diff options
context:
space:
mode:
author mahlemiut <bsr@xnet.co.nz>2016-12-19 18:35:22 +1300
committer mahlemiut <bsr@xnet.co.nz>2016-12-19 18:36:43 +1300
commit952175132566d6b64f842735541100db4bdb9e97 (patch)
treeac36b7e3412ba23dac226815c5f7b3f03d57749d /src/frontend/mame/ui/filesel.cpp
parenta949d966b4d818a8ac55636fa014c592adeec6d4 (diff)
ui: sort File Manager menu items (nw)
Diffstat (limited to 'src/frontend/mame/ui/filesel.cpp')
-rw-r--r--src/frontend/mame/ui/filesel.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/frontend/mame/ui/filesel.cpp b/src/frontend/mame/ui/filesel.cpp
index 114fa317c74..db9dea84387 100644
--- a/src/frontend/mame/ui/filesel.cpp
+++ b/src/frontend/mame/ui/filesel.cpp
@@ -297,6 +297,7 @@ void menu_file_selector::populate(float &customtop, float &custombottom)
const file_selector_entry *selected_entry = nullptr;
int i;
const char *volume_name;
+ uint8_t first = 0;
// open the directory
err = util::zippath_opendir(m_current_directory, &directory);
@@ -332,6 +333,9 @@ void menu_file_selector::populate(float &customtop, float &custombottom)
i++;
}
+ // store where the file list starts
+ first = m_entrylist.size();
+
// build the menu for each item
if (err == osd_file::error::NONE)
{
@@ -353,6 +357,9 @@ void menu_file_selector::populate(float &customtop, float &custombottom)
}
}
+ // sort the menu entries
+ std::sort(m_entrylist.begin()+first, m_entrylist.end(), [](file_selector_entry x, file_selector_entry y) { return x.basename < y.basename; } );
+
// append all of the menu entries
for (auto &entry : m_entrylist)
append_entry_menu_item(&entry);