From 085f25e81f2c3eea8a4b8f2215cbeba3c5144f54 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 15 Apr 2019 06:16:55 +0200 Subject: [PATCH] (UI/QT) First attempt at dynamically generating settings instead of manually specifying settings --- menu/menu_displaylist.c | 384 ++++++++++++++++++----------------- menu/menu_displaylist.h | 2 + menu/menu_setting.c | 2 + ui/drivers/qt/options/ui.cpp | 45 +++- 4 files changed, 248 insertions(+), 185 deletions(-) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index f1c880963d..127ab7e50d 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -4376,6 +4376,205 @@ bool menu_displaylist_setting(menu_displaylist_ctx_parse_entry_t *entry) return true; } +unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ctl_state type) +{ + unsigned count = 0; + + switch (type) + { + case DISPLAYLIST_MENU_SETTINGS_LIST: + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_WALLPAPER, + PARSE_ONLY_PATH, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_DYNAMIC_WALLPAPER, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_FRAMEBUFFER_OPACITY, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_BACKGROUND_FILLER_THICKNESS_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_BORDER_FILLER_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_BORDER_FILLER_THICKNESS_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_FULL_WIDTH_LAYOUT, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_LINEAR_FILTER, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_INTERNAL_UPSCALE_LEVEL, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_ASPECT_RATIO, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_ASPECT_RATIO_LOCK, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_HORIZONTAL_ANIMATION, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_RGUI_MENU_COLOR_THEME, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_RGUI_MENU_THEME_PRESET, + PARSE_ONLY_PATH, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_SHADOWS, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_ALPHA_FACTOR, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_SCALE_FACTOR, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_FONT, + PARSE_ONLY_PATH, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_FONT_COLOR_RED, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_FONT_COLOR_GREEN, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_FONT_COLOR_BLUE, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_LAYOUT, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_THEME, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_RIBBON_ENABLE, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_OZONE_MENU_COLOR_THEME, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_OZONE_COLLAPSE_SIDEBAR, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MATERIALUI_ICONS_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_USE_PREFERRED_SYSTEM_COLOR_THEME, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_INLINE_THUMBNAILS, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_THUMBNAILS, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_LEFT_THUMBNAILS, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_XMB_VERTICAL_THUMBNAILS, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_SWAP_THUMBNAILS, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DOWNSCALER, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DELAY, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_TICKER_TYPE, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_TICKER_SPEED, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_RGUI_EXTENDED_ASCII, + PARSE_ONLY_BOOL, false) == 0) + count++; + break; + default: + break; + } + + return count; +} + bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info) { size_t i; @@ -6054,190 +6253,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist case DISPLAYLIST_MENU_SETTINGS_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_WALLPAPER, - PARSE_ONLY_PATH, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_DYNAMIC_WALLPAPER, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_FRAMEBUFFER_OPACITY, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_BACKGROUND_FILLER_THICKNESS_ENABLE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_BORDER_FILLER_ENABLE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_BORDER_FILLER_THICKNESS_ENABLE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_FULL_WIDTH_LAYOUT, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_LINEAR_FILTER, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_INTERNAL_UPSCALE_LEVEL, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_ASPECT_RATIO, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_ASPECT_RATIO_LOCK, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_HORIZONTAL_ANIMATION, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_RGUI_MENU_COLOR_THEME, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_RGUI_MENU_THEME_PRESET, - PARSE_ONLY_PATH, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_SHADOWS, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_ALPHA_FACTOR, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_SCALE_FACTOR, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_FONT, - PARSE_ONLY_PATH, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_FONT_COLOR_RED, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_FONT_COLOR_GREEN, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_FONT_COLOR_BLUE, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_LAYOUT, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_THEME, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_RIBBON_ENABLE, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_OZONE_MENU_COLOR_THEME, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_OZONE_COLLAPSE_SIDEBAR, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MATERIALUI_ICONS_ENABLE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_USE_PREFERRED_SYSTEM_COLOR_THEME, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_INLINE_THUMBNAILS, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_THUMBNAILS, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_LEFT_THUMBNAILS, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_XMB_VERTICAL_THUMBNAILS, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_SWAP_THUMBNAILS, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DOWNSCALER, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DELAY, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_TICKER_TYPE, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_TICKER_SPEED, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_RGUI_EXTENDED_ASCII, - PARSE_ONLY_BOOL, false) == 0) - count++; + count = menu_displaylist_build_list(info->list, DISPLAYLIST_MENU_SETTINGS_LIST); if (count == 0) menu_entries_append_enum(info->list, diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 0c42a8d72c..8d55fae715 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -252,6 +252,8 @@ bool menu_displaylist_push(menu_displaylist_ctx_entry_t *entry); void menu_displaylist_info_free(menu_displaylist_info_t *info); +unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ctl_state type); + void menu_displaylist_info_init(menu_displaylist_info_t *info); bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index ad1cfb6a64..f08242eb0d 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -9479,6 +9479,7 @@ static bool setting_append_list( (*list)[list_info->index - 1].get_string_representation = &setting_get_string_representation_uint_menu_thumbnails; menu_settings_list_current_add_range(list, list_info, 0, 3, 1, true, true); + (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_RADIO_BUTTONS; CONFIG_UINT( list, list_info, @@ -9495,6 +9496,7 @@ static bool setting_append_list( (*list)[list_info->index - 1].get_string_representation = &setting_get_string_representation_uint_menu_left_thumbnails; menu_settings_list_current_add_range(list, list_info, 0, 3, 1, true, true); + (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_RADIO_BUTTONS; } if (string_is_equal(settings->arrays.menu_driver, "xmb")) diff --git a/ui/drivers/qt/options/ui.cpp b/ui/drivers/qt/options/ui.cpp index 87ab40bbfa..a992589f5a 100644 --- a/ui/drivers/qt/options/ui.cpp +++ b/ui/drivers/qt/options/ui.cpp @@ -1,5 +1,6 @@ #include "options.h" #include "../viewoptionsdialog.h" +#include "../../verbosity.h" UserInterfaceCategory::UserInterfaceCategory(QWidget *parent) : OptionsCategory(parent) @@ -193,10 +194,51 @@ AppearancePage::AppearancePage(QObject *parent) : QWidget *AppearancePage::widget() { + unsigned i; QWidget * widget = new QWidget; FormLayout *layout = new FormLayout; - rarch_setting_t *thumbnails = menu_setting_find_enum(MENU_ENUM_LABEL_THUMBNAILS); + rarch_setting_t *thumbnails = menu_setting_find_enum( + MENU_ENUM_LABEL_THUMBNAILS); + file_list_t *list = (file_list_t*)calloc(1, sizeof(*list)); + unsigned count = menu_displaylist_build_list( + list, DISPLAYLIST_MENU_SETTINGS_LIST); + /* TODO/FIXME - we haven't yet figured out how to + * put a radio button setting next to another radio + * button on the same row */ + + 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); + + switch (cbs->enum_idx) + { + /* TODO/FIXME - this is a dirty hack - if we + * detect this setting, we instead replace it with a + * color button and ignore the other two font color + * settings since they are already covered by this one + * color button */ + case MENU_ENUM_LABEL_MENU_FONT_COLOR_RED: + layout->addUIntColorButton("Menu Font Color: ", + MENU_ENUM_LABEL_MENU_FONT_COLOR_RED, + MENU_ENUM_LABEL_MENU_FONT_COLOR_GREEN, + MENU_ENUM_LABEL_MENU_FONT_COLOR_BLUE); + break; + case MENU_ENUM_LABEL_MENU_FONT_COLOR_GREEN: + case MENU_ENUM_LABEL_MENU_FONT_COLOR_BLUE: + break; + default: + layout->add(cbs->enum_idx); + break; + } + + file_list_free_actiondata(list, i); + } + + file_list_free(list); + +#if 0 layout->add(MENU_ENUM_LABEL_MENU_WALLPAPER); layout->add(MENU_ENUM_LABEL_DYNAMIC_WALLPAPER); layout->add(MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY); @@ -249,6 +291,7 @@ QWidget *AppearancePage::widget() layout->add(MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DOWNSCALER); layout->add(MENU_ENUM_LABEL_MENU_TICKER_TYPE); layout->add(MENU_ENUM_LABEL_MENU_TICKER_SPEED); +#endif widget->setLayout(layout);