← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~trb143/openlp/fixes into lp:openlp

 

Tim Bentley has proposed merging lp:~trb143/openlp/fixes into lp:openlp.

    Requested reviews:
    OpenLP Core (openlp-core)


Maintain position on slidecontroller when editing and redisplaying songs

-- 
https://code.launchpad.net/~trb143/openlp/fixes/+merge/13899
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2009-10-24 16:40:36 +0000
+++ openlp/core/ui/slidecontroller.py	2009-10-24 18:20:26 +0000
@@ -97,6 +97,8 @@
         ]
         self.timer_id = 0
         self.commandItem = None
+        self.songEdit = False
+        self.row = 0
         self.Panel = QtGui.QWidget(parent.ControlSplitter)
         # Layout for holding panel
         self.PanelLayout = QtGui.QVBoxLayout(self.Panel)
@@ -180,6 +182,7 @@
             self.Toolbar.addToolbarWidget(
                 u'Image SpinBox', self.DelaySpinBox)
             self.DelaySpinBox.setSuffix(self.trUtf8(u's'))
+            self.DelaySpinBox.setToolTip(self.trUtf8(u'Delay between slides in seconds'))
 
         self.ControllerLayout.addWidget(self.Toolbar)
         # Screen preview area
@@ -289,7 +292,12 @@
             Receiver().send_message(u'%s_start' % item.name.lower(), \
                 [item.shortname, item.service_item_path,
                 item.service_frames[0][u'title']])
-        self.displayServiceManagerItems(item, 0)
+        slideno = 0
+        if self.songEdit:
+            slideno = self.row
+        self.songEdit = False
+        self.displayServiceManagerItems(item, slideno)
+
 
     def addServiceManagerItem(self, item, slideno):
         """
@@ -387,6 +395,7 @@
         if this is the Live Controller also display on the screen
         """
         row = self.PreviewListWidget.currentRow()
+        self.row = 0
         if row > -1 and row < self.PreviewListWidget.rowCount():
             if self.commandItem.service_item_type == ServiceType.Command:
                 Receiver().send_message(u'%s_slide'% self.commandItem.name.lower(), [row])
@@ -401,6 +410,7 @@
                 log.info(u'Slide Rendering took %4s' % (time.time() - before))
                 if self.isLive:
                     self.parent.mainDisplay.frameView(frame)
+            self.row = row
 
     def grabMainDisplay(self):
         winid = QtGui.QApplication.desktop().winId()
@@ -474,6 +484,7 @@
             self.onSlideSelectedNext()
 
     def onEditSong(self):
+        self.songEdit = True
         Receiver().send_message(u'edit_song')
 
     def onGoLive(self):


Follow ups