From 59dd52f8254ff809fd09dd828302491a65cf1151 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Sat, 25 Nov 2017 09:58:55 +0100 Subject: [PATCH] screensaver: move more repeatedly used code to screensaver's code Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/7c1058382fb92d47dac1b3903ec8431ef09e74ee Author: vanhofen Date: 2017-11-25 (Sat, 25 Nov 2017) Origin message was: ------------------ - screensaver: move more repeatedly used code to screensaver's code --- src/gui/movieplayer.cpp | 3 +-- src/gui/screensaver.cpp | 7 +++++++ src/gui/screensaver.h | 3 ++- src/neutrino.cpp | 3 +-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 2526285f6..5a35e4cf4 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -1721,8 +1721,7 @@ void CMoviePlayerGui::PlayFileLoop(void) if (playstate == CMoviePlayerGui::PAUSE && (msg == CRCInput::RC_timeout || msg == NeutrinoMessages::EVT_TIMER)) { - time_t delay = time(NULL) - CScreenSaver::getInstance()->getIdleTime(); - if (g_settings.screensaver_delay && delay > g_settings.screensaver_delay*60 && !CScreenSaver::getInstance()->isActive()) + if (CScreenSaver::getInstance()->canStart() && !CScreenSaver::getInstance()->isActive()) { videoDecoder->setBlank(true); CScreenSaver::getInstance()->Start(); diff --git a/src/gui/screensaver.cpp b/src/gui/screensaver.cpp index e168ffcd8..d16bbc031 100644 --- a/src/gui/screensaver.cpp +++ b/src/gui/screensaver.cpp @@ -324,6 +324,13 @@ void CScreenSaver::paint() } } +bool CScreenSaver::canStart() +{ + if (g_settings.screensaver_delay && (time(NULL) - idletime > g_settings.screensaver_delay*60)) + return true; + return false; +} + bool CScreenSaver::isActive() { if(thrScreenSaver) diff --git a/src/gui/screensaver.h b/src/gui/screensaver.h index e08683263..1f3b63fd5 100644 --- a/src/gui/screensaver.h +++ b/src/gui/screensaver.h @@ -54,7 +54,7 @@ class CScreenSaver : public sigc::trackable struct s_color { uint8_t b, g, r, a; } uc_color; - unsigned int i_color; + unsigned int i_color; }; u_color clr; @@ -69,6 +69,7 @@ class CScreenSaver : public sigc::trackable CScreenSaver(); ~CScreenSaver(); static CScreenSaver* getInstance(); + bool canStart(); bool isActive(); void Start(); void Stop(); diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 569b819e8..1c0fa106e 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2796,8 +2796,7 @@ void CNeutrinoApp::RealRun() ); if (msg == CRCInput::RC_timeout || msg == NeutrinoMessages::EVT_TIMER) { - time_t delay = time(NULL) - CScreenSaver::getInstance()->getIdleTime(); - if (g_settings.screensaver_delay && delay > g_settings.screensaver_delay*60 && !CScreenSaver::getInstance()->isActive()) + if (CScreenSaver::getInstance()->canStart() && !CScreenSaver::getInstance()->isActive()) { CInfoClock::getInstance()->block(); CScreenSaver::getInstance()->Start();