← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~j-corwin/openlp/bug-914637 into lp:openlp

 

Jonathan Corwin has proposed merging lp:~j-corwin/openlp/bug-914637 into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #914637 in OpenLP: "Translucent display has broken phonon video"
  https://bugs.launchpad.net/openlp/+bug/914637

For more details, see:
https://code.launchpad.net/~j-corwin/openlp/bug-914637/+merge/96138

This goes part way to fixing the display of phonon video in many cases.

There will likely still be issues for those attempting to show a phonon video after they have used a transparent theme due to Qt4 issues. To fix this will probably require creating a new maindisplay window prior to the video being displayed which I don't want to do at this time since it could get messy.

However it should fix it for the other 99% of users who won't be using a transparent theme. 


-- 
https://code.launchpad.net/~j-corwin/openlp/bug-914637/+merge/96138
Your team OpenLP Core is requested to review the proposed merge of lp:~j-corwin/openlp/bug-914637 into lp:openlp.
=== modified file 'openlp/core/ui/maindisplay.py'
--- openlp/core/ui/maindisplay.py	2012-03-04 18:05:15 +0000
+++ openlp/core/ui/maindisplay.py	2012-03-06 14:57:28 +0000
@@ -37,6 +37,7 @@
 
 from openlp.core.lib import Receiver, build_html, ServiceItem, image_to_byte, \
     translate, PluginManager, expand_tags
+from openlp.core.lib.theme import BackgroundType
 
 from openlp.core.ui import HideMode, ScreenList, AlertLocation
 
@@ -143,7 +144,7 @@
             windowFlags |= QtCore.Qt.SplashScreen
         self.setWindowFlags(windowFlags)
         self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
-        self.setTransparency(True)
+        self.setTransparency(False)
         if self.isLive:
             QtCore.QObject.connect(Receiver.get_receiver(),
                 QtCore.SIGNAL(u'live_display_hide'), self.hideDisplay)
@@ -387,6 +388,8 @@
                 # replace the background
                 background = self.imageManager. \
                     get_image_bytes(self.override[u'image'])
+        self.setTransparency(self.serviceItem.themedata.background_type ==
+            BackgroundType.to_string(BackgroundType.Transparent))
         if self.serviceItem.themedata.background_filename:
             self.serviceItem.bg_image_bytes = self.imageManager. \
                 get_image_bytes(self.serviceItem.themedata.theme_name)

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2012-03-03 22:36:46 +0000
+++ openlp/core/ui/media/mediacontroller.py	2012-03-06 14:57:28 +0000
@@ -282,8 +282,6 @@
             if self.curDisplayMediaPlayer and value:
                 if self.curDisplayMediaPlayer[controller.display] != self.mediaPlayers[u'webkit']:
                     controller.display.setTransparency(False)
-            else:
-                controller.display.setTransparency(True)
         # Special controls: Here media type specific Controls will be enabled
         # (e.g. for DVD control, ...)
         # TODO


Follow ups