X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6f73e6abddf4170357c490966d0e1c622eb376f5..73e179bb7dfd67800dce39a383a269b2d871d180:/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py diff --git a/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py b/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py index 80a07df4..1af90f13 100644 --- a/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py +++ b/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py @@ -7,13 +7,14 @@ from Components.HTMLComponent import HTMLComponent from Components.GUIComponent import GUIComponent from Components.EpgList import Rect from Components.Sources.Event import Event -from Components.Sources.Source import ObsoleteSource from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest +from Components.TimerList import TimerList from Screens.Screen import Screen from Screens.EventView import EventViewSimple from Screens.TimeDateInput import TimeDateInput from Screens.TimerEntry import TimerEntry from Screens.EpgSelection import EPGSelection +from Screens.TimerEdit import TimerSanityConflict from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE from RecordTimer import RecordTimerEntry, parseEvent from ServiceReference import ServiceReference @@ -39,7 +40,7 @@ class EPGList(HTMLComponent, GUIComponent): if overjump_empty: self.l.setSelectableFunc(self.isSelectable) self.epgcache = eEPGCache.getInstance() - self.clock_pixmap = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, 'epgclock-fs8.png')) + self.clock_pixmap = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, 'skin_default/icons/epgclock.png')) self.time_base = None self.time_epoch = time_epoch self.list = None @@ -53,7 +54,7 @@ class EPGList(HTMLComponent, GUIComponent): self.foreColorService = None self.backColorService = None - def applySkin(self, desktop): + def applySkin(self, desktop, screen): if self.skinAttributes is not None: attribs = [ ] for (attrib, value) in self.skinAttributes: @@ -74,7 +75,7 @@ class EPGList(HTMLComponent, GUIComponent): else: attribs.append((attrib,value)) self.skinAttributes = attribs - return GUIComponent.applySkin(self, desktop) + return GUIComponent.applySkin(self, desktop, screen) def isSelectable(self, service, sname, event_list): return (event_list and len(event_list) and True) or False @@ -170,6 +171,10 @@ class EPGList(HTMLComponent, GUIComponent): self.l.setFont(1, gFont("Regular", 14)) self.l.setSelectionClip(eRect(0,0,0,0), False) + def preWidgetRemove(self, instance): + instance.selectionChanged.get().remove(self.serviceChanged) + instance.setContent(None) + def recalcEntrySize(self): esize = self.l.getItemSize() width = esize.width() @@ -343,7 +348,6 @@ class GraphMultiEPG(Screen): self["key_green"] = Button(_("Add timer")) self["timeline_text"] = TimelineText() self["Event"] = Event() - self["Clock"] = ObsoleteSource(new_source = "global.CurrentTime", removal_date = "2008-01") self.time_lines = [ ] for x in (0,1,2,3,4,5): pm = Pixmap() @@ -497,13 +501,25 @@ class GraphMultiEPG(Screen): if event is None: return newEntry = RecordTimerEntry(serviceref, checkOldTimers = True, *parseEvent(event)) - self.session.openWithCallback(self.timerEditFinished, TimerEntry, newEntry) + self.session.openWithCallback(self.finishedAdd, TimerEntry, newEntry) - def timerEditFinished(self, answer): + def finishedAdd(self, answer): + print "finished add" if answer[0]: - self.session.nav.RecordTimer.record(answer[1]) + entry = answer[1] + simulTimerList = self.session.nav.RecordTimer.record(entry) + if simulTimerList is not None: + if (len(simulTimerList) == 2) and (simulTimerList[1].dontSave) and (simulTimerList[1].autoincrease): + simulTimerList[1].end = entry.begin - 30 + self.session.nav.RecordTimer.timeChanged(simulTimerList[1]) + self.session.nav.RecordTimer.record(entry) + else: + self.session.openWithCallback(self.finishSanityCorrection, TimerSanityConflict, simulTimerList) else: - print "Timeredit aborted" + print "Timeredit aborted" + + def finishSanityCorrection(self, answer): + self.finishedAdd(answer) def onSelectionChanged(self): evt = self["list"].getCurrent()