self["EPGActions"] = HelpableActionMap(self, "InfobarEPGActions",
{
"showEventInfo": (self.openEventView, _("show EPG...")),
+ "showInfobarOrEpgWhenInfobarAlreadyVisible": self.showEventInfoWhenNotVisible,
})
+ def showEventInfoWhenNotVisible(self):
+ if self.shown:
+ self.openEventView()
+ else:
+ self.toggleShow()
+ return 1
+
def zapToService(self, service):
if not service is None:
if self.servicelist.getRoot() != self.epg_bouquet: #already in correct bouquet?
if action[:5] == "seek:":
time = int(action[5:])
self.screen.seekRelative(time * 90000)
- if isinstance(self.screen, InfoBarShowHide):
- self.screen.doShow()
+ self.screen.showAfterSeek()
return 1
else:
return HelpableActionMap.action(self, contexts, action)
self["SeekActions"] = InfoBarSeekActionMap(self, actionmap,
{
- "playpauseService": (self.playpauseService, _("pause")),
+ "playpauseService": self.playpauseService,
"pauseService": (self.pauseService, _("pause")),
"unPauseService": (self.unPauseService, _("continue")),
"seekFwdManual": (self.seekFwdManual, _("skip forward (enter time)")),
"seekBack": (self.seekBack, _("skip backward")),
"seekBackManual": (self.seekBackManual, _("skip backward (enter time)")),
+
+ "seekFwdDef": (self.seekFwdDef, _("skip forward (self defined)")),
+ "seekBackDef": (self.seekBackDef, _("skip backward (self defined)"))
}, prio=-1)
# give them a little more priority to win over color buttons
self.__seekableStatusChanged()
+ def showAfterSeek(self):
+ if isinstance(self, InfoBarShowHide):
+ self.doShow()
+
def up(self):
pass
if seekable is not None:
seekable.seekRelative(-1, 3)
+ def seekFwdDef(self):
+ seconds = config.usage.self_defined_seek.value
+ print "Seek", seconds, "seconds self defined forward"
+ seekable = self.getSeek()
+ if seekable is not None:
+ seekable.seekRelative(1, seconds * 90000)
+
+ def seekBackDef(self):
+ seconds = config.usage.self_defined_seek.value
+ print "Seek", seconds, "seconds self defined backward"
+ seekable = self.getSeek()
+ if seekable is not None:
+ seekable.seekRelative(1, 0 - seconds * 90000)
+
def seekFwdManual(self):
self.session.openWithCallback(self.fwdSeekTo, MinuteInput)
self.session.pipshown = False
else:
self.session.pip = self.session.instantiateDialog(PictureInPicture)
+ self.session.pip.show()
newservice = self.session.nav.getCurrentlyPlayingServiceReference()
if self.session.pip.playService(newservice):
self.session.pipshown = True
ENABLE_RESUME_SUPPORT = False
- def __init__(self):
- self["CueSheetActions"] = HelpableActionMap(self, "InfobarCueSheetActions",
+ def __init__(self, actionmap = "InfobarCueSheetActions"):
+ self["CueSheetActions"] = HelpableActionMap(self, actionmap,
{
- "jumpPreviousMark": (self.jumpPreviousMark, _("jump to next marked position")),
- "jumpNextMark": (self.jumpNextMark, _("jump to previous marked position")),
+ "jumpPreviousMark": (self.jumpPreviousMark, _("jump to previous marked position")),
+ "jumpNextMark": (self.jumpNextMark, _("jump to next marked position")),
"toggleMark": (self.toggleMark, _("toggle a cut mark at the current position"))
}, prio=1)
seekable = self.__getSeekable()
if seekable is not None:
seekable.seekTo(self.resume_point)
+ self.hideAfterResume()
+
+ def hideAfterResume(self):
+ if isinstance(self, InfoBarShowHide):
+ self.hide()
def __getSeekable(self):
service = self.session.nav.getCurrentService()
def addMark(self, point):
insort(self.cut_list, point)
self.uploadCuesheet()
+ self.showAfterCuesheetOperation()
def removeMark(self, point):
self.cut_list.remove(point)
self.uploadCuesheet()
+ self.showAfterCuesheetOperation()
+
+ def showAfterCuesheetOperation(self):
+ if isinstance(self, InfoBarShowHide):
+ self.doShow()
def __getCuesheet(self):
service = self.session.nav.getCurrentService()
cue = self.__getCuesheet()
if cue is None:
- print "upload failed, no cuesheet interface"
- return
- self.cut_list = cue.getCutList()
+ print "download failed, no cuesheet interface"
+ self.cut_list = [ ]
+ else:
+ self.cut_list = cue.getCutList()
class InfoBarSummary(Screen):
skin = """