ask user before a recordtimer set the box to standby or deepstandby
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sun, 7 Jan 2007 01:28:51 +0000 (01:28 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sun, 7 Jan 2007 01:28:51 +0000 (01:28 +0000)
RecordTimer.py
lib/python/Screens/MessageBox.py
lib/python/Screens/Standby.py

index 839069acd62e6e6521f61ff1a7b4c5101fdc32e0..a380d67cbe92ac89802cebf507835fc189743f70 100644 (file)
@@ -215,13 +215,21 @@ class RecordTimerEntry(timer.TimerEntry):
                        if self.afterEvent == AFTEREVENT.STANDBY:
                                global inStandby
                                if not inStandby:
-                                       Notifications.AddNotification(Standby)
+                                       Notifications.AddNotificationWithCallback(self.sendStandbyNotification, MessageBox, _("A record timer want's to set your\nDreambox to standby. Do that now?"), timeout = 20)
                        if self.afterEvent == AFTEREVENT.DEEPSTANDBY:
                                global inTryQuitMainloop
                                if not inTryQuitMainloop:
-                                       Notifications.AddNotification(TryQuitMainloop, 1)
+                                       Notifications.AddNotificationWithCallback(self.sendTryQuitMainloopNotification, MessageBox, _("A record timer want's to shut down\nyour Dreambox. Shutdown now?"), timeout = 20)
                        return True
 
+       def sendStandbyNotification(self, answer):
+               if answer:
+                       Notifications.AddNotification(Standby)
+
+       def sendTryQuitMainloopNotification(self, answer):
+               if answer:
+                       Notifications.AddNotification(TryQuitMainloop, 1)
+
        def getNextActivation(self):
                if self.state == self.StateEnded:
                        return self.end
index e9c0786ff7d64811aeed0872fe2e568512fed9a1..6c7bdd3c620f5af8cba0b275e6b95deb77b6c342 100644 (file)
@@ -124,12 +124,8 @@ class MessageBox(Screen):
        def move(self, direction):
                if self.close_on_any_key:
                        self.close(True)
-
                self["list"].instance.moveSelection(direction)
-               if self.timerRunning:
-                       self.timer.stop()
-                       self.setTitle(self.origTitle)
-                       self.timerRunning = False
+               self.stopTimer()
 
        def __repr__(self):
                return str(type(self)) + "(" + self.text + ")"
index cb0a957e3e922112c26d8d6f61ce78e61894f56b..0401cd9039f0c5ea0e29e56d3b6f1c67aff1830a 100644 (file)
@@ -89,7 +89,7 @@ from time import time
 inTryQuitMainloop = False
 
 class TryQuitMainloop(MessageBox):
-       def __init__(self, session, retvalue=1):
+       def __init__(self, session, retvalue=1, timeout=-1):
                self.retval=retvalue
                recordings = len(session.nav.getRecordings())
                self.connected = False
@@ -98,13 +98,13 @@ class TryQuitMainloop(MessageBox):
                        next_rec_time = session.nav.RecordTimer.getNextRecordingTime()
                if recordings or (next_rec_time > 0 and (next_rec_time - time()) < 360):
                        if retvalue == 1:
-                               MessageBox.__init__(self, session, _("Recording(s) are in progress or comming up in few seconds... really shutdown now?"), type = MessageBox.TYPE_YESNO, timeout = -1, close_on_any_key = False)
+                               MessageBox.__init__(self, session, _("Recording(s) are in progress or comming up in few seconds... really shutdown now?"), type = MessageBox.TYPE_YESNO, timeout = timeout)
                        elif retvalue == 2:
-                               MessageBox.__init__(self, session, _("Recording(s) are in progress or comming up in few seconds... really reboot now?"), type = MessageBox.TYPE_YESNO, timeout = -1, close_on_any_key = False)
+                               MessageBox.__init__(self, session, _("Recording(s) are in progress or comming up in few seconds... really reboot now?"), type = MessageBox.TYPE_YESNO, timeout = timeout)
                        elif retvalue == 4:
                                pass
                        else:
-                               MessageBox.__init__(self, session, _("Recording(s) are in progress or comming up in few seconds... really restart now?"), type = MessageBox.TYPE_YESNO, timeout = -1, close_on_any_key = False)
+                               MessageBox.__init__(self, session, _("Recording(s) are in progress or comming up in few seconds... really restart now?"), type = MessageBox.TYPE_YESNO, timeout = timeout)
                        self.skinName = "MessageBox"
                        session.nav.record_event.append(self.getRecordEvent)
                        self.connected = True