diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 5240c6fb5..1b22a4ee5 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1556,6 +1556,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.colored_events Sendung hervorheben miscsettings.colored_events_0 keine diff --git a/data/locale/english.locale b/data/locale/english.locale index 2bf0c8169..9b78abeba 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1556,6 +1556,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.colored_events Program colored miscsettings.colored_events_0 none diff --git a/src/gui/miscsettings_menu.cpp b/src/gui/miscsettings_menu.cpp index d67c58517..b735d1b54 100644 --- a/src/gui/miscsettings_menu.cpp +++ b/src/gui/miscsettings_menu.cpp @@ -560,6 +560,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) @@ -666,6 +670,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 cb2749794..06e6b8ba2 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -591,6 +591,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 ); @@ -1372,6 +1373,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); @@ -2633,6 +2635,8 @@ TIMER_START(); SHTDCNT::getInstance()->init(); + + CZapit::getInstance()->SetScanSDT(g_settings.enable_sdt); cSysLoad::getInstance(); cHddStat::getInstance(); diff --git a/src/system/locals.h b/src/system/locals.h index 958d605c8..06011d758 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1083,6 +1083,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, @@ -1583,6 +1584,7 @@ typedef enum LOCALE_MESSAGEBOX_OK, LOCALE_MESSAGEBOX_YES, LOCALE_MISCSETTINGS_CHANNELLIST, + LOCALE_MISCSETTINGS_CHANNELLIST_ENABLESDT, LOCALE_MISCSETTINGS_CHANNELLIST_EPGTEXT_ALIGN, LOCALE_MISCSETTINGS_COLORED_EVENTS, LOCALE_MISCSETTINGS_COLORED_EVENTS_0, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 2fc2d9b9a..83c00d917 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1083,6 +1083,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", @@ -1583,6 +1584,7 @@ const char * locale_real_names[] = "messagebox.ok", "messagebox.yes", "miscsettings.channellist", + "miscsettings.channellist_enablesdt", "miscsettings.channellist_epgtext_align", "miscsettings.colored_events", "miscsettings.colored_events_0", diff --git a/src/system/settings.h b/src/system/settings.h index b4a5dc85f..a9e43578a 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -320,6 +320,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 4dbe2c0d4..c1138d590 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 0b5b97b58..389c5789a 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -2878,7 +2878,7 @@ void CZapitSdtMonitor::run() tpid = channel->getTransponderId(); } } - if(!CZapit::getInstance()->scanSDT()) + if(!CZapit::getInstance()->GetScanSDT()) continue; tcur = time(0); @@ -2920,7 +2920,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");