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