X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/55c5507b87875f8cd0fbfaf635b1e0342561b868..53f199c5a82bcd460d3153814f2e057c747e2a3a:/lib/python/Plugins/Extensions/CutListEditor/plugin.py diff --git a/lib/python/Plugins/Extensions/CutListEditor/plugin.py b/lib/python/Plugins/Extensions/CutListEditor/plugin.py index 024c8889..7ebc42b5 100644 --- a/lib/python/Plugins/Extensions/CutListEditor/plugin.py +++ b/lib/python/Plugins/Extensions/CutListEditor/plugin.py @@ -4,14 +4,14 @@ from Screens.Screen import Screen from Screens.MessageBox import MessageBox from Components.ServicePosition import ServicePositionGauge from Components.ActionMap import HelpableActionMap -from Components.MenuList import MenuList from Components.MultiContent import MultiContentEntryText -from Components.ServiceEventTracker import ServiceEventTracker +from Components.ServiceEventTracker import ServiceEventTracker, InfoBarBase from Components.VideoWindow import VideoWindow -from Screens.InfoBarGenerics import InfoBarSeek, InfoBarCueSheetSupport, InfoBarServiceName +from Screens.InfoBarGenerics import InfoBarSeek, InfoBarCueSheetSupport from Components.GUIComponent import GUIComponent from enigma import eListboxPythonMultiContent, eListbox, gFont, iPlayableService, RT_HALIGN_RIGHT from Screens.FixedMenu import FixedMenu +from Screens.HelpMenu import HelpableScreen import bisect def CutListEntry(where, what): @@ -121,6 +121,10 @@ class CutList(GUIComponent): instance.setItemHeight(30) instance.selectionChanged.get().append(self.selectionChanged) + def preWidgetRemove(self, instance): + instance.setContent(None) + instance.selectionChanged.get().remove(self.selectionChanged) + def selectionChanged(self): for x in self.onSelectionChanged: x() @@ -140,33 +144,35 @@ class CutList(GUIComponent): if self.instance is not None: self.instance.moveSelectionTo(index) -class CutListEditor(Screen, InfoBarSeek, InfoBarCueSheetSupport, InfoBarServiceName): +class CutListEditor(Screen, InfoBarBase, InfoBarSeek, InfoBarCueSheetSupport, HelpableScreen): skin = """ - - - - - - - - Name - - - - PositionDetailed - + + + + Format:%A %B %d, %H:%M + + + + + Name + + + Position,Detailed + + + + + + + """ - - - """ def __init__(self, session, service): self.skin = CutListEditor.skin Screen.__init__(self, session) InfoBarSeek.__init__(self, actionmap = "CutlistSeekActions") InfoBarCueSheetSupport.__init__(self) - InfoBarServiceName.__init__(self) + InfoBarBase.__init__(self, steal_current_service = True) + HelpableScreen.__init__(self) self.old_service = session.nav.getCurrentlyPlayingServiceReference() session.nav.playService(service) @@ -193,7 +199,7 @@ class CutListEditor(Screen, InfoBarSeek, InfoBarCueSheetSupport, InfoBarServiceN "addMark": (self.__addMark, _("Add a mark")), "removeMark": (self.__removeMark, _("Remove a mark")), "leave": (self.exit, _("Exit editor")), - "showMenu": self.showMenu, + "showMenu": (self.showMenu, _("menu")), }, prio=-4) self.tutorial_seen = False @@ -212,7 +218,7 @@ class CutListEditor(Screen, InfoBarSeek, InfoBarCueSheetSupport, InfoBarServiceN if not self.tutorial_seen: self.tutorial_seen = True self.session.open(MessageBox, - """Welcome to the Cutlist editor. It's still a bit strange to use, but anyway: + """Welcome to the Cutlist editor. Seek to the start of the stuff you want to cut away. Press OK, select 'start cut'. @@ -388,10 +394,10 @@ Then seek to the end, press OK, select 'end cut'. That's it. bisect.insort(self.cut_list, (self.context_position, 1)) self.uploadCuesheet() - # we modify the "play" behaviour a bit: + # we modify the "play" behavior a bit: # if we press pause while being in slowmotion, we will pause (and not play) def playpauseService(self): - if self.seekstate not in [self.SEEK_STATE_PLAY, self.SEEK_STATE_SM_HALF, self.SEEK_STATE_SM_QUARTER, self.SEEK_STATE_SM_EIGHTH]: + if self.seekstate != self.SEEK_STATE_PLAY and not self.isStateSlowMotion(self.seekstate): self.unPauseService() else: self.pauseService()