X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/31852389b616fe439a66e987cd64b6ef4060f982..5c647467dcacf02c52304186df62f03d21a3f094:/lib/python/Screens/EpgSelection.py diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index ffbea9a0..3103bfa7 100644 --- a/lib/python/Screens/EpgSelection.py +++ b/lib/python/Screens/EpgSelection.py @@ -1,4 +1,5 @@ from Screen import Screen +from Components.config import config, ConfigClock from Components.Button import Button from Components.Pixmap import Pixmap from Components.Label import Label @@ -7,17 +8,18 @@ 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 enigma import eServiceReference from Screens.FixedMenu import FixedMenu from RecordTimer import RecordTimerEntry, parseEvent from TimerEdit import TimerEditList from TimerEntry import TimerEntry from ServiceReference import ServiceReference -from Components.config import config, currentConfigSelectionElement from time import localtime, time import xml.dom.minidom +mepg_config_initialized = False + class EPGSelection(Screen): def __init__(self, session, service, zapFunc=None, eventid=None, bouquetChangeCB=None): Screen.__init__(self, session) @@ -91,7 +93,11 @@ class EPGSelection(Screen): def enterDateTime(self): if self.type == EPG_TYPE_MULTI: - self.session.openWithCallback(self.onDateTimeInputClosed, TimeDateInput) + global mepg_config_initialized + if not mepg_config_initialized: + config.misc.prev_mepg_time=ConfigClock(default = time()) + mepg_config_initialized = True + self.session.openWithCallback(self.onDateTimeInputClosed, TimeDateInput, config.misc.prev_mepg_time ) def onDateTimeInputClosed(self, ret): if len(ret) > 1: @@ -103,13 +109,9 @@ class EPGSelection(Screen): self.close(self.closeRecursive) def infoKeyPressed(self): - if self.type == EPG_TYPE_MULTI or self.type == EPG_TYPE_SIMILAR: - cur = self["list"].getCurrent() - event = cur[0] - service = cur[1] - else: - event = self["list"].getCurrent() - service = self.currentService + cur = self["list"].getCurrent() + event = cur[0] + service = cur[1] if event is not None: if self.type != EPG_TYPE_SIMILAR: self.session.open(EventViewSimple, event, service, self.eventViewCallback, self.openSimilarList) @@ -126,15 +128,12 @@ class EPGSelection(Screen): #just used in multipeg def onCreate(self): l = self["list"] + l.recalcEntrySize() if self.type == EPG_TYPE_MULTI: - l.recalcEntrySize() l.fillMultiEPG(self.services, self.ask_time) elif self.type == EPG_TYPE_SINGLE: - if SINGLE_CPP == 0: - l.recalcEntrySize() l.fillSingleEPG(self.currentService) else: - l.recalcEntrySize() l.fillSimilarList(self.currentService, self.eventid) def eventViewCallback(self, setEvent, setService, val): @@ -145,14 +144,11 @@ class EPGSelection(Screen): elif val == +1: self.moveDown() cur = l.getCurrent() - if self.type == EPG_TYPE_SINGLE: - setEvent(cur) + if self.type == EPG_TYPE_MULTI and cur[0] is None and cur[1].ref != old[1].ref: + self.eventViewCallback(setEvent, setService, val) else: - if self.type == EPG_TYPE_MULTI and cur[0] is None and cur[1].ref != old[1].ref: - self.eventViewCallback(setEvent, setService, val) - else: - setService(cur[1]) - setEvent(cur[0]) + setService(cur[1]) + setEvent(cur[0]) def zapTo(self): # just used in multiepg if self.zapFunc and self["key_red"].getText() == "Zap": @@ -175,13 +171,9 @@ class EPGSelection(Screen): self["list"].updateMultiEPG(1) def timerAdd(self): - if self.type == EPG_TYPE_SINGLE: - event = self["list"].getCurrent() - serviceref = self.currentService - else: - cur = self["list"].getCurrent() - event = cur[0] - serviceref = cur[1] + cur = self["list"].getCurrent() + event = cur[0] + serviceref = cur[1] if event is None: return newEntry = RecordTimerEntry(serviceref, checkOldTimers = True, *parseEvent(event))