diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 04c3a8c4b..dca97fcba 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -307,6 +307,7 @@ channellist.new_zap_mode_allow erlauben channellist.new_zap_mode_off aus channellist.nonefound Es wurden keine Kanäle gefunden!\nFühren Sie bitte eine Kanalsuche durch\n(Menü-Taste -> Service) channellist.numeric_adjust Bei numerischem Zap Kanalliste nachführen +channellist.primetime Primetime channellist.provs Anbieter channellist.recordable_channels Aufnehmbare Sender channellist.recording_not_possible Aufnahme nicht möglich! @@ -1202,6 +1203,7 @@ menu.hint_channellist_fonts Ändern Sie die Schriftgrößen in der Kanalliste menu.hint_channellist_foot Definiert, welche Informationen im unteren Sendungsfenster angezeigt werden sollen menu.hint_channellist_mode Wählen Sie die Start-Kanalliste im TV-Modus menu.hint_channellist_mode_radio Wählen Sie die Start-Kanalliste im Radio-Modus +menu.hint_channellist_primetime Was läuft zur Hauptzeit menu.hint_channellist_setup Wählen Sie die Anzeigeoptionen für die Kanalliste menu.hint_channellist_show_channellogo Senderlogos aktivieren/deaktivieren. menu.hint_channellist_show_channelnumber Zeigt Kanalnummer in der Kanalliste. diff --git a/data/locale/english.locale b/data/locale/english.locale index 4c58b46b2..79eb12a39 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -307,6 +307,7 @@ channellist.new_zap_mode_allow allow channellist.new_zap_mode_off off channellist.nonefound No channels were found!\nPlease execute a scan\n(Menu key -> Service) channellist.numeric_adjust Numeric zap adjust +channellist.primetime Primetime channellist.provs Providers channellist.recordable_channels Recordable channels channellist.recording_not_possible Recording not possible! @@ -1202,6 +1203,7 @@ menu.hint_channellist_fonts Change channel list font sizes menu.hint_channellist_foot Show additional information\nin bottom box menu.hint_channellist_mode Use the selected channel list mode on startup if last mode is TV menu.hint_channellist_mode_radio Use the selected channel list mode on startup if last mode is Radio +menu.hint_channellist_primetime Show what's on primetime menu.hint_channellist_setup Configure channel list GUI options menu.hint_channellist_show_channellogo Enable/disable channel logos. menu.hint_channellist_show_channelnumber Show channel number in channel list diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index b73900df9..bb05d5361 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -176,6 +176,14 @@ void CChannelList::updateEvents(unsigned int from, unsigned int to) CChannelEventList events; if (displayNext) { time_t atime = time(NULL); + if (g_settings.channellist_primetime && primetime) + { + struct tm * timeinfo; + timeinfo = localtime (&atime); + timeinfo->tm_hour = 20; + timeinfo->tm_min = 0; + atime = mktime(timeinfo); + } unsigned int count; for (count = from; count < to; count++) { CEitManager::getInstance()->getEventsServiceKey((*chanlist)[count]->getEpgID(), events); @@ -471,6 +479,7 @@ int CChannelList::exec() { displayNext = 0; // always start with current events displayList = 1; // always start with event list + primetime = 0; int nNewChannel = show(); if ( nNewChannel > -1 && nNewChannel < (int) (*chanlist).size()) { if(this->historyMode && (*chanlist)[nNewChannel]) { @@ -865,8 +874,14 @@ int CChannelList::show() #if 0 if (g_settings.channellist_additional) displayList = !displayList; - else - displayNext = !displayNext; + else { + if (primetime && displayNext) + primetime = 0; + else { + primetime = 0; + displayNext = !displayNext; + } + } #endif paint(); @@ -886,7 +901,17 @@ int CChannelList::show() CNeutrinoApp::getInstance()->SetChannelMode(mode); oldselected = selected; paint(); + } else { + if (g_settings.channellist_primetime) { + if (displayNext && !primetime) + primetime = 1; + else { + primetime = 1; + displayNext = !displayNext; } + paint(); + } + } } } else if (!empty && edit_state && move_state != beMoving && msg == CRCInput::RC_stop ) @@ -1831,7 +1856,16 @@ void CChannelList::paintButtonBar(bool is_current) break; } } else - continue; + { + if (g_settings.channellist_primetime) + { + if (displayNext && primetime) + Button[bcnt].locale = LOCALE_INFOVIEWER_NOW; + else + Button[bcnt].locale = LOCALE_CHANNELLIST_PRIMETIME; + } else + continue; + } } if (i == 3) { //manage now/next button @@ -1844,7 +1878,7 @@ void CChannelList::paintButtonBar(bool is_current) else Button[bcnt].locale = LOCALE_INFOVIEWER_NEXT; } else { - if (displayNext) + if (displayNext && !primetime) Button[bcnt].locale = LOCALE_INFOVIEWER_NOW; else Button[bcnt].locale = LOCALE_INFOVIEWER_NEXT; @@ -2312,7 +2346,8 @@ void CChannelList::paintBody() //NI #if 0 // disable displayNext - displayNext = false; + if (!g_settings.channellist_primetime) + displayNext = false; #endif // paint background for right box frameBuffer->paintBoxRel(x+width,y+theight+pig_height,infozone_width,infozone_height,COL_MENUCONTENT_PLUS_0); @@ -2570,6 +2605,8 @@ void CChannelList::showdescription(int index) ffheight = g_Font[eventFont]->getHeight(); CZapitChannel* chan = (*chanlist)[index]; CChannelEvent *p_event = &chan->currentEvent; + if (displayNext && primetime) + p_event = &chan->nextEvent; epgData.info1.clear(); epgData.info2.clear(); epgText.clear(); diff --git a/src/gui/channellist.h b/src/gui/channellist.h index 8fd0da040..2d51a7331 100644 --- a/src/gui/channellist.h +++ b/src/gui/channellist.h @@ -131,6 +131,7 @@ private: bool vlist; // "virtual" list, not bouquet bool displayNext; bool displayList; + bool primetime; bool minitv_is_active; bool headerNew; diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index caf0de1b8..68067492b 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -1387,6 +1387,11 @@ void COsdSetup::showOsdChanlistSetup(CMenuWidget *menu_chanlist) mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_ADDITIONAL); menu_chanlist->addItem(mc); + // channellist primetime + mc = new CMenuOptionChooser(LOCALE_CHANNELLIST_PRIMETIME, &g_settings.channellist_primetime, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true); + mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_PRIMETIME); + menu_chanlist->addItem(mc); + // epg align mc = new CMenuOptionChooser(LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGN, &g_settings.channellist_epgtext_align_right, CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS, CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS_COUNT, true); mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_EPG_ALIGN); diff --git a/src/neutrino.cpp b/src/neutrino.cpp index b5397caff..9ced1b00e 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -869,6 +869,7 @@ int CNeutrinoApp::loadSetup(const char * fname) 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); + g_settings.channellist_primetime = configfile.getInt32("channellist_primetime", 1); //screen configuration g_settings.osd_resolution = (osd_resolution_tmp == -1) ? configfile.getInt32("osd_resolution", 0) : osd_resolution_tmp; @@ -1712,6 +1713,7 @@ void CNeutrinoApp::saveSetup(const char * fname) 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); + configfile.setInt32("channellist_primetime", g_settings.channellist_primetime); //screen configuration configfile.setInt32("osd_resolution" , COsdHelpers::getInstance()->g_settings_osd_resolution_save); diff --git a/src/system/locals.h b/src/system/locals.h index 8a08d24e7..7f4058e6d 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -334,6 +334,7 @@ typedef enum LOCALE_CHANNELLIST_NEW_ZAP_MODE_OFF, LOCALE_CHANNELLIST_NONEFOUND, LOCALE_CHANNELLIST_NUMERIC_ADJUST, + LOCALE_CHANNELLIST_PRIMETIME, LOCALE_CHANNELLIST_PROVS, LOCALE_CHANNELLIST_RECORDABLE_CHANNELS, LOCALE_CHANNELLIST_RECORDING_NOT_POSSIBLE, @@ -1229,6 +1230,7 @@ typedef enum LOCALE_MENU_HINT_CHANNELLIST_FOOT, LOCALE_MENU_HINT_CHANNELLIST_MODE, LOCALE_MENU_HINT_CHANNELLIST_MODE_RADIO, + LOCALE_MENU_HINT_CHANNELLIST_PRIMETIME, LOCALE_MENU_HINT_CHANNELLIST_SETUP, LOCALE_MENU_HINT_CHANNELLIST_SHOW_CHANNELLOGO, LOCALE_MENU_HINT_CHANNELLIST_SHOW_CHANNELNUMBER, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 3e8e9af6c..e1fe98bee 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -334,6 +334,7 @@ const char * locale_real_names[] = "channellist.new_zap_mode_off", "channellist.nonefound", "channellist.numeric_adjust", + "channellist.primetime", "channellist.provs", "channellist.recordable_channels", "channellist.recording_not_possible", @@ -1229,6 +1230,7 @@ const char * locale_real_names[] = "menu.hint_channellist_foot", "menu.hint_channellist_mode", "menu.hint_channellist_mode_radio", + "menu.hint_channellist_primetime", "menu.hint_channellist_setup", "menu.hint_channellist_show_channellogo", "menu.hint_channellist_show_channelnumber", diff --git a/src/system/settings.h b/src/system/settings.h index cedd0e5fb..bece6ac44 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -666,6 +666,7 @@ struct SNeutrinoSettings int channellist_show_infobox; int channellist_show_numbers; int channellist_show_res_icon; + int channellist_primetime; int repeat_blocker; int repeat_genericblocker; #define LONGKEYPRESS_OFF 499