aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/SleepTimerEdit.py
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-10-12 10:42:05 +0200
committerghost <andreas.monzner@multimedia-labs.de>2009-10-12 10:42:05 +0200
commit2bedebe238c82f52da05a3d721384d0e14ec0ed4 (patch)
tree39fada26662c79df69403323bacdb219da812a22 /lib/python/Screens/SleepTimerEdit.py
parentd62e20fd966567afd14c76c7576b3c85d6e1e964 (diff)
downloadenigma2-2bedebe238c82f52da05a3d721384d0e14ec0ed4.tar.gz
enigma2-2bedebe238c82f52da05a3d721384d0e14ec0ed4.zip
SleepTimerEdit.py: use left runtime of running event or playback as default sleeptimer time (thx to ali abdul)
Diffstat (limited to 'lib/python/Screens/SleepTimerEdit.py')
-rw-r--r--lib/python/Screens/SleepTimerEdit.py36
1 files changed, 31 insertions, 5 deletions
diff --git a/lib/python/Screens/SleepTimerEdit.py b/lib/python/Screens/SleepTimerEdit.py
index 2416dd03..6e1991b7 100644
--- a/lib/python/Screens/SleepTimerEdit.py
+++ b/lib/python/Screens/SleepTimerEdit.py
@@ -5,7 +5,9 @@ from Components.Input import Input
from Components.Label import Label
from Components.Pixmap import Pixmap
from Components.config import config, ConfigInteger
+from enigma import eEPGCache
from SleepTimer import SleepTimer
+from time import time
config.SleepTimer.defaulttime = ConfigInteger(default = 30)
@@ -31,13 +33,37 @@ class SleepTimerEdit(Screen):
if self.is_active:
self.time = self.session.nav.SleepTimer.getCurrentSleepTime()
else:
+ remaining = None
+ ref = self.session.nav.getCurrentlyPlayingServiceReference()
+ if ref:
+ path = ref.getPath()
+ if path: # Movie
+ service = self.session.nav.getCurrentService()
+ seek = service and service.seek()
+ if seek:
+ length = seek.getLength()
+ position = seek.getPlayPosition()
+ if length and position:
+ remaining = length[1] - position[1]
+ if remaining > 0:
+ remaining = remaining / 90000
+ else: # DVB
+ epg = eEPGCache.getInstance()
+ event = epg.lookupEventTime(ref, -1, 0)
+ if event:
+ now = int(time())
+ start = event.getBeginTime()
+ duration = event.getDuration()
+ end = start + duration
+ remaining = end - now
+ if remaining:
+ config.SleepTimer.defaulttime.value = (remaining / 60) + 2
self.time = config.SleepTimer.defaulttime.value
self["input"] = Input(text = str(self.time), maxSize = False, type = Input.NUMBER)
self.status = True
self.updateColors()
-
self["pretext"] = Label(_("Shutdown Dreambox after"))
self["aftertext"] = Label(_("minutes"))
@@ -111,16 +137,16 @@ class SleepTimerEdit(Screen):
def selectHome(self):
self["input"].home()
-
+
def selectEnd(self):
self["input"].end()
-
+
def deleteForward(self):
self["input"].delete()
-
+
def deleteBackward(self):
self["input"].deleteBackward()
-
+
def disableTimer(self):
self.status = not self.status
self.updateColors()