diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 8a2a538cd..044bab5f1 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1284,7 +1284,7 @@ menu.hint_scan_usalsall Verwenden Sie USALS für alle Satelliten an diesem Tuner menu.hint_scan_useusals Verwenden Sie USALS für diesen Satelliten,\nwenn aktiv, wird Rotorposition ignoriert menu.hint_scrambled_message Bei aktivierter Option erscheint eine Meldung, wenn ein verschlüsselter Sender nicht entschlüsselt werden kann menu.hint_screen_setup Konfigurieren Sie den Bildschirmbereich für die Menüanzeige -menu.hint_screensaver_delay Legen sie die Zeit (in Minuten) fest, nach der der Bildschirmschoner starten soll +menu.hint_screensaver_delay Legen sie die Zeit (in Minuten) fest, nach der der Bildschirmschoner starten soll oder schaltet ihn aus menu.hint_screensaver_dir Wählen Sie das Verzeichnis, in dem die Bilder für Ihren Bildschirmschoner gespeichert sind menu.hint_screensaver_timeout Wählen Sie Die Wartezeit bis zum Bilderwechsel des Bildschirmschoners menu.hint_screensaver_setup Konfigurieren Sie die Optionen des Bildschirmschoners für den Audioplayer und den Radio-Modus @@ -2056,6 +2056,7 @@ scrambled_channel Verschlüsselung aktiv screensaver.delay Verzögerung screensaver.dir Verzeichnis screensaver.menu Bildschirmschoner +screensaver.off Bildschirmschoner aus screensaver.timeout Bilderwechsel screensetup.lowerright grün = Bildrand unten, rechts screensetup.upperleft rot = Bildrand oben, links diff --git a/data/locale/english.locale b/data/locale/english.locale index 561965788..1bf76809d 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1288,7 +1288,7 @@ menu.hint_scan_usalsall Use USALS for all satellites on this frontend menu.hint_scan_useusals Use USALS for this satellite,\nif ON, rotor position ignored menu.hint_scrambled_message Show scrambled message, when channel cannot be decoded menu.hint_screen_setup Configure screen margins -menu.hint_screensaver_delay Set the time (in minutes) after which the screensaver has to start +menu.hint_screensaver_delay Set the time (in minutes) after which the screensaver has to start or turn it off menu.hint_screensaver_dir Select directory in which the screensaver has to start menu.hint_screensaver_timeout Select the timeout to change pictures in screensavers menu.hint_screensaver_setup Configure screensaver options for audioplayer and radio mode @@ -2061,6 +2061,7 @@ scrambled_channel Scrambled channel screensaver.delay Delay screensaver.dir Directory screensaver.menu Screensaver +screensaver.off Screensaver off screensaver.timeout Change pictures screensetup.lowerright green = setup lower right screensetup.upperleft red = setup upper left diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index 0b0e83df4..8b393a13b 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -72,6 +72,7 @@ COsdSetup::COsdSetup(bool wizard_mode) colorSetupNotifier = new CColorSetupNotifier(); fontsizenotifier = new CFontSizeNotifier; colorInfoclockNotifier = NULL; + screensaverNotifier = NULL; osd_menu = NULL; submenu_menus = NULL; mfFontFile = NULL; @@ -637,6 +638,7 @@ int COsdSetup::showOsdSetup() } delete colorInfoclockNotifier; + delete screensaverNotifier; delete osd_menu; return res; } @@ -1265,23 +1267,26 @@ void COsdSetup::showOsdScreenShotSetup(CMenuWidget *menu_screenshot) void COsdSetup::showOsdScreensaverSetup(CMenuWidget *menu_screensaver) { menu_screensaver->addIntroItems(LOCALE_SCREENSAVER_MENU); - - // screensaver_dir - CMenuForwarder *mf = new CMenuForwarder(LOCALE_SCREENSAVER_DIR, true, g_settings.screensaver_dir, this, "screensaver_dir"); - mf->setHint("", LOCALE_MENU_HINT_SCREENSAVER_DIR); - menu_screensaver->addItem(mf); + screensaverNotifier = new COnOffNotifier(); // screensaver delay - CMenuOptionNumberChooser* nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_DELAY, &g_settings.screensaver_delay, true, 0, 999, NULL, CRCInput::RC_nokey, NULL, 0, 0, LOCALE_OPTIONS_OFF); + CMenuOptionNumberChooser* nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_DELAY, &g_settings.screensaver_delay, true, 0, 999, screensaverNotifier, CRCInput::RC_nokey, NULL, 0, 0, LOCALE_SCREENSAVER_OFF); nc->setNumberFormat(std::string("%d ") + g_Locale->getText(LOCALE_UNIT_SHORT_MINUTE)); nc->setHint("", LOCALE_MENU_HINT_SCREENSAVER_DELAY); menu_screensaver->addItem(nc); // screensaver timeout - nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_TIMEOUT, &g_settings.screensaver_timeout, true, 0, 60, NULL, CRCInput::RC_nokey, NULL, 0, 0, LOCALE_OPTIONS_OFF); + nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_TIMEOUT, &g_settings.screensaver_timeout, (g_settings.screensaver_delay != 0), 0, 60, NULL, CRCInput::RC_nokey, NULL, 0, 0, LOCALE_OPTIONS_OFF); nc->setNumberFormat(std::string("%d ") + g_Locale->getText(LOCALE_UNIT_SHORT_SECOND)); nc->setHint("", LOCALE_MENU_HINT_SCREENSAVER_TIMEOUT); menu_screensaver->addItem(nc); + screensaverNotifier->addItem(nc); + + // screensaver_dir + CMenuForwarder *mf = new CMenuForwarder(LOCALE_SCREENSAVER_DIR, (g_settings.screensaver_delay != 0), g_settings.screensaver_dir, this, "screensaver_dir"); + mf->setHint("", LOCALE_MENU_HINT_SCREENSAVER_DIR); + menu_screensaver->addItem(mf); + screensaverNotifier->addItem(mf); } void COsdSetup::paintWindowSize(int w, int h) diff --git a/src/gui/osd_setup.h b/src/gui/osd_setup.h index 85344c5b4..70918a043 100644 --- a/src/gui/osd_setup.h +++ b/src/gui/osd_setup.h @@ -54,6 +54,7 @@ class COsdSetup : public CMenuTarget, public CChangeObserver std::string osdFontFile, osdTtxFontFile; CComponentsShapeSquare *win_demo; COnOffNotifier* colorInfoclockNotifier; + COnOffNotifier* screensaverNotifier; int width; bool is_wizard; diff --git a/src/system/locals.h b/src/system/locals.h index 6f59cf31e..a763b17d9 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -2088,6 +2088,7 @@ typedef enum LOCALE_SCREENSAVER_DELAY, LOCALE_SCREENSAVER_DIR, LOCALE_SCREENSAVER_MENU, + LOCALE_SCREENSAVER_OFF, LOCALE_SCREENSAVER_TIMEOUT, LOCALE_SCREENSETUP_LOWERRIGHT, LOCALE_SCREENSETUP_UPPERLEFT, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 278b738d5..57bfe6886 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -2088,6 +2088,7 @@ const char * locale_real_names[] = "screensaver.delay", "screensaver.dir", "screensaver.menu", + "screensaver.off", "screensaver.timeout", "screensetup.lowerright", "screensetup.upperleft",