diff options
author | 2016-12-19 18:35:22 +1300 | |
---|---|---|
committer | 2016-12-19 18:36:43 +1300 | |
commit | 952175132566d6b64f842735541100db4bdb9e97 (patch) | |
tree | ac36b7e3412ba23dac226815c5f7b3f03d57749d /src/frontend/mame/ui/filesel.cpp | |
parent | a949d966b4d818a8ac55636fa014c592adeec6d4 (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.cpp | 7 |
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); |