mirror of https://gitlab.com/openlp/openlp.git
Sort out screen display and add comments
This commit is contained in:
parent
64eba9a3eb
commit
571e91b20f
|
@ -140,7 +140,7 @@ class OpenLP(QtGui.QApplication):
|
|||
log.info(u'Screen %d found with resolution %s',
|
||||
screen, self.desktop().availableGeometry(screen))
|
||||
# start the main app window
|
||||
self.mainWindow = MainWindow(screens, app_version)
|
||||
self.mainWindow = MainWindow(screens, app_version, self)
|
||||
self.mainWindow.show()
|
||||
if show_splash:
|
||||
# now kill the splashscreen
|
||||
|
|
|
@ -115,6 +115,9 @@ class EventReceiver(QtCore.QObject):
|
|||
``version_check``
|
||||
Version has changed so pop up window.
|
||||
|
||||
``mainDisplay_active``
|
||||
Version has changed so pop up window.
|
||||
|
||||
"""
|
||||
def __init__(self):
|
||||
"""
|
||||
|
|
|
@ -42,7 +42,8 @@ class DisplayWidget(QtGui.QWidget):
|
|||
log.info(u'MainDisplay loaded')
|
||||
|
||||
def __init__(self, parent=None, name=None):
|
||||
QtGui.QWidget.__init__(self, parent)
|
||||
QtGui.QWidget.__init__(self, parent, QtCore.Qt.WindowStaysOnTopHint)# \
|
||||
#| QtCore.Qt.FramelessWindowHint)
|
||||
self.parent = parent
|
||||
self.hotkey_map = {QtCore.Qt.Key_Return: 'servicemanager_next_item',
|
||||
QtCore.Qt.Key_Space: 'live_slidecontroller_next_noloop',
|
||||
|
@ -81,7 +82,7 @@ class MainDisplay(DisplayWidget):
|
|||
"""
|
||||
log.info(u'MainDisplay Loaded')
|
||||
|
||||
def __init__(self, parent, screens):
|
||||
def __init__(self, parent, screens, application):
|
||||
"""
|
||||
The constructor for the display form.
|
||||
|
||||
|
@ -94,9 +95,9 @@ class MainDisplay(DisplayWidget):
|
|||
log.debug(u'Initilisation started')
|
||||
DisplayWidget.__init__(self, None)
|
||||
self.parent = parent
|
||||
self.application = application
|
||||
self.setWindowTitle(u'OpenLP Display')
|
||||
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
||||
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
|
||||
self.screens = screens
|
||||
self.display_image = QtGui.QLabel(self)
|
||||
self.display_image.setScaledContents(True)
|
||||
|
@ -184,6 +185,8 @@ class MainDisplay(DisplayWidget):
|
|||
self.display_image.setPixmap(self.transparent)
|
||||
self.display_alert.setPixmap(self.transparent)
|
||||
self.display_text.setPixmap(self.transparent)
|
||||
self.raise_()
|
||||
self.setFocus()
|
||||
|
||||
def showDisplay(self):
|
||||
log.debug(u'showDisplay')
|
||||
|
@ -268,8 +271,9 @@ class MainDisplay(DisplayWidget):
|
|||
|
||||
def onMediaQueue(self, message):
|
||||
log.debug(u'Queue new media message %s' % message)
|
||||
self.hideDisplay()
|
||||
self.application.setActiveWindow(self)
|
||||
self.activateWindow()
|
||||
self.hideDisplay()
|
||||
|
||||
class VideoWidget(QtGui.QWidget):
|
||||
"""
|
||||
|
@ -279,33 +283,14 @@ class VideoWidget(QtGui.QWidget):
|
|||
log.info(u'MainDisplay loaded')
|
||||
|
||||
def __init__(self, parent=None, name=None):
|
||||
QtGui.QWidget.__init__(self, None)
|
||||
QtGui.QWidget.__init__(self, None, QtCore.Qt.WindowStaysOnBottomHint)
|
||||
self.parent = parent
|
||||
self.hotkey_map = {QtCore.Qt.Key_Return: 'servicemanager_next_item',
|
||||
QtCore.Qt.Key_Space: 'live_slidecontroller_next_noloop',
|
||||
QtCore.Qt.Key_Enter: 'live_slidecontroller_next_noloop',
|
||||
QtCore.Qt.Key_0: 'servicemanager_next_item',
|
||||
QtCore.Qt.Key_Backspace: 'live_slidecontroller_previous_noloop'}
|
||||
# QtCore.Qt.FramelessWindowHint \
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
if type(event) == QtGui.QKeyEvent:
|
||||
#here accept the event and do something
|
||||
if event.key() == QtCore.Qt.Key_Up:
|
||||
Receiver.send_message(u'live_slidecontroller_previous')
|
||||
event.accept()
|
||||
elif event.key() == QtCore.Qt.Key_Down:
|
||||
Receiver.send_message(u'live_slidecontroller_next')
|
||||
event.accept()
|
||||
elif event.key() == QtCore.Qt.Key_PageUp:
|
||||
Receiver.send_message(u'live_slidecontroller_first')
|
||||
event.accept()
|
||||
elif event.key() == QtCore.Qt.Key_PageDown:
|
||||
Receiver.send_message(u'live_slidecontroller_last')
|
||||
event.accept()
|
||||
elif event.key() in self.hotkey_map:
|
||||
Receiver.send_message(self.hotkey_map[event.key()])
|
||||
event.accept()
|
||||
elif event.key() == QtCore.Qt.Key_Escape:
|
||||
if event.key() == QtCore.Qt.Key_Escape:
|
||||
self.resetDisplay()
|
||||
event.accept()
|
||||
event.ignore()
|
||||
|
@ -334,7 +319,6 @@ class VideoDisplay(VideoWidget):
|
|||
self.parent = parent
|
||||
self.screens = screens
|
||||
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
||||
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
|
||||
self.mediaObject = Phonon.MediaObject(self)
|
||||
self.video = Phonon.VideoWidget()
|
||||
self.video.setVisible(False)
|
||||
|
@ -382,7 +366,6 @@ class VideoDisplay(VideoWidget):
|
|||
self.video.setFullScreen(True)
|
||||
self.mediaObject.play()
|
||||
self.setVisible(True)
|
||||
self.lower()
|
||||
|
||||
def onMediaPause(self):
|
||||
log.debug(u'VideoDisplay Media paused by user')
|
||||
|
|
|
@ -432,7 +432,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
"""
|
||||
log.info(u'MainWindow loaded')
|
||||
|
||||
def __init__(self, screens, applicationVersion):
|
||||
def __init__(self, screens, applicationVersion, application):
|
||||
"""
|
||||
This constructor sets up the interface, the various managers, and the
|
||||
plugins.
|
||||
|
@ -444,7 +444,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
self.settingsmanager = SettingsManager(screens)
|
||||
self.generalConfig = PluginConfig(u'General')
|
||||
self.videoDisplay = VideoDisplay(self, screens)
|
||||
self.mainDisplay = MainDisplay(self, screens)
|
||||
self.mainDisplay = MainDisplay(self, screens, application)
|
||||
self.aboutForm = AboutForm(self, applicationVersion)
|
||||
self.settingsForm = SettingsForm(self.screens, self, self)
|
||||
# Set up the path with plugins
|
||||
|
@ -555,6 +555,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
def versionCheck(self, version):
|
||||
"""
|
||||
Checks the version of the Application called from openlp.pyw
|
||||
Triggered by delay thread.
|
||||
"""
|
||||
app_version = self.applicationVersion[u'full']
|
||||
version_text = unicode(self.trUtf8('Version %s of OpenLP is now '
|
||||
|
@ -583,6 +584,10 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
self.mainDisplay.raise_()
|
||||
|
||||
def blankCheck(self):
|
||||
"""
|
||||
Check and display message if screen blank on setup.
|
||||
Triggered by delay thread.
|
||||
"""
|
||||
if str_to_bool(self.generalConfig.get_config(u'screen blank', False)) \
|
||||
and str_to_bool(self.generalConfig.get_config(u'blank warning', False)):
|
||||
self.LiveController.onBlankDisplay(True)
|
||||
|
@ -593,6 +598,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
QtGui.QMessageBox.Ok)
|
||||
|
||||
def versionThread(self):
|
||||
"""
|
||||
Start an initial setup thread to delay notifications
|
||||
"""
|
||||
vT = VersionThread(self, self.applicationVersion, self.generalConfig)
|
||||
vT.start()
|
||||
|
||||
|
@ -617,8 +625,14 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
self.settingsForm.exec_()
|
||||
|
||||
def screenChanged(self):
|
||||
"""
|
||||
The screen has changed to so tell the displays to update_display
|
||||
their locations
|
||||
"""
|
||||
self.RenderManager.update_display()
|
||||
self.mainDisplay.setup()
|
||||
self.videoDisplay.setup()
|
||||
self.setFocus()
|
||||
self.activateWindow()
|
||||
|
||||
def closeEvent(self, event):
|
||||
|
@ -636,20 +650,14 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
QtGui.QMessageBox.Save)
|
||||
if ret == QtGui.QMessageBox.Save:
|
||||
self.ServiceManagerContents.onSaveService()
|
||||
self.mainDisplay.close()
|
||||
self.videoDisplay.close()
|
||||
self.cleanUp()
|
||||
event.accept()
|
||||
elif ret == QtGui.QMessageBox.Discard:
|
||||
self.mainDisplay.close()
|
||||
self.videoDisplay.close()
|
||||
self.cleanUp()
|
||||
event.accept()
|
||||
else:
|
||||
event.ignore()
|
||||
else:
|
||||
self.mainDisplay.close()
|
||||
self.videoDisplay.close()
|
||||
self.cleanUp()
|
||||
event.accept()
|
||||
|
||||
|
@ -662,6 +670,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
# Call the cleanup method to shutdown plugins.
|
||||
log.info(u'cleanup plugins')
|
||||
self.plugin_manager.finalise_plugins()
|
||||
#Close down the displays
|
||||
self.mainDisplay.close()
|
||||
self.videoDisplay.close()
|
||||
|
||||
def serviceChanged(self, reset=False, serviceName=None):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue