From 6a8f2ef9b60743ae1ee5a0f7aaa810f1b9b7e4af Mon Sep 17 00:00:00 2001 From: twinaphex <libretro@gmail.com> Date: Fri, 23 Aug 2019 05:00:20 +0200 Subject: [PATCH] (Qt options/UI) Make it more dynamic --- ui/drivers/qt/options/ui.cpp | 48 ++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/ui/drivers/qt/options/ui.cpp b/ui/drivers/qt/options/ui.cpp index 34f2b115ee..3a7cb24c88 100644 --- a/ui/drivers/qt/options/ui.cpp +++ b/ui/drivers/qt/options/ui.cpp @@ -108,6 +108,8 @@ QWidget *ViewsPage::widget() { unsigned i; + unsigned tabs_begin = 0; + unsigned status_begin = 0; file_list_t *list = (file_list_t*)calloc(1, sizeof(*list)); menu_displaylist_build_list(list, DISPLAYLIST_MENU_VIEWS_SETTINGS_LIST); @@ -117,11 +119,41 @@ QWidget *ViewsPage::widget() file_list_get_actiondata_at_offset(list, i); if (cbs->enum_idx == MENU_ENUM_LABEL_CONTENT_SHOW_SETTINGS) + { + tabs_begin = i; break; + } mainMenu->add(cbs->enum_idx); } + for (i = tabs_begin; i < list->size; i++) + { + menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*) + file_list_get_actiondata_at_offset(list, i); + + if (cbs->enum_idx == MENU_ENUM_LABEL_TIMEDATE_ENABLE) + { + status_begin = i; + break; + } + + tabs->add(cbs->enum_idx); + } + + for (i = status_begin; i < list->size; i++) + { + menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*) + file_list_get_actiondata_at_offset(list, i); + + if (cbs->enum_idx == MENU_ENUM_LABEL_MENU_SHOW_SUBLABELS) + { + break; + } + + status->add(cbs->enum_idx); + } + file_list_free(list); } @@ -141,22 +173,6 @@ QWidget *ViewsPage::widget() file_list_free(list); } - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_SETTINGS); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_SETTINGS_PASSWORD); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_FAVORITES); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_HISTORY); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_IMAGES); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_MUSIC); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_VIDEO); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_NETPLAY); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_ADD); - tabs->add(MENU_ENUM_LABEL_CONTENT_SHOW_PLAYLISTS); - - status->add(MENU_ENUM_LABEL_TIMEDATE_ENABLE); - status->add(MENU_ENUM_LABEL_TIMEDATE_STYLE); - status->add(MENU_ENUM_LABEL_BATTERY_LEVEL_ENABLE); - status->add(MENU_ENUM_LABEL_CORE_ENABLE); - startScreen->add(MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN); quickMenu->layout()->setContentsMargins(0, 0, 0, 0);