From bf32c388285065d3e9024cc8181c737e621efadf Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Tue, 3 Apr 2007 18:03:10 +0000 Subject: [PATCH] better fix for previous commit store last entered begin time in multi epg --- lib/python/Screens/EpgSelection.py | 9 ++++++++- lib/python/Screens/InfoBarGenerics.py | 13 +++++------- lib/python/Screens/TimeDateInput.py | 29 ++++++++++++++++++++------- 3 files changed, 35 insertions(+), 16 deletions(-) diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index 0483f98b..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 @@ -17,6 +18,8 @@ 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) @@ -90,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: diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 0d571fd3..f1141923 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -83,11 +83,10 @@ class InfoBarShowHide: self.onShow.append(self.__onShow) self.onHide.append(self.__onHide) + self.current_begin_time=0 def __eventInfoChanged(self): - ref = self.session.nav.getCurrentlyPlayingServiceReference() - service_type = ref and ref.type - if service_type and service_type == eServiceReference.idDVB and not len(ref.getPath()): + if self.execing: service = self.session.nav.getCurrentService() old_begin_time = self.current_begin_time info = service and service.info() @@ -98,11 +97,9 @@ class InfoBarShowHide: self.doShow() def __serviceStarted(self): - self.current_begin_time=0 - if config.usage.show_infobar_on_zap.value: - ref = self.session.nav.getCurrentlyPlayingServiceReference() - ref_type = ref and ref.type - if ref_type and ref_type == eServiceReference.idDVB and not len(ref.getPath()): + if self.execing: + self.current_begin_time=0 + if config.usage.show_infobar_on_zap.value: self.doShow() def __onShow(self): diff --git a/lib/python/Screens/TimeDateInput.py b/lib/python/Screens/TimeDateInput.py index 6cdc6217..c50d8195 100644 --- a/lib/python/Screens/TimeDateInput.py +++ b/lib/python/Screens/TimeDateInput.py @@ -9,15 +9,14 @@ import time import datetime class TimeDateInput(Screen, ConfigListScreen): - def __init__(self, session): + def __init__(self, session, config_time=None, config_date=None): Screen.__init__(self, session) - self["oktext"] = Label(_("OK")) self["canceltext"] = Label(_("Cancel")) self["ok"] = Pixmap() self["cancel"] = Pixmap() - self.createConfig() + self.createConfig(config_date, config_time) self["actions"] = NumberActionMap(["SetupActions"], { @@ -30,10 +29,18 @@ class TimeDateInput(Screen, ConfigListScreen): ConfigListScreen.__init__(self, self.list) self.createSetup(self["config"]) - def createConfig(self): - nowtime = time.time() - self.timeinput_date = ConfigDateTime(default = nowtime, formatstring = _("%d.%B %Y"), increment = 86400) - self.timeinput_time = ConfigClock(default = nowtime) + def createConfig(self, conf_date, conf_time): + self.save_mask = 0 + if conf_time: + self.save_mask |= 1 + else: + conf_time = ConfigClock(default = time.time()), + if conf_date: + self.save_mask |= 2 + else: + conf_date = ConfigDateTime(default = time.time(), formatstring = _("%d.%B %Y"), increment = 86400) + self.timeinput_date = conf_date + self.timeinput_time = conf_time def createSetup(self, configlist): self.list = [] @@ -52,7 +59,15 @@ class TimeDateInput(Screen, ConfigListScreen): def keyGo(self): time = self.getTimestamp(self.timeinput_date.value, self.timeinput_time.value) + if self.save_mask & 1: + self.timeinput_time.save() + if self.save_mask & 2: + self.timeinput_date.save() self.close((True, time)) def keyCancel(self): + if self.save_mask & 1: + self.timeinput_time.cancel() + if self.save_mask & 2: + self.timeinput_date.cancel() self.close((False,)) -- 2.30.2