diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 0fb5817a2..78079f7c3 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -2883,6 +2883,7 @@ webradio.xml.auto WebRadio-Dateien automatisch laden webtv.head WebTV webtv.xml WebTV-Dateien webtv.xml.auto WebTV-Dateien automatisch laden +webtv.xml.pref_quality Bevorzugte Qualität window_size Fenstergröße in % wizard.initial_settings Grundeinstellungen gefunden wizard.install_settings Kanalliste für Astra 19.2°E installieren? diff --git a/data/locale/english.locale b/data/locale/english.locale index 04800ba46..4f5f4b633 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -2883,6 +2883,7 @@ webradio.xml.auto Auto-load WebRadio files webtv.head WebTV webtv.xml WebTV files webtv.xml.auto Auto-load WebTV files +webtv.xml.pref_quality Prefered quality window_size Window size in % wizard.initial_settings Initial settings found wizard.install_settings Do you want to install channels for Astra 19.2°E? diff --git a/src/gui/webchannels_setup.cpp b/src/gui/webchannels_setup.cpp index 09ef8fdf7..d30c008d6 100644 --- a/src/gui/webchannels_setup.cpp +++ b/src/gui/webchannels_setup.cpp @@ -59,6 +59,30 @@ static const struct button_label CWebChannelsSetupFooterButtons[] = }; #define CWebChannelsSetupFooterButtonCount (sizeof(CWebChannelsSetupFooterButtons)/sizeof(CWebChannelsSetupFooterButtons[0])) +#if BOXMODEL_CST_HD1 || BOXMODEL_CST_HD2 || HAVE_SPARK_HARDWARE +#define WEBTV_XML_QUALITY_OPTION_COUNT 5 + CMenuOptionChooser::keyval_ext WEBTV_XML_QUALITY_OPTIONS[WEBTV_XML_QUALITY_OPTION_COUNT] = + { + { 1920, NONEXISTANT_LOCALE, "1920x1080" }, + { 1280, NONEXISTANT_LOCALE, "1280x720" }, + { 854, NONEXISTANT_LOCALE, "854x480" }, + { 640, NONEXISTANT_LOCALE, "640x360" }, + { 480, NONEXISTANT_LOCALE, "480x270" } + }; +#else +#define WEBTV_XML_QUALITY_OPTION_COUNT 7 + CMenuOptionChooser::keyval_ext WEBTV_XML_QUALITY_OPTIONS[WEBTV_XML_QUALITY_OPTION_COUNT] = + { + { 3840, NONEXISTANT_LOCALE, "3840x2160" }, + { 2560, NONEXISTANT_LOCALE, "2560x1440" }, + { 1920, NONEXISTANT_LOCALE, "1920x1080" }, + { 1280, NONEXISTANT_LOCALE, "1280x720" }, + { 854, NONEXISTANT_LOCALE, "854x480" }, + { 640, NONEXISTANT_LOCALE, "640x360" }, + { 480, NONEXISTANT_LOCALE, "480x270" } + }; +#endif + int CWebChannelsSetup::exec(CMenuTarget *parent, const std::string &actionKey) { int res = menu_return::RETURN_REPAINT; @@ -231,6 +255,10 @@ int CWebChannelsSetup::Show() } oc->setHint("", hint_text); m->addItem(oc); + if(!webradio) + { + m->addItem(new CMenuOptionChooser(LOCALE_WEBTV_XML_PREF_QUALITY, &g_settings.webtv_xml_quality, WEBTV_XML_QUALITY_OPTIONS, WEBTV_XML_QUALITY_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++), "", true)); + } m->addItem(GenericMenuSeparator); item_offset = m->getItemsCount(); diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 1e2965ac8..1d47fe584 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -896,6 +896,7 @@ int CNeutrinoApp::loadSetup(const char *fname) g_settings.widget_fade = configfile.getBool("widget_fade", false); // webtv + g_settings.webtv_xml_quality = configfile.getInt32("webtv_xml_quality", 1280); g_settings.webtv_xml_auto = configfile.getInt32("webtv_xml_auto", 1); g_settings.webtv_xml.clear(); int webtv_count = configfile.getInt32("webtv_xml_count", 0); @@ -1944,6 +1945,7 @@ void CNeutrinoApp::saveSetup(const char *fname) // webtv CWebChannelsSetup webchannelssetup; + configfile.setInt32("webtv_xml_quality", g_settings.webtv_xml_quality); configfile.setInt32("webtv_xml_auto", g_settings.webtv_xml_auto); int webtv_count = 0; for (std::list::iterator it = g_settings.webtv_xml.begin(); it != g_settings.webtv_xml.end(); ++it) diff --git a/src/system/locals.h b/src/system/locals.h index dc6a0c3ff..06f1e5305 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -2910,6 +2910,7 @@ typedef enum LOCALE_WEBTV_HEAD, LOCALE_WEBTV_XML, LOCALE_WEBTV_XML_AUTO, + LOCALE_WEBTV_XML_PREF_QUALITY, LOCALE_WINDOW_SIZE, LOCALE_WIZARD_INITIAL_SETTINGS, LOCALE_WIZARD_INSTALL_SETTINGS, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index c606f661f..e78a6c202 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -2910,6 +2910,7 @@ const char * locale_real_names[] = "webtv.head", "webtv.xml", "webtv.xml.auto", + "webtv.xml.pref_quality", "window_size", "wizard.initial_settings", "wizard.install_settings", diff --git a/src/system/settings.h b/src/system/settings.h index bfa79008e..b53704ae4 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -737,6 +737,7 @@ struct SNeutrinoSettings int widget_fade; // webtv + int webtv_xml_quality; int webtv_xml_auto; std::list webtv_xml; std::string last_webtv_dir;