From 801b8600ed01438c927d7246e33e3ac4efe02470 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 6 Jan 2022 16:20:07 +0100 Subject: [PATCH] osd_setup: Make detail line and menu hints configurable. --- data/locale/deutsch.locale | 2 ++ data/locale/english.locale | 2 ++ src/gui/components/cc_detailsline.cpp | 2 +- src/gui/osd_setup.cpp | 16 +++++++++++++--- src/gui/themes.cpp | 6 ++++++ src/system/locals.h | 2 ++ src/system/locals_intern.h | 2 ++ src/system/settings.h | 3 ++- 8 files changed, 30 insertions(+), 5 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 4cc1560fd..6b18de37e 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1475,6 +1475,7 @@ menu.hint_mbkey_cover Weisen Sie eine Taste zu, um Filmcover während der Wieder menu.hint_media Abspielen von Musik, Internetradio und Filmen; Betrachten Sie Bilder menu.hint_menu_fonts Ändern Sie die Schriftgrößen im Menü menu.hint_menu_hints Zeigt Ihnen Hinweise zu den Menüpunkten an. Sie erreichen das auch jederzeit mit der Taste 'Hilfe' +menu.hint_menu_hints_line Aktiviert/deaktiviert die Visualisierung von Hinweisen zu relevanten Menüeinträgen mittels einer Line (abhängig vom Theme). menu.hint_menu_pos Legen Sie die Anzeigeposition der Menüs fest menu.hint_menus Wählen Sie die Anzeigeoptionen für die Menüs menu.hint_message_fonts Anpassen der Schrift in Meldungsfenstern @@ -2618,6 +2619,7 @@ settings.backup_dir Nach %s sichern?\n"Nein" wählt ein anderes Verzeichnis settings.backup_failed Sicherung fehlgeschlagen! settings.help Hilfe settings.menu_hints Hinweise anzeigen +settings.menu_hints_line Linie zu den Menü-Hinweisen zeichnen settings.menu_pos Position settings.menus Menüs settings.missingoptionsconffile Die Einstellungen wurden erweitert.\nDie neuen Werte werden auf Standard gesetzt. diff --git a/data/locale/english.locale b/data/locale/english.locale index d85101f32..8d746cd6c 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1475,6 +1475,7 @@ menu.hint_mbkey_cover Assign button to create movie cover while playback or dele menu.hint_media Play movies, audio files\nWatch pictures menu.hint_menu_fonts Change menu font sizes menu.hint_menu_hints Show this hints. Also you can switch\nit any time using 'help' button +menu.hint_menu_hints_line Activates/deactivates the visualization of hints on relevant menu items using a line (depending on the theme). menu.hint_menu_pos Select menu position menu.hint_menus Configure menu options menu.hint_message_fonts Change message text font sizes @@ -2618,6 +2619,7 @@ settings.backup_dir Save to %s?\n"No" chooses another directory. settings.backup_failed Backup failed! settings.help Help settings.menu_hints Show menu hints +settings.menu_hints_line Paint a line to the menu hints settings.menu_pos Menu position settings.menus Menus settings.missingoptionsconffile The settings have been updated.\nNew Options will be set to default. diff --git a/src/gui/components/cc_detailsline.cpp b/src/gui/components/cc_detailsline.cpp index e280d8255..fda408c99 100644 --- a/src/gui/components/cc_detailsline.cpp +++ b/src/gui/components/cc_detailsline.cpp @@ -91,7 +91,7 @@ CComponentsDetailsLine::~CComponentsDetailsLine() void CComponentsDetailsLine::paint(const bool &do_save_bg) { hide(); - + cc_allow_paint = g_settings.theme.show_menu_hints_line; col_body = col_body_std; if (hasChanges()) diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index a6f265813..8119e5d80 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -101,7 +101,6 @@ COsdSetup::COsdSetup(int wizard_mode) is_wizard = wizard_mode; width = 50; - show_menu_hints = 0; show_tuner_icon = 0; } @@ -1214,10 +1213,14 @@ void COsdSetup::showOsdMenusSetup(CMenuWidget *menu_menus) submenu_menus->addItem(mc); // menu hints - show_menu_hints = g_settings.show_menu_hints; - mc = new CMenuOptionChooser(LOCALE_SETTINGS_MENU_HINTS, &show_menu_hints, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this); + mc = new CMenuOptionChooser(LOCALE_SETTINGS_MENU_HINTS, &g_settings.show_menu_hints, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this); mc->setHint("", LOCALE_MENU_HINT_MENU_HINTS); submenu_menus->addItem(mc); + + // menu hints line (details_line) + mc = new CMenuOptionChooser(LOCALE_SETTINGS_MENU_HINTS_LINE, &g_settings.theme.show_menu_hints_line, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this); + mc->setHint("", LOCALE_MENU_HINT_MENU_HINTS_LINE); + submenu_menus->addItem(mc); } #define HDD_STATFS_OPTION_COUNT 3 @@ -1606,6 +1609,13 @@ bool COsdSetup::changeNotify(const neutrino_locale_t OptionName, void * data) CVolumeHelper::getInstance()->refresh(); return false; } + // menu_hints_line + else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_SETTINGS_MENU_HINTS_LINE)) + { + submenu_menus->hide(); + g_settings.theme.show_menu_hints_line = * (int*) data; + return true; + } #ifdef ENABLE_LCD4LINUX else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_CHANNELLIST_SHOW_EVENTLOGO)) { diff --git a/src/gui/themes.cpp b/src/gui/themes.cpp index 4790fcf63..c7997e454 100644 --- a/src/gui/themes.cpp +++ b/src/gui/themes.cpp @@ -396,6 +396,9 @@ void CThemes::setTheme(CConfigFile &configfile) // message frames configfile.setInt32( "message_frame_enable", t.message_frame_enable); + + // details line in menu and lists + configfile.setInt32("show_menu_hints_line", t.show_menu_hints_line); } void CThemes::getTheme(CConfigFile &configfile) @@ -519,6 +522,9 @@ void CThemes::getTheme(CConfigFile &configfile) // message frames t.message_frame_enable = configfile.getInt32( "message_frame_enable", 0); + // details line in menu and lists + t.show_menu_hints_line = configfile.getInt32("show_menu_hints_line", true); + if (g_settings.theme_name.empty()) applyDefaultTheme(); } diff --git a/src/system/locals.h b/src/system/locals.h index 98903da7c..0a5cbd5b2 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1502,6 +1502,7 @@ typedef enum LOCALE_MENU_HINT_MEDIA, LOCALE_MENU_HINT_MENU_FONTS, LOCALE_MENU_HINT_MENU_HINTS, + LOCALE_MENU_HINT_MENU_HINTS_LINE, LOCALE_MENU_HINT_MENU_POS, LOCALE_MENU_HINT_MENUS, LOCALE_MENU_HINT_MESSAGE_FONTS, @@ -2645,6 +2646,7 @@ typedef enum LOCALE_SETTINGS_BACKUP_FAILED, LOCALE_SETTINGS_HELP, LOCALE_SETTINGS_MENU_HINTS, + LOCALE_SETTINGS_MENU_HINTS_LINE, LOCALE_SETTINGS_MENU_POS, LOCALE_SETTINGS_MENUS, LOCALE_SETTINGS_MISSINGOPTIONSCONFFILE, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index b1e9cbe82..71cb4022b 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1502,6 +1502,7 @@ const char * locale_real_names[] = "menu.hint_media", "menu.hint_menu_fonts", "menu.hint_menu_hints", + "menu.hint_menu_hints_line", "menu.hint_menu_pos", "menu.hint_menus", "menu.hint_message_fonts", @@ -2645,6 +2646,7 @@ const char * locale_real_names[] = "settings.backup_failed", "settings.help", "settings.menu_hints", + "settings.menu_hints_line", "settings.menu_pos", "settings.menus", "settings.missingoptionsconffile", diff --git a/src/system/settings.h b/src/system/settings.h index 75bda1a43..b39777992 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -170,6 +170,7 @@ struct SNeutrinoTheme int rounded_corners; int message_frame_enable; + int show_menu_hints_line; }; struct timer_remotebox_item @@ -1005,7 +1006,7 @@ struct SNeutrinoSettings // menu int menu_pos; int show_menu_hints; - int show_menu_hints_line; + // int show_menu_hints_line; // epgview int bigFonts;