remove deprecated code (deprecation date was 2008-01 and 2008-02)
[enigma2.git] / lib / python / Plugins / Extensions / CutListEditor / plugin.py
index 024c88898a7408780e10c1b0542b14e8afef8fa5..b636632cc58a8e17dca5c8fd86656cbe896c9333 100644 (file)
@@ -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.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,7 +144,7 @@ class CutList(GUIComponent):
                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" />
@@ -154,11 +158,11 @@ class CutListEditor(Screen, InfoBarSeek, InfoBarCueSheetSupport, InfoBarServiceN
 
                        <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):
@@ -166,7 +170,7 @@ class CutListEditor(Screen, InfoBarSeek, InfoBarCueSheetSupport, InfoBarServiceN
                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)
 
@@ -193,7 +197,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 +216,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 +392,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()