from Components.Label import Label
from Components.EpgList import EPGList, EPG_TYPE_SINGLE, EPG_TYPE_SIMILAR, EPG_TYPE_MULTI
from Components.ActionMap import ActionMap
+from Screens.TimerEdit import TimerSanityConflict
from Screens.EventView import EventViewSimple
from TimeDateInput import TimeDateInput
from enigma import eServiceReference
self["key_blue"] = Button()
self.currentService=ServiceReference(service)
self.zapFunc = None
+ self.sort_type = 0
+ self.setSortDescription()
else:
self.skinName = "EPGSelectionMulti"
self.type = EPG_TYPE_MULTI
self["key_green"] = Button(_("Add timer"))
self["list"] = EPGList(type = self.type, selChangedCB = self.onSelectionChanged, timer = self.session.nav.RecordTimer)
- class ChannelActionMap(ActionMap):
- def action(self, contexts, action):
- return ActionMap.action(self, contexts, action)
-
- self["actions"] = ChannelActionMap(["EPGSelectActions", "OkCancelActions"],
+ self["actions"] = ActionMap(["EPGSelectActions", "OkCancelActions"],
{
"cancel": self.closeScreen,
"ok": self.eventSelected,
def yellowButtonPressed(self):
if self.type == EPG_TYPE_MULTI:
self["list"].updateMultiEPG(-1)
+ elif self.type == EPG_TYPE_SINGLE:
+ if self.sort_type == 0:
+ self.sort_type = 1
+ else:
+ self.sort_type = 0
+ self["list"].sortSingleEPG(self.sort_type)
+ self.setSortDescription()
+
+ def setSortDescription(self):
+ if self.sort_type == 1:
+ # TRANSLATORS: This must fit into the header button in the EPG-List
+ self["key_yellow"].setText(_("Sort Time"))
+ else:
+ # TRANSLATORS: This must fit into the header button in the EPG-List
+ self["key_yellow"].setText(_("Sort A-Z"))
def blueButtonPressed(self):
if self.type == EPG_TYPE_MULTI:
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 moveUp(self):
self["list"].moveUp()