diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 8c89f6d91..22db40405 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -775,6 +775,18 @@ int CNeutrinoApp::loadSetup(const char * fname) CWebTVSetup webtvsetup; webtvsetup.webtv_xml_auto(); + g_settings.web_epg.clear(); + int webepg_count = configfile.getInt32("webepg_count", 0); + if (webepg_count) { + for (int i = 0; i < webepg_count; i++) { + std::string k = "webepg_" + to_string(i); + std::string web_epg = configfile.getString(k, ""); + if (web_epg.empty()) + continue; + g_settings.web_epg.push_back(web_epg); + } + } + g_settings.webradio_xml.clear(); #ifndef BOXMODEL_CS_HD1 /* @@ -1562,6 +1574,14 @@ void CNeutrinoApp::saveSetup(const char * fname) } configfile.setInt32 ( "webtv_xml_count", webtv_count); //NI + int webepg_count = 0; + for (std::list::iterator it = g_settings.web_epg.begin(); it != g_settings.web_epg.end(); ++it) { + std::string k = "webepg_" + to_string(webepg_count); + configfile.setString(k, *it); + webepg_count++; + } + configfile.setInt32 ( "webepg_count", g_settings.web_epg.size()); + saveKeys(); configfile.setInt32( "timeshift_pause", g_settings.timeshift_pause ); @@ -2754,6 +2774,9 @@ TIMER_STOP("################################## after all ####################### CFlashUpdateCheck::getInstance()->startThread(); } + for (std::list::iterator it = g_settings.web_epg.begin(); it != g_settings.web_epg.end(); ++it) + g_Sectionsd->readSIfromIPTVXML((*it).c_str()); + RealRun(); ExitRun(g_info.hw_caps->can_shutdown); diff --git a/src/system/settings.h b/src/system/settings.h index 45c8950bc..5b1571f1b 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -329,6 +329,7 @@ struct SNeutrinoSettings std::list webtv_xml; std::list webradio_xml; + std::list web_epg; //personalize enum PERSONALIZE_SETTINGS //settings.h