← Back to team overview

openlp-core team mailing list archive

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

 

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

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  #660448 Activating a presentation while "blank" causes presentation to go live
  https://bugs.launchpad.net/bugs/660448
  #693150 Custom Slide Display footer option
  https://bugs.launchpad.net/bugs/693150
  #693202 delete theme
  https://bugs.launchpad.net/bugs/693202

For more details, see:
https://code.launchpad.net/~trb143/openlp/bugs/+merge/44889

Fix up presentation display bugs.
-- 
https://code.launchpad.net/~trb143/openlp/bugs/+merge/44889
Your team OpenLP Core is requested to review the proposed merge of lp:~trb143/openlp/bugs into lp:openlp.
=== modified file 'openlp/core/lib/serviceitem.py'
--- openlp/core/lib/serviceitem.py	2010-12-26 11:04:47 +0000
+++ openlp/core/lib/serviceitem.py	2010-12-30 09:18:53 +0000
@@ -58,7 +58,7 @@
     NoLineBreaks = 7
     OnLoadUpdate = 8
     AddIfNewItem = 9
-
+    ProvidesOwnDisplay = 10
 
 class ServiceItem(object):
     """
@@ -397,4 +397,4 @@
         """
         Returns the path of the raw frame
         """
-        return self._raw_frames[row][u'path']
\ No newline at end of file
+        return self._raw_frames[row][u'path']

=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2010-12-28 10:06:05 +0000
+++ openlp/core/ui/slidecontroller.py	2010-12-30 09:18:53 +0000
@@ -393,6 +393,7 @@
         """
         # We need to make this circuit, because we have to consider the other
         # slidecontroller as well.
+        log.debug(u'paintEvent live = %s' % self.isLive)
         self.parent.previewController.previewSizeChanged()
         self.parent.liveController.previewSizeChanged()
 
@@ -561,6 +562,8 @@
             if self.serviceItem.is_media():
                 self.onMediaClose()
         if self.isLive:
+            if serviceItem.is_capable(ItemCapabilities.ProvidesOwnDisplay):
+                self._forceUnblank()
             blanked = self.BlankScreen.isChecked()
         else:
             blanked = False
@@ -568,8 +571,6 @@
             [serviceItem, self.isLive, blanked, slideno])
         self.slideList = {}
         width = self.parent.ControlSplitter.sizes()[self.split]
-        # Set pointing cursor when we have something to point at
-        self.PreviewListWidget.setCursor(QtCore.Qt.PointingHandCursor)
         self.serviceItem = serviceItem
         self.PreviewListWidget.clear()
         self.PreviewListWidget.setRowCount(0)
@@ -698,7 +699,7 @@
         """
         log.debug(u'mainDisplaySetBackground live = %s' % self.isLive)
         if not self.display.primary:
-            self.onHideDisplay(True)
+            self.onBlankDisplay(True)
 
     def onSlideBlank(self):
         """
@@ -1041,3 +1042,22 @@
             self.video.hide()
         self.SlidePreview.clear()
         self.SlidePreview.show()
+
+    def _forceUnblank(self):
+        """
+        Used by command items which provide their own displays to reset the
+        screen hide attributes
+        """
+        if self.BlankScreen.isChecked:
+            self.BlankScreen.setChecked(False)
+            self.HideMenu.setDefaultAction(self.BlankScreen)
+            QtCore.QSettings().setValue(
+                self.parent.generalSettingsSection + u'/screen blank',
+                QtCore.QVariant(False))
+        if self.ThemeScreen.isChecked:
+            self.ThemeScreen.setChecked(False)
+            self.HideMenu.setDefaultAction(self.ThemeScreen)
+        if self.DesktopScreen.isChecked:
+            self.DesktopScreen.setChecked(False)
+            self.HideMenu.setDefaultAction(self.DesktopScreen)
+

=== modified file 'openlp/plugins/presentations/lib/mediaitem.py'
--- openlp/plugins/presentations/lib/mediaitem.py	2010-12-29 09:37:36 +0000
+++ openlp/plugins/presentations/lib/mediaitem.py	2010-12-30 09:18:53 +0000
@@ -30,7 +30,7 @@
 from PyQt4 import QtCore, QtGui
 
 from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
-    SettingsManager, translate, check_item_selected, Receiver
+    SettingsManager, translate, check_item_selected, Receiver, ItemCapabilities
 from openlp.plugins.presentations.lib import MessageListener
 
 log = logging.getLogger(__name__)
@@ -249,6 +249,7 @@
             return False
         service_item.title = unicode(self.DisplayTypeComboBox.currentText())
         service_item.shortname = unicode(self.DisplayTypeComboBox.currentText())
+        service_item.add_capability(ItemCapabilities.ProvidesOwnDisplay)
         shortname = service_item.shortname
         if shortname:
             for item in items:


Follow ups