From 52e49c25f433f00e79b440ca63083b6a42dd214f Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Tue, 25 Dec 2018 01:12:16 +0100 Subject: [PATCH] - osd-setup: allow to enable/disable event logos Conflicts: src/gui/osd_setup.cpp Signed-off-by: Thilo Graf --- data/locale/deutsch.locale | 2 ++ data/locale/english.locale | 2 ++ src/driver/pictureviewer/pictureviewer.cpp | 2 ++ src/gui/osd_setup.cpp | 19 ++++++++++++++++++- src/gui/osd_setup.h | 1 + src/neutrino.cpp | 2 ++ src/system/locals.h | 2 ++ src/system/locals_intern.h | 2 ++ src/system/settings.h | 1 + 9 files changed, 32 insertions(+), 1 deletion(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 73ab486c6..5f5c87149 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -289,6 +289,7 @@ channellist.sats Satelliten channellist.show_channellogo Senderlogos zeigen channellist.show_channelnumber Kanalnummern zeigen channellist.show_empty_favs Zeige leere Favoriten-Bouquets +channellist.show_eventlogo Eventlogos zeigen channellist.show_infobox Sendungsfenster anzeigen channellist.show_res_icon Auflösung signalisieren channellist.since seit @@ -1088,6 +1089,7 @@ menu.hint_channellist_show_channellogo Senderlogos aktivieren/deaktivieren. menu.hint_channellist_show_channellogo Zeigt Senderlogos in Kanalliste, Eventliste, EPG-Plus, EPG-Ansicht und Moviebrowser. menu.hint_channellist_show_channelnumber Zeigt Kanalnummer in der Kanalliste. menu.hint_channellist_show_empty_favs Zeigt oder versteckt leere Bouquets in den Favoriten +menu.hint_channellist_show_eventlogo Eventlogos aktivieren/deaktivieren. menu.hint_channellist_show_infobox Zeigt oder versteckt das untere Sendungsfenster menu.hint_channellist_show_res_icon Zeigt oder versteckt das Icon zur Signalisierung der Auflösung menu.hint_channellogos_setup Wählen Sie die globalen Optionen für die Senderlogos aus diff --git a/data/locale/english.locale b/data/locale/english.locale index 4b734ee17..4f869c688 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -289,6 +289,7 @@ channellist.sats Satellites channellist.show_channellogo Show channel logos channellist.show_channelnumber Show channel numbers channellist.show_empty_favs Show empty favorites bouquets +channellist.show_eventlogo Show event logos channellist.show_infobox Show bottom infobox channellist.show_res_icon Signalize resolution channellist.since since @@ -1087,6 +1088,7 @@ menu.hint_channellist_show_channellogo Enable/disable channel logos. menu.hint_channellist_show_channellogo Show channel logos in channellist, eventlist, EPG Plus, EPG-viewer and moviebrowser menu.hint_channellist_show_channelnumber Show channel number in channel list menu.hint_channellist_show_empty_favs Show or hide empty bouquets in favorites +menu.hint_channellist_show_eventlogo Enable/disable event logos. menu.hint_channellist_show_infobox Show or hide bottom infobox of channellist menu.hint_channellist_show_res_icon Show or hide the icon to signalize resolution menu.hint_channellogos_setup Configure global channelogos options diff --git a/src/driver/pictureviewer/pictureviewer.cpp b/src/driver/pictureviewer/pictureviewer.cpp index fd13c0d69..73377915f 100644 --- a/src/driver/pictureviewer/pictureviewer.cpp +++ b/src/driver/pictureviewer/pictureviewer.cpp @@ -538,6 +538,8 @@ bool CPictureViewer::GetLogoName(const uint64_t &ChannelID, const std::string &C // create eventname for eventlogos; Note: We don't process channellogos if any eventlogo was found. std::string EventName = ""; int mode = CNeutrinoApp::getInstance()->getMode(); + if (!g_settings.channellist_show_eventlogo) + enable_event_logo = false; if (enable_event_logo && (ChannelID || mode == NeutrinoModes::mode_ts)) { // TODO: fix eventlogo in moviebrowser diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index 72c1ace38..793dba0b5 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -68,6 +68,10 @@ #include +// lcd4l-support +#include "driver/lcd4l.h" +extern CLCD4l *LCD4l; + extern CRemoteControl * g_RemoteControl; extern const char * locale_real_names[]; @@ -82,6 +86,7 @@ COsdSetup::COsdSetup(int wizard_mode) colorInfoclockNotifier = NULL; screensaverNotifier = NULL; channellistNotifier = NULL; + channellogoNotifier = NULL; infobarHddNotifier = NULL; osd_menu = NULL; submenu_menus = NULL; @@ -750,6 +755,7 @@ int COsdSetup::showOsdSetup() delete colorInfoclockNotifier; delete screensaverNotifier; delete channellistNotifier; + delete channellogoNotifier; delete infobarHddNotifier; delete osd_menu; return res; @@ -1182,6 +1188,7 @@ void COsdSetup::showOsdChannellogosSetup(CMenuWidget *menu_channellogos) { menu_channellogos->addIntroItems(LOCALE_MISCSETTINGS_CHANNELLOGOS); + channellogoNotifier = new COnOffNotifier(); CMenuOptionChooser * mc; CMenuForwarder * mf; @@ -1193,9 +1200,15 @@ void COsdSetup::showOsdChannellogosSetup(CMenuWidget *menu_channellogos) menu_channellogos->addItem(GenericMenuSeparatorLine); // show channellogos - mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_SHOW_CHANNELLOGO, &g_settings.channellist_show_channellogo, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true); + mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_SHOW_CHANNELLOGO, &g_settings.channellist_show_channellogo, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, channellogoNotifier); mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_SHOW_CHANNELLOGO); menu_channellogos->addItem(mc); + + // show eventlogos + mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_SHOW_EVENTLOGO, &g_settings.channellist_show_eventlogo, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, g_settings.channellist_show_channellogo, this); + mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_SHOW_EVENTLOGO); + menu_channellogos->addItem(mc); + channellogoNotifier->addItem(mc); } // infobar @@ -1565,6 +1578,10 @@ bool COsdSetup::changeNotify(const neutrino_locale_t OptionName, void * data) CVolumeHelper::getInstance()->refresh(); return false; } + else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_CHANNELLIST_SHOW_EVENTLOGO)) + { + LCD4l->ResetParseID(); + } else if ((ARE_LOCALES_EQUAL(OptionName, LOCALE_MISCSETTINGS_INFOCLOCK)) || (ARE_LOCALES_EQUAL(OptionName, LOCALE_CLOCK_SIZE_HEIGHT)) || (ARE_LOCALES_EQUAL(OptionName, LOCALE_CLOCK_SECONDS))) { diff --git a/src/gui/osd_setup.h b/src/gui/osd_setup.h index 1d97b9a47..fe4645ede 100644 --- a/src/gui/osd_setup.h +++ b/src/gui/osd_setup.h @@ -55,6 +55,7 @@ class COsdSetup : public CMenuTarget, public CChangeObserver COnOffNotifier* colorInfoclockNotifier; COnOffNotifier* screensaverNotifier; COnOffNotifier* channellistNotifier; + COnOffNotifier* channellogoNotifier; COnOffNotifier* infobarHddNotifier; CGenericMenuActivate casystemActivate; CGenericMenuActivate screensaverActivate; diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 5cd2db734..946ee0892 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -818,6 +818,7 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.channellist_sort_mode = configfile.getInt32("channellist_sort_mode", 0);//sort mode: alpha, freq, sat g_settings.channellist_numeric_adjust = configfile.getInt32("channellist_numeric_adjust", 0); g_settings.channellist_show_channellogo = configfile.getInt32("channellist_show_channellogo", 1); + g_settings.channellist_show_eventlogo = configfile.getInt32("channellist_show_eventlogo", 1); g_settings.channellist_show_infobox = configfile.getInt32("channellist_show_infobox", 1); g_settings.channellist_show_numbers = configfile.getInt32("channellist_show_numbers", 1); g_settings.channellist_show_res_icon = configfile.getInt32("channellist_show_res_icon", 0); @@ -1568,6 +1569,7 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setInt32("channellist_sort_mode", g_settings.channellist_sort_mode); configfile.setInt32("channellist_numeric_adjust", g_settings.channellist_numeric_adjust); configfile.setInt32("channellist_show_channellogo", g_settings.channellist_show_channellogo); + configfile.setInt32("channellist_show_eventlogo", g_settings.channellist_show_eventlogo); configfile.setInt32("channellist_show_infobox", g_settings.channellist_show_infobox); configfile.setInt32("channellist_show_numbers", g_settings.channellist_show_numbers); configfile.setInt32("channellist_show_res_icon", g_settings.channellist_show_res_icon); diff --git a/src/system/locals.h b/src/system/locals.h index bbc679944..7aa3d660b 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -316,6 +316,7 @@ typedef enum LOCALE_CHANNELLIST_SHOW_CHANNELLOGO, LOCALE_CHANNELLIST_SHOW_CHANNELNUMBER, LOCALE_CHANNELLIST_SHOW_EMPTY_FAVS, + LOCALE_CHANNELLIST_SHOW_EVENTLOGO, LOCALE_CHANNELLIST_SHOW_INFOBOX, LOCALE_CHANNELLIST_SHOW_RES_ICON, LOCALE_CHANNELLIST_SINCE, @@ -1114,6 +1115,7 @@ typedef enum LOCALE_MENU_HINT_CHANNELLIST_SHOW_CHANNELLOGO, LOCALE_MENU_HINT_CHANNELLIST_SHOW_CHANNELNUMBER, LOCALE_MENU_HINT_CHANNELLIST_SHOW_EMPTY_FAVS, + LOCALE_MENU_HINT_CHANNELLIST_SHOW_EVENTLOGO, LOCALE_MENU_HINT_CHANNELLIST_SHOW_INFOBOX, LOCALE_MENU_HINT_CHANNELLIST_SHOW_RES_ICON, LOCALE_MENU_HINT_CHANNELLOGOS_SETUP, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index dabfb3e34..152a7690e 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -316,6 +316,7 @@ const char * locale_real_names[] = "channellist.show_channellogo", "channellist.show_channelnumber", "channellist.show_empty_favs", + "channellist.show_eventlogo", "channellist.show_infobox", "channellist.show_res_icon", "channellist.since", @@ -1114,6 +1115,7 @@ const char * locale_real_names[] = "menu.hint_channellist_show_channellogo", "menu.hint_channellist_show_channelnumber", "menu.hint_channellist_show_empty_favs", + "menu.hint_channellist_show_eventlogo", "menu.hint_channellist_show_infobox", "menu.hint_channellist_show_res_icon", "menu.hint_channellogos_setup", diff --git a/src/system/settings.h b/src/system/settings.h index 1c911face..025275d8c 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -650,6 +650,7 @@ struct SNeutrinoSettings int channellist_sort_mode; int channellist_numeric_adjust; int channellist_show_channellogo; + int channellist_show_eventlogo; int channellist_show_infobox; int channellist_show_numbers; int channellist_show_res_icon;