openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #13552
[Merge] lp:~mzibricky/openlp/bug-906926 into lp:openlp
matysek has proposed merging lp:~mzibricky/openlp/bug-906926 into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
Related bugs:
Bug #906926 in OpenLP: "Display screen doesn't "stay on top" in OS X"
https://bugs.launchpad.net/openlp/+bug/906926
For more details, see:
https://code.launchpad.net/~mzibricky/openlp/bug-906926/+merge/86718
This fixes bug #906926.
--
https://code.launchpad.net/~mzibricky/openlp/bug-906926/+merge/86718
Your team OpenLP Core is requested to review the proposed merge of lp:~mzibricky/openlp/bug-906926 into lp:openlp.
=== modified file 'openlp/core/ui/maindisplay.py'
--- openlp/core/ui/maindisplay.py 2011-12-10 14:34:28 +0000
+++ openlp/core/ui/maindisplay.py 2011-12-22 15:00:31 +0000
@@ -29,6 +29,7 @@
and play multimedia within OpenLP.
"""
import logging
+import platform
from PyQt4 import QtCore, QtGui, QtWebKit, QtOpenGL
from PyQt4.phonon import Phonon
@@ -60,7 +61,12 @@
self.controller = controller
self.screen = {}
self.plugins = PluginManager.get_instance().plugins
- self.setViewport(QtOpenGL.QGLWidget())
+ # FIXME: On Mac OS X (tested on 10.7) the display screen is corrupt with
+ # OpenGL. Only white blank screen is shown on the 2nd monitor all the
+ # time. We need to investigate more how to use OpenGL properly on Mac OS
+ # X.
+ if platform.system() != 'Darwin':
+ self.setViewport(QtOpenGL.QGLWidget())
def setup(self):
"""
@@ -120,9 +126,15 @@
self.audioPlayer = None
self.firstTime = True
self.setStyleSheet(u'border: 0px; margin: 0px; padding: 0px;')
- self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool |
- QtCore.Qt.WindowStaysOnTopHint |
- QtCore.Qt.X11BypassWindowManagerHint)
+ windowFlags = QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool | \
+ QtCore.Qt.WindowStaysOnTopHint | \
+ QtCore.Qt.X11BypassWindowManagerHint
+ # FIXME: QtCore.Qt.SplashScreen is workaround to make display screen
+ # stay always on top on Mac OS X. For details see bug 906926.
+ # It needs more investigation to fix it properly.
+ if platform.system() == 'Darwin':
+ windowFlags = windowFlags | QtCore.Qt.SplashScreen
+ self.setWindowFlags(windowFlags)
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
if self.isLive:
QtCore.QObject.connect(Receiver.get_receiver(),
Follow ups