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.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):
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()
if self.instance is not None:
self.instance.moveSelectionTo(index)
-class CutListEditor(Screen, InfoBarSeek, InfoBarCueSheetSupport, InfoBarServiceName):
+class CutListEditor(Screen, InfoBarSeek, InfoBarCueSheetSupport, HelpableScreen):
skin = """
<screen position="0,0" size="720,576" flags="wfNoBorder" backgroundColor="#444444">
<eLabel position="360,0" size="360,313" backgroundColor="#ffffff" />
<widget source="CurrentService" render="Label" position="370,278" size="340,25"
backgroundColor="#000000" foregroundColor="#ffffff" font="Regular;19" zPosition="1" >
- <convert type="ServicePosition">PositionDetailed</convert>
+ <convert type="ServicePosition">Position,Detailed</convert>
</widget>
- <widget name="Timeline" position="50,500" size="620,40" transparent="1"
- pointer="/usr/share/enigma2/position_pointer.png:3,5" foregroundColor="#225b7395" />
+ <widget name="Timeline" position="50,500" size="620,40" backgroundColor="#000000"
+ pointer="/usr/share/enigma2/skin_default/position_arrow.png:3,5" foregroundColor="#ffffff" />
<widget name="Cutlist" position="50,325" size="620,175" scrollbarMode="showOnDemand" transparent="1" />
</screen>"""
def __init__(self, session, service):
Screen.__init__(self, session)
InfoBarSeek.__init__(self, actionmap = "CutlistSeekActions")
InfoBarCueSheetSupport.__init__(self)
- InfoBarServiceName.__init__(self)
+ HelpableScreen.__init__(self)
self.old_service = session.nav.getCurrentlyPlayingServiceReference()
session.nav.playService(service)
"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
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'.
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()