diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-04-26 15:06:18 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-04-26 15:06:18 +0000 |
| commit | 7466abeda3437afb71ce9ab8c0917cd8ea14482c (patch) | |
| tree | 2223e131b6728c19a464f46ff7ff4ca3131d5e7c /lib/python/Screens/EpgSelection.py | |
| parent | 747171602db43ec70d198ea092f5c18f70504855 (diff) | |
| download | enigma2-7466abeda3437afb71ce9ab8c0917cd8ea14482c.tar.gz enigma2-7466abeda3437afb71ce9ab8c0917cd8ea14482c.zip | |
add ability to list all events for a specific start time/date (press Dream/Menu)
Diffstat (limited to 'lib/python/Screens/EpgSelection.py')
| -rw-r--r-- | lib/python/Screens/EpgSelection.py | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index 5613c8b1..3284e641 100644 --- a/lib/python/Screens/EpgSelection.py +++ b/lib/python/Screens/EpgSelection.py @@ -6,6 +6,7 @@ from Components.EpgList import * from Components.ActionMap import ActionMap from Components.ScrollLabel import ScrollLabel from Screens.EventView import EventViewSimple +from TimeDateInput import TimeDateInput from enigma import eServiceReference, eServiceEventPtr from Screens.FixedMenu import FixedMenu from RecordTimer import RecordTimerEntry, parseEvent @@ -20,6 +21,7 @@ import xml.dom.minidom class EPGSelection(Screen): def __init__(self, session, service, zapFunc=None, eventid=None): Screen.__init__(self, session) + self.asked_specific_time = False self["key_red"] = Button("") self.closeRecursive = False if isinstance(service, str) and eventid != None: @@ -67,12 +69,22 @@ class EPGSelection(Screen): "yellow": self.yellowButtonPressed, "blue": self.blueButtonPressed, "info": self.infoKeyPressed, - "zapTo": self.zapTo + "zapTo": self.zapTo, + "input_date_time": self.enterDateTime }) self["actions"].csel = self self.onLayoutFinish.append(self.onCreate) + def enterDateTime(self): + self.session.openWithCallback(self.onDateTimeInputClosed, TimeDateInput) + + def onDateTimeInputClosed(self, ret): + if len(ret) > 1: + if ret[0]: + self.asked_specific_time=True + self["list"].fillMultiEPG(self.services, ret[1]) + def closeScreen(self): self.close(self.closeRecursive) @@ -170,31 +182,44 @@ class EPGSelection(Screen): self["list"].moveDown() def applyButtonState(self, state): - if state == 1: - self["now_button_sel"].show() + if state == 0: self["now_button"].hide() - else: - self["now_button"].show() self["now_button_sel"].hide() - - if state == 2: - self["next_button_sel"].show() self["next_button"].hide() - else: - self["next_button"].show() self["next_button_sel"].hide() - - if state == 3: - self["more_button_sel"].show() self["more_button"].hide() - else: - self["more_button"].show() self["more_button_sel"].hide() + self["now_text"].hide() + self["next_text"].hide() + self["more_text"].hide() + else: + if state == 1: + self["now_button_sel"].show() + self["now_button"].hide() + else: + self["now_button"].show() + self["now_button_sel"].hide() + + if state == 2: + self["next_button_sel"].show() + self["next_button"].hide() + else: + self["next_button"].show() + self["next_button_sel"].hide() + + if state == 3: + self["more_button_sel"].show() + self["more_button"].hide() + else: + self["more_button"].show() + self["more_button_sel"].hide() def onSelectionChanged(self): if self.type == EPG_TYPE_MULTI: count = self["list"].getCurrentChangeCount() - if count > 1: + if self.asked_specific_time: + self.applyButtonState(0) + elif count > 1: self.applyButtonState(3) elif count > 0: self.applyButtonState(2) |
