From 64d2b5e62a76bb542a3cb4ad801bfb3795836319 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 2 Feb 2011 15:45:53 +0000 Subject: [PATCH] add channel information option git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1101 e54a6e83-5905-42d5-8d5c-058d10e6a962 Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/6ae39297adddd36e53a5f2f5c48522ac54943d4c Author: Jacek Jendrzej Date: 2011-02-02 (Wed, 02 Feb 2011) Origin message was: ------------------ -add channel information option git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1101 e54a6e83-5905-42d5-8d5c-058d10e6a962 --- data/locale/bayrisch.locale | 2 +- data/locale/bosanski.locale | 2 +- data/locale/ch-baslerdeutsch.locale | 2 +- data/locale/ch-berndeutsch.locale | 2 +- data/locale/deutsch.locale | 9 ++- data/locale/dutch.locale | 2 +- data/locale/english.locale | 12 +++- data/locale/francais.locale | 2 +- data/locale/french.locale | 2 +- data/locale/hungarian.locale | 2 +- data/locale/italiano.locale | 4 +- data/locale/nederlands.locale | 2 +- data/locale/polski.locale | 4 +- data/locale/portugues.locale | 2 +- data/locale/russkij.locale | 2 +- data/locale/slovak.locale | 4 +- data/locale/suomi.locale | 2 +- data/locale/svenska.locale | 2 +- src/gui/channellist.cpp | 88 ++++++++++++++++++----------- src/neutrino.cpp | 3 + src/neutrino_menue.cpp | 9 +++ src/system/locals.h | 9 ++- src/system/locals_intern.h | 9 ++- src/system/settings.h | 1 + 24 files changed, 116 insertions(+), 62 deletions(-) diff --git a/data/locale/bayrisch.locale b/data/locale/bayrisch.locale index 69c192f7a..1fb373687 100644 --- a/data/locale/bayrisch.locale +++ b/data/locale/bayrisch.locale @@ -141,7 +141,7 @@ bouquetlist.head Bouquets cablesetup.provider Kabiobieta channellist.head Olle Senda channellist.nonefound Es san koane Senda gfundn worn!\nMachas bittschön a Sendersuach\n(dbox-Taste -> Service) -channellist.since seid %02d:%02d +channellist.since seid colorchooser.alpha alpha colorchooser.blue blau colorchooser.green grea diff --git a/data/locale/bosanski.locale b/data/locale/bosanski.locale index 70f23c03f..3c3f2ab35 100644 --- a/data/locale/bosanski.locale +++ b/data/locale/bosanski.locale @@ -140,7 +140,7 @@ bouquetlist.head buketi cablesetup.provider snabdjevač channellist.head svi kanali channellist.nonefound Nije nađen nijedan kanal!\nNapravite traženje kanala\n(dbox2-tipka -> servis) -channellist.since od %02d:%02d +channellist.since od colorchooser.alpha alfa colorchooser.blue plavo colorchooser.green zeleno diff --git a/data/locale/ch-baslerdeutsch.locale b/data/locale/ch-baslerdeutsch.locale index 6f38e4d54..bc5352cd0 100644 --- a/data/locale/ch-baslerdeutsch.locale +++ b/data/locale/ch-baslerdeutsch.locale @@ -140,7 +140,7 @@ bouquetlist.head Bouquets cablesetup.provider Kabelabieder channellist.head Alle Kanäle channellist.nonefound M'r hänn keine Kanäl g'funde!\nMach e Kanalsüchi\n(dbox-Taste -> Service) -channellist.since sidd %02d:%02d +channellist.since sidd colorchooser.alpha alpha colorchooser.blue blau colorchooser.green grien diff --git a/data/locale/ch-berndeutsch.locale b/data/locale/ch-berndeutsch.locale index c44c3ed1c..e4b31a828 100644 --- a/data/locale/ch-berndeutsch.locale +++ b/data/locale/ch-berndeutsch.locale @@ -203,7 +203,7 @@ bouquetlist.head Bouquets cablesetup.provider Kabuabiäter channellist.head Aui Kanäu channellist.nonefound äs si kei Kanäu gfungä wordä!\nBitte füär ä Kanausuächi dürä\n(dbox-Taschtä -> Service) -channellist.since sit %02d:%02d +channellist.since sit colorchooser.alpha alpha colorchooser.blue blau colorchooser.green grüän diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 952f80eeb..0cf8f240d 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -116,13 +116,17 @@ channellist.epgtext_align_left links channellist.epgtext_align_right rechts channellist.extended erweiterte Kanalliste channellist.favs Favoriten +channellist.foot Kanalinformationen +channellist.foot_off aus +channellist.foot_freq Tuning-Parameter +channellist.foot_next Nachfolgesendung channellist.head Alle Kanäle channellist.history Verlauf channellist.make_hdlist Erzeuge "HD"- Bouquet channellist.nonefound Es wurden keine Kanäle gefunden!\nFühren Sie bitte eine Kanalsuche durch\n(MENU-Taste -> Service) channellist.provs Anbieter channellist.sats Satelliten -channellist.since seit %02d:%02d +channellist.since seit channellist.start Start colorchooser.alpha alpha colorchooser.blue blau @@ -1050,7 +1054,7 @@ pictureviewer.help1 Menü-Modus pictureviewer.help10 Anzeige-Modus pictureviewer.help11 Bild neu einlesen pictureviewer.help12 vorheriges Bild -pictureviewer.help13 nachstes Bild +pictureviewer.help13 nächstes Bild pictureviewer.help14 Zoom out pictureviewer.help15 Zoom in pictureviewer.help16 Scroll hoch @@ -1464,3 +1468,4 @@ zapit.scantype.radio Nur Radio zapit.scantype.tv Nur TV zapit.scantype.tvradio Nur TV & Radio zaptotimer.announce In einer Minute wird umgeschaltet. +word.from ab diff --git a/data/locale/dutch.locale b/data/locale/dutch.locale index 12d73e9d6..9fbbb6ef2 100644 --- a/data/locale/dutch.locale +++ b/data/locale/dutch.locale @@ -221,7 +221,7 @@ channellist.make_hdlist HD-kanalen als favoriet tonen channellist.nonefound Geen kanalen gevonden!\nVoer aub een scan uit\n(DBOX-key -> onderhoud) channellist.provs providers channellist.sats Satellieten -channellist.since start tijd %02d:%02d +channellist.since start tijd colorchooser.alpha alpha colorchooser.blue blauw colorchooser.green groen diff --git a/data/locale/english.locale b/data/locale/english.locale index 699755bf6..ad68e3ab9 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -215,8 +215,8 @@ channellist.epgtext_align_left left channellist.epgtext_align_right right channellist.head All Services channellist.nonefound No channels were found!\nPlease execute a scan\n(MENU-key -> service) -channellist.since since %02d:%02d -channellist.start starts %02d:%02d +channellist.since since +channellist.start starts colorchooser.alpha alpha colorchooser.blue blue colorchooser.green green @@ -1343,7 +1343,12 @@ extra.fec_s2_8psk_4_5 4/5 s2 8psk extra.fec_s2_8psk_9_10 9/10 s2 8psk channellist.edit Edit channellist.extended Extended channel list -channellist.favs Favorites +channellist.favs Favoriten +channellist.foot Channel Information +channellist.foot_off off +channellist.foot_freq Sat/Freq Info +channellist.foot_next next Event +channellist.head Alle Kanäle channellist.provs Providers channellist.sats Satellites channellist.history History @@ -1465,3 +1470,4 @@ upnpbrowser.rescan Scan again upnpbrowser.scanning Scanning for UPnP servers wizard.welcome_head Welcome to the Setup Wizard wizard.welcome_text Next steps will guide you through initial installation of the device.\nImportant: Your CoolStream set-top box can be conveniently controlled\nwith the web interface for timer management or live TV on the Web browser.\nDo not make it accessible to untrusted networks!\nDo you want to continue? +word.from from diff --git a/data/locale/francais.locale b/data/locale/francais.locale index a2d86ac85..66e1db6b6 100644 --- a/data/locale/francais.locale +++ b/data/locale/francais.locale @@ -200,7 +200,7 @@ bouquetlist.head Bouquets cablesetup.provider Fournisseur de service channellist.head tout les services channellist.nonefound Aucune chaines trouvée!\néxecuter un scan\n(DBOX-key -> service) -channellist.since depuis %02d:%02d +channellist.since depuis colorchooser.alpha alpha colorchooser.blue bleu colorchooser.green vert diff --git a/data/locale/french.locale b/data/locale/french.locale index 243847855..0bbb0942b 100644 --- a/data/locale/french.locale +++ b/data/locale/french.locale @@ -203,7 +203,7 @@ bouquetlist.head Bouquets cablesetup.provider Fournisseur de service channellist.head tout les services channellist.nonefound Aucune chaines trouvée!\néxecuter un scan\n(DBOX-key -> service) -channellist.since depuis %02d:%02d +channellist.since depuis colorchooser.alpha alpha colorchooser.blue bleu colorchooser.green vert diff --git a/data/locale/hungarian.locale b/data/locale/hungarian.locale index ef50f52f0..30e8a4214 100644 --- a/data/locale/hungarian.locale +++ b/data/locale/hungarian.locale @@ -203,7 +203,7 @@ bouquetlist.head Csomagok cablesetup.provider Kábelszolgáltató channellist.head Összes csat channellist.nonefound A cstornalista üres.\nKérem futtasson egy keresést! -channellist.since %02d:%02d óta +channellist.since óta colorchooser.alpha alpha colorchooser.blue kék colorchooser.green zöld diff --git a/data/locale/italiano.locale b/data/locale/italiano.locale index baf6d2fe1..49cc9c0c9 100644 --- a/data/locale/italiano.locale +++ b/data/locale/italiano.locale @@ -205,8 +205,8 @@ channellist.epgtext_align_left sinistra channellist.epgtext_align_right destra channellist.head Tutti i canali channellist.nonefound Non ci sono canali!\n\nEseguire una Scansione\n(Tasto-DBOX -> Servizio) -channellist.since fino %02d:%02d -channellist.start inizio %02d:%02d +channellist.since fino +channellist.start inizio colorchooser.alpha alpha colorchooser.blue blu colorchooser.green verde diff --git a/data/locale/nederlands.locale b/data/locale/nederlands.locale index 519daae7a..67e4de7ee 100644 --- a/data/locale/nederlands.locale +++ b/data/locale/nederlands.locale @@ -176,7 +176,7 @@ bouquetlist.head Boeket cablesetup.provider Kabelprovider channellist.head Alle Services channellist.nonefound Geen kanalen gevonden!\nVoer aub een scan uit\n(dbox-toets -> service) -channellist.since sinds %02d:%02d +channellist.since sinds colorchooser.alpha alpha colorchooser.blue blauw colorchooser.green groen diff --git a/data/locale/polski.locale b/data/locale/polski.locale index 7d5e91d41..477266d8b 100644 --- a/data/locale/polski.locale +++ b/data/locale/polski.locale @@ -218,8 +218,8 @@ channellist.epgtext_align_left do lewej channellist.epgtext_align_right do prawej channellist.head Wszystkie kanały channellist.nonefound Brak listy kanałów! Uruchom\nwyszukiwanie kanałów (Menu główne -> Usługi) -channellist.since od %02d:%02d -channellist.start początek %02d:%02d +channellist.since od +channellist.start początek colorchooser.alpha Alfa colorchooser.blue Niebieski colorchooser.green Zielony diff --git a/data/locale/portugues.locale b/data/locale/portugues.locale index 3c7ee0d3d..802186db4 100644 --- a/data/locale/portugues.locale +++ b/data/locale/portugues.locale @@ -203,7 +203,7 @@ bouquetlist.head Bouquets cablesetup.provider operador de cabo channellist.head Todos os serviços channellist.nonefound Não foram encontrados canais!\nPor favor realize uma busca\n(tecla-DBOX -> serviços) -channellist.since desde %02d:%02d +channellist.since desde colorchooser.alpha alpha colorchooser.blue azul colorchooser.green verde diff --git a/data/locale/russkij.locale b/data/locale/russkij.locale index 7aeb0c2f2..83ffa4230 100644 --- a/data/locale/russkij.locale +++ b/data/locale/russkij.locale @@ -203,7 +203,7 @@ bouquetlist.head Пакеты cablesetup.provider кабельный провайдер channellist.head Все сервисы channellist.nonefound Нет ни одного канала! \nПожалуйста выполните сканирование\n(кнопка DREAM -> Сервисы) -channellist.since начало в %02d:%02d +channellist.since начало в colorchooser.alpha alpha colorchooser.blue синий colorchooser.green зеленый diff --git a/data/locale/slovak.locale b/data/locale/slovak.locale index 690cbfee2..b8d691084 100644 --- a/data/locale/slovak.locale +++ b/data/locale/slovak.locale @@ -223,8 +223,8 @@ channellist.epgtext_align_right do prava channellist.extended Grafické EPG v zozname channellist.head Všetky kanály channellist.nonefound Nenájdený zoznam kanálov!\nVykonaj vyhľadanie kanálov\n(MENU -> Služby) -channellist.since od %02d:%02d -channellist.start spúšťa %02d:%02d +channellist.since od +channellist.start spúšťa channellist.favs Obľúbené channellist.provs Poskytovatelia channellist.sats Satelity diff --git a/data/locale/suomi.locale b/data/locale/suomi.locale index c14537224..4fb416ec0 100644 --- a/data/locale/suomi.locale +++ b/data/locale/suomi.locale @@ -206,7 +206,7 @@ bouquetlist.head Kanavaniput cablesetup.provider Verkko channellist.head Kaikki palvelut channellist.nonefound Kanavia ei löytynyt!\nTee kanavahaku\n(dbox-näppäin -> asetukset) -channellist.since alkaen %02d:%02d +channellist.since alkaen colorchooser.alpha alpha colorchooser.blue sininen colorchooser.green vihreä diff --git a/data/locale/svenska.locale b/data/locale/svenska.locale index aa6c67b5a..b141a0e44 100644 --- a/data/locale/svenska.locale +++ b/data/locale/svenska.locale @@ -206,7 +206,7 @@ bouquetlist.head Bouquets cablesetup.provider kabel operatör channellist.head Alla tjänster channellist.nonefound Inga kanaler hittades!\nVänligen gör en sökning\n(dbox-knapp -> tjänster) -channellist.since sedan %02d:%02d +channellist.since sedan colorchooser.alpha alpha colorchooser.blue blå colorchooser.green grön diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index ddc6ab1a4..880164291 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -89,6 +89,7 @@ extern CBouquetManager *g_bouquetManager; void sectionsd_getChannelEvents(CChannelEventList &eList, const bool tv_mode, t_channel_id *chidlist, int clen); void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventList &eList, char search = 0, std::string search_text = ""); void addChannelToBouquet(const unsigned int bouquet, const t_channel_id channel_id); +void sectionsd_getCurrentNextServiceKey(t_channel_id uniqueServiceKey, CSectionsdClient::responseGetCurrentNextInfoChannelID& current_next ); extern int old_b_id; @@ -1449,7 +1450,7 @@ printf("CChannelList::quickZap: new selected %d total %d active bouquet %d total void CChannelList::paintDetails(int index) { - CChannelEvent *p_event; + CChannelEvent *p_event = NULL; if (displayNext) { p_event = &chanlist[index]->nextEvent; } else { @@ -1465,16 +1466,15 @@ void CChannelList::paintDetails(int index) frameBuffer->paintBoxRel(x+2, y + height + 2, width-4, info_height - 4, COL_MENUCONTENTDARK_PLUS_0, RADIUS_LARGE);//round if (!p_event->description.empty()) { - char cNoch[50]; // UTF-8 - char cSeit[50]; // UTF-8 + char cNoch[50] = {0}; // UTF-8 + char cSeit[50] = {0}; // UTF-8 struct tm *pStartZeit = localtime(&p_event->startTime); unsigned seit = ( time(NULL) - p_event->startTime ) / 60; + snprintf(cSeit, sizeof(cSeit), "%s %02d:%02d",(displayNext) ? g_Locale->getText(LOCALE_CHANNELLIST_START):g_Locale->getText(LOCALE_CHANNELLIST_SINCE), pStartZeit->tm_hour, pStartZeit->tm_min); if (displayNext) { snprintf(cNoch, sizeof(cNoch), "(%d min)", p_event->duration / 60); - snprintf(cSeit, sizeof(cSeit), g_Locale->getText(LOCALE_CHANNELLIST_START), pStartZeit->tm_hour, pStartZeit->tm_min); } else { - snprintf(cSeit, sizeof(cSeit), g_Locale->getText(LOCALE_CHANNELLIST_SINCE), pStartZeit->tm_hour, pStartZeit->tm_min); int noch = (p_event->startTime + p_event->duration - time(NULL)) / 60; if ((noch< 0) || (noch>=10000)) noch= 0; @@ -1512,6 +1512,13 @@ void CChannelList::paintDetails(int index) while ( text2.find_first_of("[ -.+*#?=!$%&/]+") == 0 ) text2 = text2.substr( 1 ); text2 = text2.substr( 0, text2.find('\n') ); + int pos = 0; + while ( ( pos != -1 ) && (g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(text2, true) > (width - 20 - noch_len) ) ) { + pos = text2.find_last_of(" "); + if ( pos!=-1 ) + text2 = text2.substr( 0, pos ); + } + g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ xstart, y+ height+ 5+ 2* fheight, width- xstart- 20- noch_len, text2, COL_MENUCONTENTDARK, 0, true); } @@ -1519,39 +1526,52 @@ void CChannelList::paintDetails(int index) g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString (x+ width- 10- seit_len, y+ height+ 5+ fheight , seit_len, cSeit, COL_MENUCONTENTDARK, 0, true); // UTF-8 g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_NUMBER]->RenderString(x+ width- 10- noch_len, y+ height+ 5+ 2* fheight- 2, noch_len, cNoch, COL_MENUCONTENTDARK, 0, true); // UTF-8 } + char buf[128] = {0}; + int len = 0; + if(g_settings.channellist_foot == 0){ + transponder_id_t ct = chanlist[index]->getTransponderId(); + transponder_list_t::iterator tpI = transponders.find(ct); + len = snprintf(buf, sizeof(buf), "%d ", chanlist[index]->getFreqId()); - char buf[128]; - transponder_id_t ct = chanlist[index]->getTransponderId(); - transponder_list_t::iterator tpI = transponders.find(ct); - int len = snprintf(buf, sizeof(buf), "%d ", chanlist[index]->getFreqId()); + if(tpI != transponders.end()) { + char * f, *s, *m; + switch(frontend->getInfo()->type) { + case FE_QPSK: + frontend->getDelSys(tpI->second.feparams.u.qpsk.fec_inner, dvbs_get_modulation(tpI->second.feparams.u.qpsk.fec_inner), f, s, m); + len += snprintf(&buf[len], sizeof(buf) - len, "%c %d %s %s %s ", tpI->second.polarization ? 'V' : 'H', tpI->second.feparams.u.qpsk.symbol_rate/1000, f, s, m); + break; + case FE_QAM: + frontend->getDelSys(tpI->second.feparams.u.qam.fec_inner, tpI->second.feparams.u.qam.modulation, f, s, m); + len += snprintf(&buf[len], sizeof(buf) - len, "%d %s %s %s ", tpI->second.feparams.u.qam.symbol_rate/1000, f, s, m); + break; + case FE_OFDM: + case FE_ATSC: + break; + } + } - if(tpI != transponders.end()) { - char * f, *s, *m; - switch(frontend->getInfo()->type) { - case FE_QPSK: - frontend->getDelSys(tpI->second.feparams.u.qpsk.fec_inner, dvbs_get_modulation(tpI->second.feparams.u.qpsk.fec_inner), f, s, m); - len += snprintf(&buf[len], sizeof(buf) - len, "%c %d %s %s %s ", tpI->second.polarization ? 'V' : 'H', tpI->second.feparams.u.qpsk.symbol_rate/1000, f, s, m); - break; - case FE_QAM: - frontend->getDelSys(tpI->second.feparams.u.qam.fec_inner, tpI->second.feparams.u.qam.modulation, f, s, m); - len += snprintf(&buf[len], sizeof(buf) - len, "%d %s %s %s ", tpI->second.feparams.u.qam.symbol_rate/1000, f, s, m); - break; - case FE_OFDM: - case FE_ATSC: - break; + if(chanlist[index]->pname) + snprintf(&buf[len], sizeof(buf) - len, "(%s)", chanlist[index]->pname); + else { + sat_iterator_t sit = satellitePositions.find(chanlist[index]->getSatellitePosition()); + if(sit != satellitePositions.end()) { + //int satNameWidth = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getRenderWidth (sit->second.name); + snprintf(&buf[len], sizeof(buf) - len, "(%s)", sit->second.name.c_str()); + } + } + g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ 3*fheight, width - 30, buf, COL_MENUCONTENTDARK, 0, true); + } + else if( !displayNext && g_settings.channellist_foot == 1){ // next Event + CSectionsdClient::CurrentNextInfo CurrentNext; + sectionsd_getCurrentNextServiceKey(chanlist[index]->channel_id & 0xFFFFFFFFFFFFULL, CurrentNext); + if (!CurrentNext.next_name.empty()){ + struct tm *pStartZeit = localtime (& CurrentNext.next_zeit.startzeit); + len = snprintf(buf, sizeof(buf), "%s %02d:%02d ",g_Locale->getText(LOCALE_WORD_FROM),pStartZeit->tm_hour, pStartZeit->tm_min ); + len += snprintf(&buf[len], sizeof(buf) - len, "%s", CurrentNext.next_name.c_str()); + + g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->RenderString(x+ 10, y+ height+ 5+ 3*fheight, width - 30, buf, COL_MENUCONTENTDARK, 0, true); } } - - if(chanlist[index]->pname) - snprintf(&buf[len], sizeof(buf) - len, "(%s)", chanlist[index]->pname); - else { - sat_iterator_t sit = satellitePositions.find(chanlist[index]->getSatellitePosition()); - if(sit != satellitePositions.end()) { - //int satNameWidth = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getRenderWidth (sit->second.name); - snprintf(&buf[len], sizeof(buf) - len, "(%s)", sit->second.name.c_str()); - } - } - g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 10, y+ height+ 5+ 3*fheight, width - 30, buf, COL_MENUCONTENTDARK, 0, true); } } diff --git a/src/neutrino.cpp b/src/neutrino.cpp index a7b0bac9f..70ff2e7fd 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -712,6 +712,8 @@ printf("***************************** rec dir %s timeshift dir %s\n", g_settings g_settings.spectrum = configfile.getBool("spectrum" , false); g_settings.channellist_epgtext_align_right = configfile.getBool("channellist_epgtext_align_right" , false); g_settings.channellist_extended = configfile.getBool("channellist_extended" , true); + g_settings.channellist_foot = configfile.getInt32("channellist_foot" , 1);//default next Event + //screen configuration g_settings.screen_xres = configfile.getInt32("screen_xres", 100); g_settings.screen_yres = configfile.getInt32("screen_yres", 100); @@ -1226,6 +1228,7 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setBool("spectrum", g_settings.spectrum); configfile.setBool("channellist_epgtext_align_right", g_settings.channellist_epgtext_align_right); configfile.setBool("channellist_extended" , g_settings.channellist_extended); + configfile.setInt32("channellist_foot" , g_settings.channellist_foot); configfile.setString( "repeat_blocker", g_settings.repeat_blocker ); configfile.setString( "repeat_genericblocker", g_settings.repeat_genericblocker ); configfile.setBool ( "audiochannel_up_down_enable", g_settings.audiochannel_up_down_enable ); diff --git a/src/neutrino_menue.cpp b/src/neutrino_menue.cpp index d00267e7b..0c6b9ba7f 100644 --- a/src/neutrino_menue.cpp +++ b/src/neutrino_menue.cpp @@ -1031,6 +1031,14 @@ const CMenuOptionChooser::keyval CHANNELLIST_EPGTEXT_ALIGN_RIGHT_OPTIONS[CHANNE { 1 , LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT } }; +#define CHANNELLIST_FOOT_OPTIONS_COUNT 3 +const CMenuOptionChooser::keyval CHANNELLIST_FOOT_OPTIONS[CHANNELLIST_FOOT_OPTIONS_COUNT]= +{ + { 0 , LOCALE_CHANNELLIST_FOOT_FREQ }, + { 1 , LOCALE_CHANNELLIST_FOOT_NEXT }, + { 2 , LOCALE_CHANNELLIST_FOOT_OFF } +}; + #define CPU_FREQ_OPTION_COUNT 13 const CMenuOptionChooser::keyval_ext CPU_FREQ_OPTIONS[CPU_FREQ_OPTION_COUNT] = { @@ -1109,6 +1117,7 @@ void CNeutrinoApp::InitMiscSettings(CMenuWidget &miscSettings) miscSettingsChannellist->addIntroItems(); miscSettingsChannellist->addItem(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)); miscSettingsChannellist->addItem(new CMenuOptionChooser(LOCALE_CHANNELLIST_EXTENDED, &g_settings.channellist_extended, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); + miscSettingsChannellist->addItem(new CMenuOptionChooser(LOCALE_CHANNELLIST_FOOT, &g_settings.channellist_foot, CHANNELLIST_FOOT_OPTIONS, CHANNELLIST_FOOT_OPTIONS_COUNT, true)); miscSettingsChannellist->addItem(new CMenuOptionChooser(LOCALE_CHANNELLIST_MAKE_HDLIST, &g_settings.make_hd_list, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); miscSettingsChannellist->addItem(new CMenuOptionChooser(LOCALE_EXTRA_ZAP_CYCLE, &g_settings.zap_cycle, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); miscSettings.addItem( new CMenuForwarder(LOCALE_MISCSETTINGS_CHANNELLIST, true, NULL, miscSettingsChannellist, NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN) ); diff --git a/src/system/locals.h b/src/system/locals.h index 666c650b8..2290c9f88 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -227,11 +227,15 @@ typedef enum { LOCALE_CHANNELLIST_EPGTEXT_ALIGN_LEFT, LOCALE_CHANNELLIST_EPGTEXT_ALIGN_RIGHT, LOCALE_CHANNELLIST_EXTENDED, + LOCALE_CHANNELLIST_FAVS, + LOCALE_CHANNELLIST_FOOT, + LOCALE_CHANNELLIST_FOOT_OFF, + LOCALE_CHANNELLIST_FOOT_FREQ, + LOCALE_CHANNELLIST_FOOT_NEXT, LOCALE_CHANNELLIST_HEAD, LOCALE_CHANNELLIST_NONEFOUND, LOCALE_CHANNELLIST_SINCE, LOCALE_CHANNELLIST_START, - LOCALE_CHANNELLIST_FAVS, LOCALE_CHANNELLIST_PROVS, LOCALE_CHANNELLIST_SATS, LOCALE_CHANNELLIST_HISTORY, @@ -1468,7 +1472,8 @@ typedef enum { LOCALE_CPU_FREQ_STANDBY, LOCALE_CPU_FREQ_DEFAULT, LOCALE_WIZARD_WELCOME_HEAD, - LOCALE_WIZARD_WELCOME_TEXT + LOCALE_WIZARD_WELCOME_TEXT, + LOCALE_WORD_FROM } neutrino_locale_t; #endif diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 4103087d1..52207f7ca 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -227,11 +227,15 @@ const char *locale_real_names[] = { "channellist.epgtext_align_left", "channellist.epgtext_align_right", "channellist.extended", + "channellist.favs", + "channellist.foot", + "channellist.foot_off", + "channellist.foot_freq", + "channellist.foot_next", "channellist.head", "channellist.nonefound", "channellist.since", "channellist.start", - "channellist.favs", "channellist.provs", "channellist.sats", "channellist.history", @@ -1468,7 +1472,8 @@ const char *locale_real_names[] = { "cpu.freq_standby", "cpu.freq_default", "wizard.welcome_head", - "wizard.welcome_text" + "wizard.welcome_text", + "word.from" }; #endif diff --git a/src/system/settings.h b/src/system/settings.h index f7cad82da..aee14274b 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -307,6 +307,7 @@ struct SNeutrinoSettings int big_windows; int channellist_epgtext_align_right; int channellist_extended; + int channellist_foot; char repeat_blocker[4]; char repeat_genericblocker[4];