diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 30ae26407..64341d1b5 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -255,6 +255,7 @@ channellist.sats Satelliten channellist.show_channellogo Senderlogos zeigen channellist.show_channelnumber Kanalnummern zeigen channellist.show_empty_favs Zeige leere Favoriten-Bouquets +channellist.show_infobox Sendungsfenster anzeigen channellist.since seit channellist.start Start ci.clock CI Takt (Mhz) @@ -935,6 +936,7 @@ menu.hint_channellist_setup Wählen Sie die Anzeigeoptionen für die Kanalliste menu.hint_channellist_show_channellogo Zeigt Senderlogos in der Kanalliste. 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_infobox Zeigt oder versteckt das untere Sendungsfenster menu.hint_channels Kanalliste öffnen menu.hint_ci Conditional-Access-Menü zum Einrichten Ihres CI-Moduls oder der eingebetteten Conax-Karte menu.hint_clock_background Lassen Sie die Uhr mit Hintergrund anzeigen diff --git a/data/locale/english.locale b/data/locale/english.locale index 807519718..b395bfeab 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -255,6 +255,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_infobox Show bottom infobox channellist.since since channellist.start starts ci.clock CI clock (Mhz) @@ -935,6 +936,7 @@ menu.hint_channellist_setup Configure channel list GUI options menu.hint_channellist_show_channellogo Show channel logos in channel list menu.hint_channellist_show_channelnumber Show channel number in channel list menu.hint_channellist_show_empty_favs Show / hide empty bouquets in favorites +menu.hint_channellist_show_infobox Show or hide bottom infobox of channellist menu.hint_channels Open channel list menu.hint_ci Conditional access menu\nto setup your CI CAM or embeded Conax card menu.hint_clock_background Show clock with theme's background color diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 0ed285ebe..96d45ca07 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -469,7 +469,10 @@ void CChannelList::calcSize() width = full_width; // calculate height (the infobox below mainbox is handled outside height) - info_height = 2*fheight + fdescrheight + 10; + if (g_settings.channellist_show_infobox) + info_height = 2*fheight + fdescrheight + 10; + else + info_height = 0; height = pig_on_win ? frameBuffer->getScreenHeight(): frameBuffer->getScreenHeightRel(); height = height - info_height; @@ -1500,6 +1503,9 @@ bool CChannelList::quickZap(int key, bool /* cycle */) void CChannelList::paintDetails(int index) { + if (!g_settings.channellist_show_infobox) + return; + CChannelEvent *p_event = NULL; //colored_events init @@ -1616,13 +1622,6 @@ void CChannelList::paintDetails(int index) g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ full_width- 10- from_len, y+ height+ 5+ 2*fheight+ fdescrheight, from_len, cFrom, colored_event_N ? COL_COLORED_EVENTS_TEXT : COL_MENUCONTENTDARK_TEXT); } } - if ((g_settings.channellist_additional) && (p_event != NULL)) - { - if (displayList) - paint_events(index); - else - showdescription(selected); - } } void CChannelList::clearItem2DetailsLine() @@ -1632,6 +1631,9 @@ void CChannelList::clearItem2DetailsLine() void CChannelList::paintItem2DetailsLine (int pos) { + if (!g_settings.channellist_show_infobox) + return; + int xpos = x - ConnectLineBox_Width; int ypos1 = y + theight + pos*fheight + (fheight/2)-2; int ypos2 = y + height + (info_height/2)-2; @@ -1650,6 +1652,17 @@ void CChannelList::paintItem2DetailsLine (int pos) } } +void CChannelList::paintAdditionals(int index) +{ + if (g_settings.channellist_additional) + { + if (displayList) + paint_events(index); + else + showdescription(selected); + } +} + void CChannelList::showChannelLogo() { if ((*chanlist).empty()) @@ -1823,6 +1836,7 @@ void CChannelList::paintItem(int pos, const bool firstpaint) bgcolor = COL_MENUCONTENTSELECTED_PLUS_0; paintItem2DetailsLine (pos); paintDetails(curr); + paintAdditionals(curr); c_rad_small = RADIUS_LARGE; paintbuttons = true; } diff --git a/src/gui/channellist.h b/src/gui/channellist.h index 91ac932de..f0d7d0cb9 100644 --- a/src/gui/channellist.h +++ b/src/gui/channellist.h @@ -133,6 +133,7 @@ private: void paintDetails(int index); void clearItem2DetailsLine (); void paintItem2DetailsLine (int pos); + void paintAdditionals(int index); void paintItem(int pos,const bool firstpaint = false); bool updateSelection(int newpos); void paintBody(); diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index 8b393a13b..c4ec4b7e5 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -73,6 +73,7 @@ COsdSetup::COsdSetup(bool wizard_mode) fontsizenotifier = new CFontSizeNotifier; colorInfoclockNotifier = NULL; screensaverNotifier = NULL; + channellistNotifier = NULL; osd_menu = NULL; submenu_menus = NULL; mfFontFile = NULL; @@ -639,6 +640,7 @@ int COsdSetup::showOsdSetup() delete colorInfoclockNotifier; delete screensaverNotifier; + delete channellistNotifier; delete osd_menu; return res; } @@ -997,6 +999,7 @@ void COsdSetup::showOsdChanlistSetup(CMenuWidget *menu_chanlist) CMenuOptionChooser * mc; menu_chanlist->addIntroItems(LOCALE_MISCSETTINGS_CHANNELLIST); + channellistNotifier = new COnOffNotifier(); // channellist additional mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_ADDITIONAL, &g_settings.channellist_additional, CHANNELLIST_ADDITIONAL_OPTIONS, CHANNELLIST_ADDITIONAL_OPTION_COUNT, true); @@ -1013,10 +1016,16 @@ void COsdSetup::showOsdChanlistSetup(CMenuWidget *menu_chanlist) mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_EXTENDED); menu_chanlist->addItem(mc); + // show infobox + mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_SHOW_INFOBOX, &g_settings.channellist_show_infobox, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, channellistNotifier); + mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_SHOW_INFOBOX); + menu_chanlist->addItem(mc); + // foot - mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_FOOT, &g_settings.channellist_foot, CHANNELLIST_FOOT_OPTIONS, CHANNELLIST_FOOT_OPTIONS_COUNT, true); + mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_FOOT, &g_settings.channellist_foot, CHANNELLIST_FOOT_OPTIONS, CHANNELLIST_FOOT_OPTIONS_COUNT, g_settings.channellist_show_infobox); mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_FOOT); menu_chanlist->addItem(mc); + channellistNotifier->addItem(mc); // colored event mc = new CMenuOptionChooser(LOCALE_MISCSETTINGS_CHANNELLIST_COLORED_EVENTS, &g_settings.colored_events_channellist, OPTIONS_COLORED_EVENTS_OPTIONS, OPTIONS_COLORED_EVENTS_OPTION_COUNT, true); diff --git a/src/gui/osd_setup.h b/src/gui/osd_setup.h index 70918a043..924dfb872 100644 --- a/src/gui/osd_setup.h +++ b/src/gui/osd_setup.h @@ -55,6 +55,7 @@ class COsdSetup : public CMenuTarget, public CChangeObserver CComponentsShapeSquare *win_demo; COnOffNotifier* colorInfoclockNotifier; COnOffNotifier* screensaverNotifier; + COnOffNotifier* channellistNotifier; int width; bool is_wizard; diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 8c4bf1fbf..c8ab772b6 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -692,6 +692,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_infobox = configfile.getInt32("channellist_show_infobox", 1); g_settings.channellist_show_numbers = configfile.getInt32("channellist_show_numbers", 1); //screen configuration @@ -1181,6 +1182,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_infobox", g_settings.channellist_show_infobox); configfile.setInt32("channellist_show_numbers", g_settings.channellist_show_numbers); //screen configuration diff --git a/src/system/locals.h b/src/system/locals.h index 9b768e095..9a80dacc1 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -282,6 +282,7 @@ typedef enum LOCALE_CHANNELLIST_SHOW_CHANNELLOGO, LOCALE_CHANNELLIST_SHOW_CHANNELNUMBER, LOCALE_CHANNELLIST_SHOW_EMPTY_FAVS, + LOCALE_CHANNELLIST_SHOW_INFOBOX, LOCALE_CHANNELLIST_SINCE, LOCALE_CHANNELLIST_START, LOCALE_CI_CLOCK, @@ -962,6 +963,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_INFOBOX, LOCALE_MENU_HINT_CHANNELS, LOCALE_MENU_HINT_CI, LOCALE_MENU_HINT_CLOCK_BACKGROUND, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 0423c1586..551bc2bdf 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -282,6 +282,7 @@ const char * locale_real_names[] = "channellist.show_channellogo", "channellist.show_channelnumber", "channellist.show_empty_favs", + "channellist.show_infobox", "channellist.since", "channellist.start", "ci.clock", @@ -962,6 +963,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_infobox", "menu.hint_channels", "menu.hint_ci", "menu.hint_clock_background", diff --git a/src/system/settings.h b/src/system/settings.h index 6431c2616..d66fdf891 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -528,6 +528,7 @@ struct SNeutrinoSettings int channellist_sort_mode; int channellist_numeric_adjust; int channellist_show_channellogo; + int channellist_show_infobox; int channellist_show_numbers; int repeat_blocker; int repeat_genericblocker;