diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 9e0b4d0b8..44b6e7395 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1179,6 +1179,7 @@ menu.hint_misc_energy Energieverbrauchs- und Standby-Optionen, verzögertes Auss menu.hint_misc_epg Diverse EPG-Einstellungen und Speicherverzeichnis für EPG-Daten menu.hint_misc_filebrowser Dateisystem, Dateirechte anzeigen im Dateibrowser, Startverzeichnisoptionen menu.hint_misc_general Standby-, Teletext- und Rotor-Einstellungen, Pluginverzeichnis auf externem Datenträger +menu.hint_misc_onlineservices Konfigurieren und steuern von Online-Diensten wie YouTube, ShoutCast und TMDb menu.hint_misc_zapit Verwaltung der Start-Kanäle für den TV/Radio-Modus menu.hint_movie Wiedergabe von Filmen menu.hint_moviebrowser_setup Legen Sie Auswahl- und Anzeigeoptionen des MovieBrowsers fest @@ -1391,6 +1392,7 @@ menu.hint_selected_text Ändern Sie die Textfarbe für ausgewählte Fensterinhal menu.hint_service Sendersuchlauf, Bouquet-Verwaltung, Software-Aktualisierung und mehr menu.hint_service_scan Automatischer / manueller Service Suchlauf menu.hint_settings Konfigurieren von Neutrino-HD,\nNetzwerk, Video, Audio, OSD und mehr +menu.hint_shoutcast_dev_id Geben Sie die SHOUTcast Dev ID ein. Eine leere Eingabe schaltet die SHOUTcast-Unterstützung aus menu.hint_show_mute_icon Definiert, ob bei einem Lautstärkewert von 0 das Stumm-Symbol eingeblendet werden soll menu.hint_shutdown Setzen Sie Ihre Box in den Standby-Modus oder schalten Sie die Box komplett aus menu.hint_shutdown_count Die Zeit zum Herunterfahren in den Deep-Standby, wenn die Box im Standby-Modus ist @@ -1418,6 +1420,7 @@ menu.hint_theme Wählen Sie ein vordefiniertes Farbschema, speichern oder laden menu.hint_timeouts Gibt an, nach welcher Zeit in Sekunden die Menüs oder Infofenster sich automatisch schließen (0 deaktiviert) menu.hint_timers Hinzufügen, entfernen und bearbeiten geplanter Aufnahmen oder anderer Timer menu.hint_timezone Wählen Sie ihre Zeitzone aus +menu.hint_tmdb_api_key Geben Sie den TMDb API Schlüssel ein. Eine leere Eingabe schaltet die TMDb-Unterstützung aus menu.hint_tools Werkzeuge ausführen menu.hint_tvmode Schaltet zum TV-Modus menu.hint_tvradio_switch Schaltet zwischen TV- und Radio-Modus um @@ -1455,6 +1458,7 @@ menu.hint_volume_pos Wählen Sie die Position der Lautstärkeanzeige aus menu.hint_volume_size Wählen Sie die Höhe der Lautstärkeanzeige menu.hint_webtv_setup Hier konfigurierte WebTV-Kanäle finden Sie in der Kanalverwaltung. menu.hint_window_size Kanalliste, EPG-Infos und einige andere Fenster werden mit diesem Faktor skaliert +menu.hint_youtube_dev_id Geben Sie die YouTube Dev ID ein. Eine leere Eingabe schaltet die YouTube-Unterstützung aus menu.hint_ytplay Wiedergabe von ausgewählten Youtube Feeds menu.hint_ytplay_setup Konfigurieren Sie YouTube-spezifische Optionen wie maximale Ergebnisse bei Suchen oder Cache-Verzeichnis menu.hint_zap_cycle Wählen Sie, ob nur innerhalb des aktiven Bouquets umgeschaltet werden kann @@ -1533,6 +1537,7 @@ miscsettings.infobar_show_res_simple einfach miscsettings.infobar_show_sysfs_hdd Füllstandsanzeige (SysFS und HDD) miscsettings.infobar_show_tuner Aktiven Tuner anzeigen miscsettings.infoclock Uhr +miscsettings.onlineservices Online-Dienste miscsettings.progressbar Fortschrittsbalken miscsettings.progressbar_color Farbe miscsettings.progressbar_design Design @@ -2245,6 +2250,7 @@ settings.pos_top_left oben links settings.pos_top_right oben rechts settings.restore Image-Einstellungen: Wiederherstellen settings.restore_warn Alle Settings werden ersetzt.\nDie Box wird neu gestartet.\nWeiter? +shoutcast.dev_id SHOUTcast Dev ID shutdown.recording_query Aufnahme läuft. Trotzdem beenden? shutdowntimer.announce Die Box wird in 1 Min. heruntergefahren.\nShutdown abbrechen? sleeptimerbox.announce Die Box wird in 1 Min. in Standby-Betrieb gehen.\nStandby-Betrieb abbrechen? @@ -2364,6 +2370,7 @@ timing.infobar_radio Infobar (Radiobetrieb) timing.menu Menü timing.numericzap Umschalten mit Zifferntasten timing.volumebar Lautstärkeanzeige +tmdb.api_key TMDb API Schlüssel tmdb.read_data Suche TMDB Daten... unicable.lnb Unicable Eingang unicable.qrg Unicable Frequenz @@ -2471,6 +2478,7 @@ wizard.welcome_head Willkommen zur Ersteinrichtung Ihres Receivers! wizard.welcome_text Wir gratulieren Ihnen zum Kauf Ihrer CST. In den nun folgenden\nSchritten begleiten wir Sie durch die Erstinstallation des Gerätes.\nWir wünschen Ihnen viel Freude mit dem wohl einzigartigsten Receiver!\nBeachten Sie: Ihre CST Set-Top-Box lässt sich bequem per Webinterface\nsteuern, um zum Beispiel die Timer-Verwaltung zu nutzen oder Live-TV im Web-Browser zu schauen.\nAchten Sie darauf, dass Ihre Gerät nicht von aussen zugänglich ist,\nda sonst ein Zugriff über das Internet nicht ausgeschlossen werden kann!\nNächster Schritt? word.from ab word.in in +youtube.dev_id YouTube Dev ID zapit.scantype Service-Auswahl zapit.scantype.all Alle Services zapit.scantype.radio Nur Radio diff --git a/data/locale/english.locale b/data/locale/english.locale index 416e1cd80..f8b74ca44 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1179,6 +1179,7 @@ menu.hint_misc_energy Enable soft-standby, delayed shutdown\ninactivity timers menu.hint_misc_epg Save/load EPG options, EPG cache options\nEPG save directory menu.hint_misc_filebrowser Filesystem encoding, file rights\ndeny directory leave menu.hint_misc_general Start to standby, cache teletext, swp rotor\nplugin hdd dir +menu.hint_misc_onlineservices Configure and control online services like YouTube, ShoutCast and TMDb menu.hint_misc_zapit Initial TV/Radio channels menu.hint_movie Play movies menu.hint_moviebrowser_setup Set selection and display options. @@ -1391,6 +1392,7 @@ menu.hint_selected_text Change selected item text color menu.hint_service Tuner setup, service scan,\nbouquet editor, software upgrade menu.hint_service_scan Auto / manual service scan menu.hint_settings Configure Neutrino-HD\nNetwork, audio, video, OSD and more +menu.hint_shoutcast_dev_id Type your SHOUTcast Dev ID. An empty input disables SHOUTcast support menu.hint_show_mute_icon Show mute icon, when volume set to 0 menu.hint_shutdown Put your box in deep standby mode\nNo confirmation menu.hint_shutdown_count Time to put box in deep-standby\nfrom soft-standby mode @@ -1418,6 +1420,7 @@ menu.hint_theme Select pre-defined color theme\nSave or load theme from files menu.hint_timeouts Configure time to hide GUI windows\nin seconds menu.hint_timers Add/Remove/Edit scheduled\nrecording, reminders etc. menu.hint_timezone Select your timezone +menu.hint_tmdb_api_key Type your TMDb API key. An empty input disables TMDb support menu.hint_tools Run tools menu.hint_tvmode Switch box to TV mode menu.hint_tvradio_switch Switches between TV and Radio mode @@ -1455,6 +1458,7 @@ menu.hint_volume_pos Select volume indicator position menu.hint_volume_size Select volume indicator height menu.hint_webtv_setup WebTV channels configured here will be available in the standard channel lists. menu.hint_window_size Channellist, EPG-infos and some other windows are scaled by this factor +menu.hint_youtube_dev_id Type your YouTube Dev ID. An empty input disables YouTube support menu.hint_ytplay Play selected youtube feeds menu.hint_ytplay_setup Configure YouTube-specific options, e.g. an upper limit for search results menu.hint_zap_cycle When swithing channels, stay in current bouquet @@ -1533,6 +1537,7 @@ miscsettings.infobar_show_res_simple simple miscsettings.infobar_show_sysfs_hdd Fill level (SysFS and HDD) miscsettings.infobar_show_tuner Display active tuner miscsettings.infoclock Clock +miscsettings.onlineservices Online services miscsettings.progressbar Progressbar miscsettings.progressbar_color Color miscsettings.progressbar_design Design @@ -2245,6 +2250,7 @@ settings.pos_top_left top left settings.pos_top_right top right settings.restore Image-Settings: Restore settings.restore_warn This will replace all settings and reboot\nContinue ? +shoutcast.dev_id SHOUTcast Dev ID shutdown.recording_query You really want to to stop record ? shutdowntimer.announce Box will shutdown in 1 min.\nCancel Shutdown ? sleeptimerbox.announce Box will standby in 1 min.\nCancel Standby ? @@ -2364,6 +2370,7 @@ timing.infobar_radio Infobar (radio mode) timing.menu Menu timing.numericzap Numeric Zap timing.volumebar Volume bar +tmdb.api_key TMDb API key tmdb.read_data Search TMDB Data... unicable.lnb Unicable Input unicable.qrg Unicable Frequency @@ -2471,6 +2478,7 @@ wizard.welcome_head Welcome to the Setup Wizard wizard.welcome_text Next steps will guide you through initial installation of the device.\nImportant: Your CST 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 word.in in +youtube.dev_id YouTube Dev ID zapit.scantype scan for services zapit.scantype.all all services zapit.scantype.radio only radio diff --git a/src/gui/miscsettings_menu.cpp b/src/gui/miscsettings_menu.cpp index 6abdb8d48..206de09de 100644 --- a/src/gui/miscsettings_menu.cpp +++ b/src/gui/miscsettings_menu.cpp @@ -47,6 +47,7 @@ #include #include #include +#include #include #include @@ -135,6 +136,10 @@ int CMiscMenue::exec(CMenuTarget* parent, const std::string &actionKey) { return showMiscSettingsMenuChanlist(); } + else if(actionKey == "onlineservices") + { + return showMiscSettingsMenuOnlineServices(); + } return showMiscSettingsMenu(); } @@ -270,11 +275,16 @@ int CMiscMenue::showMiscSettingsMenu() mf->setHint("", LOCALE_MENU_HINT_MISC_ZAPIT); misc_menue.addItem(mf); + // onlineservices + mf = new CMenuForwarder(LOCALE_MISCSETTINGS_ONLINESERVICES, true, NULL, this, "onlineservices", CRCInput::RC_4); + mf->setHint("", LOCALE_MENU_HINT_MISC_ONLINESERVICES); + misc_menue.addItem(mf); + #ifdef CPU_FREQ //CPU CMenuWidget misc_menue_cpu("CPU", NEUTRINO_ICON_SETTINGS, width); showMiscSettingsMenuCPUFreq(&misc_menue_cpu); - misc_menue.addItem( new CMenuForwarder("CPU", true, NULL, &misc_menue_cpu, NULL, CRCInput::RC_4)); + misc_menue.addItem( new CMenuForwarder("CPU", true, NULL, &misc_menue_cpu, NULL, CRCInput::RC_5)); #endif /*CPU_FREQ*/ int res = misc_menue.exec(NULL, ""); @@ -536,6 +546,35 @@ int CMiscMenue::showMiscSettingsMenuChanlist() return res; } +// online services +int CMiscMenue::showMiscSettingsMenuOnlineServices() +{ + CMenuWidget *ms_oservices = new CMenuWidget(LOCALE_MISCSETTINGS_HEAD, NEUTRINO_ICON_SETTINGS, width, MN_WIDGET_ID_MISCSETUP_ONLINESERVICES); + ms_oservices->addIntroItems(LOCALE_MISCSETTINGS_ONLINESERVICES); + + changeNotify(LOCALE_TMDB_API_KEY, NULL); + CKeyboardInput tmdb_api_key_input(LOCALE_TMDB_API_KEY, &g_settings.tmdb_api_key, 32, this); + CMenuForwarder *mf = new CMenuForwarder(LOCALE_TMDB_API_KEY, true, tmdb_api_key_short, &tmdb_api_key_input); + mf->setHint(NEUTRINO_ICON_HINT_SETTINGS, LOCALE_MENU_HINT_TMDB_API_KEY); + ms_oservices->addItem(mf); + + changeNotify(LOCALE_YOUTUBE_DEV_ID, NULL); + CKeyboardInput youtube_dev_id_input(LOCALE_YOUTUBE_DEV_ID, &g_settings.youtube_dev_id, 38, this); + mf = new CMenuForwarder(LOCALE_YOUTUBE_DEV_ID, true, youtube_dev_id_short, &youtube_dev_id_input); + mf->setHint(NEUTRINO_ICON_HINT_SETTINGS, LOCALE_MENU_HINT_YOUTUBE_DEV_ID); + ms_oservices->addItem(mf); + + changeNotify(LOCALE_SHOUTCAST_DEV_ID, NULL); + CKeyboardInput shoutcast_dev_id_input(LOCALE_SHOUTCAST_DEV_ID, &g_settings.shoutcast_dev_id, 16, this); + mf = new CMenuForwarder(LOCALE_SHOUTCAST_DEV_ID, true, shoutcast_dev_id_short, &shoutcast_dev_id_input); + mf->setHint(NEUTRINO_ICON_HINT_SETTINGS, LOCALE_MENU_HINT_SHOUTCAST_DEV_ID); + ms_oservices->addItem(mf); + + int res = ms_oservices->exec(NULL, ""); + delete ms_oservices; + return res; +} + #ifdef CPU_FREQ //CPU void CMiscMenue::showMiscSettingsMenuCPUFreq(CMenuWidget *ms_cpu) @@ -592,6 +631,29 @@ bool CMiscMenue::changeNotify(const neutrino_locale_t OptionName, void * /*data* epg_scan->setActive(g_settings.epg_scan_mode != CEpgScan::MODE_OFF && g_settings.epg_save_mode == 0); ret = menu_return::RETURN_REPAINT; } - + else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_TMDB_API_KEY)) + { + g_settings.tmdb_enabled = ((g_settings.tmdb_api_key != "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") && !g_settings.tmdb_api_key.empty()); + if (g_settings.tmdb_enabled) + tmdb_api_key_short = g_settings.tmdb_api_key.substr(0, 8) + "..."; + else + tmdb_api_key_short.clear(); + } + else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_YOUTUBE_DEV_ID)) + { + g_settings.youtube_enabled = ((g_settings.youtube_dev_id != "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") && !g_settings.youtube_dev_id.empty()); + if (g_settings.youtube_enabled) + youtube_dev_id_short = g_settings.youtube_dev_id.substr(0, 8) + "..."; + else + youtube_dev_id_short.clear(); + } + else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_SHOUTCAST_DEV_ID)) + { + g_settings.shoutcast_enabled = ((g_settings.shoutcast_dev_id != "XXXXXXXXXXXXXXXX") && !g_settings.shoutcast_dev_id.empty()); + if (g_settings.shoutcast_enabled) + shoutcast_dev_id_short = g_settings.shoutcast_dev_id.substr(0, 8) + "..."; + else + shoutcast_dev_id_short.clear(); + } return ret; } diff --git a/src/gui/miscsettings_menu.h b/src/gui/miscsettings_menu.h index 6084f3f92..22f6f25e4 100644 --- a/src/gui/miscsettings_menu.h +++ b/src/gui/miscsettings_menu.h @@ -53,12 +53,17 @@ class CMiscMenue : public CMenuTarget, CChangeObserver std::string epg_old_events; std::string epg_max_events; + std::string tmdb_api_key_short; + std::string youtube_dev_id_short; + std::string shoutcast_dev_id_short; + int showMiscSettingsMenu(); void showMiscSettingsMenuGeneral(CMenuWidget *ms_general); void showMiscSettingsMenuEpg(CMenuWidget *ms_epg); void showMiscSettingsMenuFBrowser(CMenuWidget *ms_fbrowser); int showMiscSettingsMenuEnergy(); int showMiscSettingsMenuChanlist(); + int showMiscSettingsMenuOnlineServices(); #ifdef CPU_FREQ void showMiscSettingsMenuCPUFreq(CMenuWidget *ms_cpu); #endif /*CPU_FREQ*/ diff --git a/src/neutrino_menue.h b/src/neutrino_menue.h index 2bcc209c3..809466545 100644 --- a/src/neutrino_menue.h +++ b/src/neutrino_menue.h @@ -121,6 +121,7 @@ enum MN_WIDGET_ID MN_WIDGET_ID_MISCSETUP_EPG, MN_WIDGET_ID_MISCSETUP_FILEBROWSER, MN_WIDGET_ID_MISCSETUP_CHANNELLIST, + MN_WIDGET_ID_MISCSETUP_ONLINESERVICES, //media menu MN_WIDGET_ID_MEDIA, diff --git a/src/system/locals.h b/src/system/locals.h index 0affda661..8d2865671 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1206,6 +1206,7 @@ typedef enum LOCALE_MENU_HINT_MISC_EPG, LOCALE_MENU_HINT_MISC_FILEBROWSER, LOCALE_MENU_HINT_MISC_GENERAL, + LOCALE_MENU_HINT_MISC_ONLINESERVICES, LOCALE_MENU_HINT_MISC_ZAPIT, LOCALE_MENU_HINT_MOVIE, LOCALE_MENU_HINT_MOVIEBROWSER_SETUP, @@ -1418,6 +1419,7 @@ typedef enum LOCALE_MENU_HINT_SERVICE, LOCALE_MENU_HINT_SERVICE_SCAN, LOCALE_MENU_HINT_SETTINGS, + LOCALE_MENU_HINT_SHOUTCAST_DEV_ID, LOCALE_MENU_HINT_SHOW_MUTE_ICON, LOCALE_MENU_HINT_SHUTDOWN, LOCALE_MENU_HINT_SHUTDOWN_COUNT, @@ -1445,6 +1447,7 @@ typedef enum LOCALE_MENU_HINT_TIMEOUTS, LOCALE_MENU_HINT_TIMERS, LOCALE_MENU_HINT_TIMEZONE, + LOCALE_MENU_HINT_TMDB_API_KEY, LOCALE_MENU_HINT_TOOLS, LOCALE_MENU_HINT_TVMODE, LOCALE_MENU_HINT_TVRADIO_SWITCH, @@ -1482,6 +1485,7 @@ typedef enum LOCALE_MENU_HINT_VOLUME_SIZE, LOCALE_MENU_HINT_WEBTV_SETUP, LOCALE_MENU_HINT_WINDOW_SIZE, + LOCALE_MENU_HINT_YOUTUBE_DEV_ID, LOCALE_MENU_HINT_YTPLAY, LOCALE_MENU_HINT_YTPLAY_SETUP, LOCALE_MENU_HINT_ZAP_CYCLE, @@ -1560,6 +1564,7 @@ typedef enum LOCALE_MISCSETTINGS_INFOBAR_SHOW_SYSFS_HDD, LOCALE_MISCSETTINGS_INFOBAR_SHOW_TUNER, LOCALE_MISCSETTINGS_INFOCLOCK, + LOCALE_MISCSETTINGS_ONLINESERVICES, LOCALE_MISCSETTINGS_PROGRESSBAR, LOCALE_MISCSETTINGS_PROGRESSBAR_COLOR, LOCALE_MISCSETTINGS_PROGRESSBAR_DESIGN, @@ -2272,6 +2277,7 @@ typedef enum LOCALE_SETTINGS_POS_TOP_RIGHT, LOCALE_SETTINGS_RESTORE, LOCALE_SETTINGS_RESTORE_WARN, + LOCALE_SHOUTCAST_DEV_ID, LOCALE_SHUTDOWN_RECORDING_QUERY, LOCALE_SHUTDOWNTIMER_ANNOUNCE, LOCALE_SLEEPTIMERBOX_ANNOUNCE, @@ -2391,6 +2397,7 @@ typedef enum LOCALE_TIMING_MENU, LOCALE_TIMING_NUMERICZAP, LOCALE_TIMING_VOLUMEBAR, + LOCALE_TMDB_API_KEY, LOCALE_TMDB_READ_DATA, LOCALE_UNICABLE_LNB, LOCALE_UNICABLE_QRG, @@ -2498,6 +2505,7 @@ typedef enum LOCALE_WIZARD_WELCOME_TEXT, LOCALE_WORD_FROM, LOCALE_WORD_IN, + LOCALE_YOUTUBE_DEV_ID, LOCALE_ZAPIT_SCANTYPE, LOCALE_ZAPIT_SCANTYPE_ALL, LOCALE_ZAPIT_SCANTYPE_RADIO, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 0fd4b7260..d74e1d96a 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1206,6 +1206,7 @@ const char * locale_real_names[] = "menu.hint_misc_epg", "menu.hint_misc_filebrowser", "menu.hint_misc_general", + "menu.hint_misc_onlineservices", "menu.hint_misc_zapit", "menu.hint_movie", "menu.hint_moviebrowser_setup", @@ -1418,6 +1419,7 @@ const char * locale_real_names[] = "menu.hint_service", "menu.hint_service_scan", "menu.hint_settings", + "menu.hint_shoutcast_dev_id", "menu.hint_show_mute_icon", "menu.hint_shutdown", "menu.hint_shutdown_count", @@ -1445,6 +1447,7 @@ const char * locale_real_names[] = "menu.hint_timeouts", "menu.hint_timers", "menu.hint_timezone", + "menu.hint_tmdb_api_key", "menu.hint_tools", "menu.hint_tvmode", "menu.hint_tvradio_switch", @@ -1482,6 +1485,7 @@ const char * locale_real_names[] = "menu.hint_volume_size", "menu.hint_webtv_setup", "menu.hint_window_size", + "menu.hint_youtube_dev_id", "menu.hint_ytplay", "menu.hint_ytplay_setup", "menu.hint_zap_cycle", @@ -1560,6 +1564,7 @@ const char * locale_real_names[] = "miscsettings.infobar_show_sysfs_hdd", "miscsettings.infobar_show_tuner", "miscsettings.infoclock", + "miscsettings.onlineservices", "miscsettings.progressbar", "miscsettings.progressbar_color", "miscsettings.progressbar_design", @@ -2272,6 +2277,7 @@ const char * locale_real_names[] = "settings.pos_top_right", "settings.restore", "settings.restore_warn", + "shoutcast.dev_id", "shutdown.recording_query", "shutdowntimer.announce", "sleeptimerbox.announce", @@ -2391,6 +2397,7 @@ const char * locale_real_names[] = "timing.menu", "timing.numericzap", "timing.volumebar", + "tmdb.api_key", "tmdb.read_data", "unicable.lnb", "unicable.qrg", @@ -2498,6 +2505,7 @@ const char * locale_real_names[] = "wizard.welcome_text", "word.from", "word.in", + "youtube.dev_id", "zapit.scantype", "zapit.scantype.all", "zapit.scantype.radio",