← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~googol/openlp/bug-1112587 into lp:openlp

 

Andreas Preikschat has proposed merging lp:~googol/openlp/bug-1112587 into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #1112587 in OpenLP: ""Display verses on live tool bar" ignored"
  https://bugs.launchpad.net/openlp/+bug/1112587

For more details, see:
https://code.launchpad.net/~googol/openlp/bug-1112587/+merge/147576

Hello,

- fixed bug #1112587 ('Display verses on live tool bar' ignored)
- improved hide menu behaviour when resizing
-- 
https://code.launchpad.net/~googol/openlp/bug-1112587/+merge/147576
Your team OpenLP Core is requested to review the proposed merge of lp:~googol/openlp/bug-1112587 into lp:openlp.
=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2013-02-05 08:10:50 +0000
+++ openlp/core/ui/slidecontroller.py	2013-02-10 19:13:31 +0000
@@ -90,7 +90,6 @@
             u'delaySpinBox'
         ]
         self.audioList = [
-            u'songMenu',
             u'audioPauseItem',
             u'audioTimeLabel'
         ]
@@ -293,6 +292,7 @@
             self.audioTimeLabel.setObjectName(u'audioTimeLabel')
             self.toolbar.addToolbarWidget(self.audioTimeLabel)
             self.toolbar.setWidgetVisible(self.audioList, False)
+            self.toolbar.setWidgetVisible([u'songMenu'], False)
         # Screen preview area
         self.previewFrame = QtGui.QFrame(self.splitter)
         self.previewFrame.setGeometry(QtCore.QRect(0, 0, 300, 300 * self.ratio))
@@ -602,10 +602,14 @@
         Change layout of display control buttons on controller size change
         """
         if self.isLive:
-            if width > 300 and self.hideMenu.isVisible():
+            # Space used by the toolbar.
+            used_space = self.toolbar.size().width() + self.hideMenu.size().width()
+            # The + 40 is needed to prevent flickering. This can be considered a "buffer".
+            if width > used_space + 40 and self.hideMenu.isVisible():
                 self.toolbar.setWidgetVisible(self.hideMenuList, False)
                 self.toolbar.setWidgetVisible(self.wideMenu)
-            elif width < 300 and not self.hideMenu.isVisible():
+            # The - 40 is needed to prevent flickering. This can be considered a "buffer".
+            elif width < used_space - 40 and not self.hideMenu.isVisible():
                 self.toolbar.setWidgetVisible(self.wideMenu, False)
                 self.toolbar.setWidgetVisible(self.hideMenuList)
 
@@ -650,6 +654,7 @@
         self.mediabar.hide()
         self.songMenu.hide()
         self.toolbar.setWidgetVisible(self.loopList, False)
+        self.toolbar.setWidgetVisible([u'songMenu'], False)
         # Reset the button
         self.playSlidesOnce.setChecked(False)
         self.playSlidesOnce.setIcon(build_icon(u':/media/media_time.png'))
@@ -657,7 +662,7 @@
         self.playSlidesLoop.setIcon(build_icon(u':/media/media_time.png'))
         if item.is_text():
             if Settings().value(self.parent().songsSettingsSection + u'/display songbar') and self.slideList:
-                self.songMenu.show()
+                self.toolbar.setWidgetVisible([u'songMenu'], True)
         if item.is_capable(ItemCapabilities.CanLoop) and len(item.get_frames()) > 1:
             self.toolbar.setWidgetVisible(self.loopList)
         if item.is_media():


Follow ups