X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/181f1cdcee428f446da2a1d05976b7f1a75a8431..674719294af7449c52d93b1969aeebbaa9117cbe:/SleepTimer.py diff --git a/SleepTimer.py b/SleepTimer.py index 41ad2cda..82acc124 100644 --- a/SleepTimer.py +++ b/SleepTimer.py @@ -2,14 +2,12 @@ import timer import time import math -from enigma import quitMainloop - from Tools import Notifications from Components.config import config, ConfigYesNo, ConfigSelection, ConfigSubsection from Screens.MessageBox import MessageBox -from Screens.Standby import Standby +from Screens.Standby import Standby, TryQuitMainloop, inStandby, inTryQuitMainloop class SleepTimerEntry(timer.TimerEntry): def __init__(self, begin): @@ -23,12 +21,14 @@ class SleepTimerEntry(timer.TimerEntry): def activate(self): if self.state == self.StateRunning: if config.SleepTimer.action.value == "shutdown": - if config.SleepTimer.ask.value: + global inTryQuitMainloop + if config.SleepTimer.ask.value and not inTryQuitMainloop: Notifications.AddNotificationWithCallback(self.shutdown, MessageBox, _("A sleep timer want's to shut down\nyour Dreambox. Shutdown now?"), timeout = 20) else: self.shutdown(True) elif config.SleepTimer.action.value == "standby": - if config.SleepTimer.ask.value: + global inStandby + if config.SleepTimer.ask.value and not inStandby: Notifications.AddNotificationWithCallback(self.standby, MessageBox, _("A sleep timer want's to set your\nDreambox to standby. Do that now?"), timeout = 20) else: self.standby(True) @@ -39,14 +39,16 @@ class SleepTimerEntry(timer.TimerEntry): return False def shutdown(self, answer): + global inTryQuitMainloop if answer is not None: - if answer: - quitMainloop(1) + if answer and not inTryQuitMainloop: + Notifications.AddNotification(TryQuitMainloop, 1) def standby(self, answer): if answer is not None: - if answer: - Notifications.AddNotification(Standby, self) + global inStandby + if answer and not inStandby: + Notifications.AddNotification(Standby) class SleepTimer(timer.Timer): def __init__(self):