- screensaver: allow no screensaver_timeout to show first pic only

Thats usefull when you have just one plain black pic in your
  screensaver directory. So you'll get a blank screen w/o pic changes.
This commit is contained in:
svenhoefer
2014-12-29 22:05:51 +01:00
parent df18f1f4e5
commit b85aa43d87
2 changed files with 10 additions and 4 deletions

View File

@@ -1278,7 +1278,7 @@ void COsdSetup::showOsdScreensaverSetup(CMenuWidget *menu_screensaver)
menu_screensaver->addItem(nc); menu_screensaver->addItem(nc);
// screensaver timeout // screensaver timeout
nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_TIMEOUT, &g_settings.screensaver_timeout, true, 0, 60); nc = new CMenuOptionNumberChooser(LOCALE_SCREENSAVER_TIMEOUT, &g_settings.screensaver_timeout, true, 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->setNumberFormat(std::string("%d ") + g_Locale->getText(LOCALE_UNIT_SHORT_SECOND));
nc->setHint("", LOCALE_MENU_HINT_SCREENSAVER_TIMEOUT); nc->setHint("", LOCALE_MENU_HINT_SCREENSAVER_TIMEOUT);
menu_screensaver->addItem(nc); menu_screensaver->addItem(nc);

View File

@@ -121,11 +121,17 @@ void* CScreenSaver::ScreenSaverPrg(void* arg)
PScreenSaver->ReadDir(); //TODO kill Screensaver if false PScreenSaver->ReadDir(); //TODO kill Screensaver if false
PScreenSaver->m_frameBuffer->Clear(); PScreenSaver->m_frameBuffer->Clear();
while(1) if (g_settings.screensaver_timeout)
{ {
PScreenSaver->PaintPicture(); while(1)
sleep(g_settings.screensaver_timeout); {
PScreenSaver->PaintPicture();
sleep(g_settings.screensaver_timeout);
}
} }
else
PScreenSaver->PaintPicture(); //just paint first found picture
return 0; return 0;
} }