diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 527921fed..988a670f1 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1741,6 +1741,7 @@ messagebox.no Nein messagebox.ok OK messagebox.yes Ja miscsettings.channellist Kanalliste +miscsettings.channellist_enablesdt Transponder Hintergrundaktualisierung miscsettings.channellist_epgtext_align Event-Text ausrichten miscsettings.channellogos Senderlogos miscsettings.colored_events Sendung hervorheben diff --git a/data/locale/english.locale b/data/locale/english.locale index b6de7caa0..80f1f8648 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1741,6 +1741,7 @@ messagebox.no No messagebox.ok Ok messagebox.yes Yes miscsettings.channellist Channellist +miscsettings.channellist_enablesdt Transponder Backgroundupdate miscsettings.channellist_epgtext_align Programtext Align miscsettings.channellogos Channellogos miscsettings.colored_events Program colored diff --git a/src/gui/miscsettings_menu.cpp b/src/gui/miscsettings_menu.cpp index fdc96ecbf..a9012f37c 100644 --- a/src/gui/miscsettings_menu.cpp +++ b/src/gui/miscsettings_menu.cpp @@ -574,6 +574,10 @@ int CMiscMenue::showMiscSettingsMenuChanlist() mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_SHOW_EMPTY_FAVS); ms_chanlist->addItem(mc); + mc = new CMenuOptionChooser(LOCALE_MISCSETTINGS_CHANNELLIST_ENABLESDT, &g_settings.enable_sdt, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this); + mc->setHint("", LOCALE_MENU_HINT_CHANNELLIST_ENABLESDT); + ms_chanlist->addItem(mc); + int res = ms_chanlist->exec(NULL, ""); delete ms_chanlist; if (make_hd_list != g_settings.make_hd_list || make_webtv_list != g_settings.make_webtv_list || show_empty_favorites != g_settings.show_empty_favorites) @@ -706,6 +710,12 @@ bool CMiscMenue::changeNotify(const neutrino_locale_t OptionName, void * /*data* videoDecoder->SetCECAutoView(g_settings.hdmi_cec_view_on == 1); videoDecoder->SetCECMode((VIDEO_HDMI_CEC_MODE)g_settings.hdmi_cec_mode); } + else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_MISCSETTINGS_CHANNELLIST_ENABLESDT)) + { + CZapit::getInstance()->SetScanSDT(g_settings.enable_sdt); + + ret = menu_return::RETURN_REPAINT; + } else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_MISCSETTINGS_EPG_SAVE)) { if (g_settings.epg_save) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 2f5490608..74aa69288 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -648,6 +648,7 @@ int CNeutrinoApp::loadSetup(const char * fname) } g_settings.epg_scan_rescan = configfile.getInt32("epg_scan_rescan", 24); g_settings.epg_save_mode = configfile.getInt32("epg_save_mode", 0); + g_settings.enable_sdt = configfile.getInt32("enable_sdt",0); //widget settings g_settings.widget_fade = false; g_settings.widget_fade = configfile.getBool("widget_fade" , false ); @@ -1508,6 +1509,7 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setInt32("epg_old_events" ,g_settings.epg_old_events ); configfile.setInt32("epg_max_events" ,g_settings.epg_max_events ); configfile.setString("epg_dir" ,g_settings.epg_dir); + configfile.setInt32("enable_sdt", g_settings.enable_sdt); // NTP-Server for sectionsd configfile.setString( "network_ntpserver", g_settings.network_ntpserver); @@ -2792,6 +2794,8 @@ TIMER_START(); if(g_settings.lcd4l_support) LCD4l->StartLCD4l(); + CZapit::getInstance()->SetScanSDT(g_settings.enable_sdt); + cSysLoad::getInstance(); cHddStat::getInstance(); diff --git a/src/system/locals.h b/src/system/locals.h index 1397c2b07..804fd4725 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1214,6 +1214,7 @@ typedef enum LOCALE_MENU_HINT_CEC_STANDBY, LOCALE_MENU_HINT_CEC_VIEW_ON, LOCALE_MENU_HINT_CHANNELLIST_ADDITIONAL, + LOCALE_MENU_HINT_CHANNELLIST_ENABLESDT, LOCALE_MENU_HINT_CHANNELLIST_EPG_ALIGN, LOCALE_MENU_HINT_CHANNELLIST_EXTENDED, LOCALE_MENU_HINT_CHANNELLIST_FONTS, @@ -1768,6 +1769,7 @@ typedef enum LOCALE_MESSAGEBOX_OK, LOCALE_MESSAGEBOX_YES, LOCALE_MISCSETTINGS_CHANNELLIST, + LOCALE_MISCSETTINGS_CHANNELLIST_ENABLESDT, LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGN, LOCALE_MISCSETTINGS_CHANNELLOGOS, LOCALE_MISCSETTINGS_COLORED_EVENTS, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 2f1024a25..dc83bd412 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1214,6 +1214,7 @@ const char * locale_real_names[] = "menu.hint_cec_standby", "menu.hint_cec_view_on", "menu.hint_channellist_additional", + "menu.hint_channellist_enablesdt", "menu.hint_channellist_epg_align", "menu.hint_channellist_extended", "menu.hint_channellist_fonts", @@ -1768,6 +1769,7 @@ const char * locale_real_names[] = "messagebox.ok", "messagebox.yes", "miscsettings.channellist", + "miscsettings.channellist_enablesdt", "miscsettings.channellist_epgtext_align", "miscsettings.channellogos", "miscsettings.colored_events", diff --git a/src/system/settings.h b/src/system/settings.h index b858262a1..9f366221f 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -321,6 +321,7 @@ struct SNeutrinoSettings int epg_scan_mode; int epg_scan_rescan; int epg_save_mode; + int enable_sdt; int epg_search_history_size; int epg_search_history_max; diff --git a/src/zapit/include/zapit/zapit.h b/src/zapit/include/zapit/zapit.h index 2e6ea1f4c..3c34da355 100644 --- a/src/zapit/include/zapit/zapit.h +++ b/src/zapit/include/zapit/zapit.h @@ -248,7 +248,8 @@ class CZapit : public OpenThreads::Thread void Abort() { abort_zapit = 1; }; bool Recording() { return currentMode & RECORD_MODE; }; bool makeRemainingChannelsBouquet() { return config.makeRemainingChannelsBouquet; }; - bool scanSDT() { return config.scanSDT; }; + bool GetScanSDT() { return config.scanSDT; }; + void SetScanSDT(int _scanSDT) { config.scanSDT = _scanSDT; }; bool scanPids() { return config.scanPids; }; void scanPids(bool enable) { config.scanPids = enable; }; diff --git a/src/zapit/src/getservices.cpp b/src/zapit/src/getservices.cpp index 904e734ef..f5422ff80 100644 --- a/src/zapit/src/getservices.cpp +++ b/src/zapit/src/getservices.cpp @@ -1009,7 +1009,7 @@ bool CServiceManager::LoadServices(bool only_current) do_current: #if 0 DBG("Loading current..\n"); - if (CZapit::getInstance()->scanSDT() && (parser = parseXmlFile(CURRENTSERVICES_XML))) { + if (CZapit::getInstance()->GetScanSDT() && (parser = parseXmlFile(CURRENTSERVICES_XML))) { newfound = 0; printf("[getservices] " CURRENTSERVICES_XML " found.\n"); FindTransponder(xmlChildrenNode(xmlDocGetRootElement(parser))); diff --git a/src/zapit/src/zapit.cpp b/src/zapit/src/zapit.cpp index a147361d0..beebb846a 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -2877,7 +2877,7 @@ void CZapitSdtMonitor::run() tpid = channel->getTransponderId(); } } - if(!CZapit::getInstance()->scanSDT()) + if(!CZapit::getInstance()->GetScanSDT()) continue; tcur = time(0); @@ -2919,7 +2919,7 @@ void CZapitSdtMonitor::run() bool updated = CServiceManager::getInstance()->SaveCurrentServices(tpid); CServiceManager::getInstance()->CopyCurrentServices(tpid); - if(updated && (CZapit::getInstance()->scanSDT() == 1)) + if(updated && (CZapit::getInstance()->GetScanSDT() == 1)) CZapit::getInstance()->SendEvent(CZapitClient::EVT_SDT_CHANGED); if(!updated) printf("[sdt monitor] no changes.\n");