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
-from enigma import eEPGCache, eListbox, gFont, loadPNG, eListboxPythonMultiContent, \
+from Tools.LoadPixmap import LoadPixmap
+from enigma import eEPGCache, eListbox, gFont, eListboxPythonMultiContent, \
RT_HALIGN_LEFT, RT_HALIGN_CENTER, RT_VALIGN_CENTER, RT_WRAP, eRect, eTimer
from time import localtime, time, strftime
if overjump_empty:
self.l.setSelectableFunc(self.isSelectable)
self.epgcache = eEPGCache.getInstance()
- self.clock_pixmap = loadPNG(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
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:
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
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()
borderColor = self.borderColor
for ev in events: #(event_id, event_title, begin_time, duration)
- rec=self.timer.isInTimer(ev[0], ev[2], ev[3], service) > ((ev[3]/10)*8)
+ rec=ev[2] and self.timer.isInTimer(ev[0], ev[2], ev[3], service) > ((ev[3]/10)*8)
xpos, ewidth = self.calcEntryPosAndWidthHelper(ev[2], ev[3], start, end, width)
res.append(MultiContentEntryText(pos = (left+xpos, top), size = (ewidth, height), font = 1, flags = RT_HALIGN_CENTER | RT_VALIGN_CENTER | RT_WRAP, text = ev[1], color = foreColor, color_sel = foreColorSelected, backcolor = backColor, backcolor_sel = backColorSelected, border_width = 1, border_color = borderColor))
if rec and ewidth > 23:
self.cur_service = None
self.time_base = int(stime)
test = [ (service.ref.toString(), 0, self.time_base, self.time_epoch) for service in services ]
- test.insert(0, 'RnITBD')
+ test.insert(0, 'XRnITBD')
epg_data = self.queryEPG(test)
self.list = [ ]
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()
},-1)
self.updateTimelineTimer = eTimer()
- self.updateTimelineTimer.timeout.get().append(self.moveTimeLines)
+ self.updateTimelineTimer.callback.append(self.moveTimeLines)
self.updateTimelineTimer.start(60*1000)
self.onLayoutFinish.append(self.onCreate)
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()