diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index e1aa65a9f0..2868252d34 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -4382,6 +4382,91 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct switch (type) { + case DISPLAYLIST_QUICK_MENU_VIEWS_SETTINGS_LIST: + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_ADD_TO_FAVORITES, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_RECORDING, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_STREAMING, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESET_CORE_ASSOCIATION, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_OPTIONS, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_CONTROLS, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (video_shader_any_supported()) + { + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_SHADERS, + PARSE_ONLY_BOOL, false) == 0) + count++; + } + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_CONTENT_SHOW_REWIND, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_CORE_OVERRIDES, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_GAME_OVERRIDES, + PARSE_ONLY_BOOL, false) == 0) + count++; + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_INFORMATION, + PARSE_ONLY_BOOL, false) == 0) + count++; + break; case DISPLAYLIST_CORE_SETTINGS_LIST: if (menu_displaylist_parse_settings_enum(list, MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT, @@ -5876,6 +5961,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist case DISPLAYLIST_DIRECTORY_SETTINGS_LIST: case DISPLAYLIST_CONFIGURATION_SETTINGS_LIST: case DISPLAYLIST_CORE_SETTINGS_LIST: + case DISPLAYLIST_QUICK_MENU_VIEWS_SETTINGS_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); count = menu_displaylist_build_list(info->list, type); @@ -6327,76 +6413,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN, PARSE_ONLY_BOOL, false); - info->need_refresh = true; - info->need_push = true; - break; - case DISPLAYLIST_QUICK_MENU_VIEWS_SETTINGS_LIST: - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_ADD_TO_FAVORITES, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_RECORDING, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_STREAMING, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESET_CORE_ASSOCIATION, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_OPTIONS, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_CONTROLS, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS, - PARSE_ONLY_BOOL, false); - if (video_shader_any_supported()) - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_SHADERS, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_CONTENT_SHOW_REWIND, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_CORE_OVERRIDES, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_GAME_OVERRIDES, - PARSE_ONLY_BOOL, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_QUICK_MENU_SHOW_INFORMATION, - PARSE_ONLY_BOOL, false); - info->need_refresh = true; info->need_push = true; break; diff --git a/ui/drivers/qt/options/ui.cpp b/ui/drivers/qt/options/ui.cpp index 5b8745c47e..ce11e9d8de 100644 --- a/ui/drivers/qt/options/ui.cpp +++ b/ui/drivers/qt/options/ui.cpp @@ -160,26 +160,22 @@ QuickMenuPage::QuickMenuPage(QObject *parent) : QWidget *QuickMenuPage::widget() { - QWidget * widget = new QWidget; - FormLayout *layout = new FormLayout; + unsigned i; + QWidget * widget = new QWidget; + FormLayout *layout = new FormLayout; + file_list_t *list = (file_list_t*)calloc(1, sizeof(*list)); + unsigned count = menu_displaylist_build_list( + list, DISPLAYLIST_QUICK_MENU_VIEWS_SETTINGS_LIST); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_ADD_TO_FAVORITES); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_RECORDING); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_STREAMING); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESET_CORE_ASSOCIATION); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_OPTIONS); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_CONTROLS); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_SHADERS); - layout->add(MENU_ENUM_LABEL_CONTENT_SHOW_REWIND); - layout->add(MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY); - layout->add(MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_CORE_OVERRIDES); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_GAME_OVERRIDES); - layout->add(MENU_ENUM_LABEL_QUICK_MENU_SHOW_INFORMATION); + for (i = 0; i < list->size; i++) + { + menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*) + file_list_get_actiondata_at_offset(list, i); + + layout->add(cbs->enum_idx); + } + + file_list_free(list); widget->setLayout(layout);