Fixed a few bits and bobs

This commit is contained in:
Raoul Snyman 2009-08-09 14:05:54 +02:00
parent 61135b2635
commit 82101b8c65
3 changed files with 45 additions and 31 deletions

View File

@ -60,10 +60,6 @@ class MainDisplay(QtGui.QWidget):
Sets up the screen on a particular screen. Sets up the screen on a particular screen.
@param (integer) screen This is the screen number. @param (integer) screen This is the screen number.
""" """
# Temporary fix until I can speak to Tim Bentley.
if screenNumber not in self.screens:
screenNumber = 0
# /Temporary fix
screen = self.screens[screenNumber] screen = self.screens[screenNumber]
if screen[u'number'] != screenNumber: if screen[u'number'] != screenNumber:
# We will most probably never actually hit this bit, but just in # We will most probably never actually hit this bit, but just in
@ -79,20 +75,23 @@ class MainDisplay(QtGui.QWidget):
else: else:
self.showMinimized() self.showMinimized()
#Build a custom splash screen #Build a custom splash screen
self.InitialFrame = QtGui.QImage(screen[u'size'].width(), self.InitialFrame = QtGui.QImage(
screen[u'size'].height(), QtGui.QImage.Format_ARGB32_Premultiplied) screen[u'size'].width(), screen[u'size'].height(),
QtGui.QImage.Format_ARGB32_Premultiplied)
splash_image = QtGui.QImage(u':/graphics/openlp-splash-screen.png') splash_image = QtGui.QImage(u':/graphics/openlp-splash-screen.png')
painter_image = QtGui.QPainter() painter_image = QtGui.QPainter()
painter_image.begin(self.InitialFrame) painter_image.begin(self.InitialFrame)
painter_image.fillRect(self.InitialFrame.rect(), QtCore.Qt.white) painter_image.fillRect(self.InitialFrame.rect(), QtCore.Qt.white)
painter_image.drawImage((screen[u'size'].width() - splash_image.width()) / 2, painter_image.drawImage(
(screen[u'size'].height() - splash_image.height()) / 2, (screen[u'size'].width() - splash_image.width()) / 2,
splash_image) (screen[u'size'].height() - splash_image.height()) / 2,
splash_image)
self.frameView(self.InitialFrame) self.frameView(self.InitialFrame)
#Build a Black screen #Build a Black screen
painter = QtGui.QPainter() painter = QtGui.QPainter()
self.blankFrame = QtGui.QImage(screen[u'size'].width(), self.blankFrame = QtGui.QImage(
screen[u'size'].height(), QtGui.QImage.Format_ARGB32_Premultiplied) screen[u'size'].width(), screen[u'size'].height(),
QtGui.QImage.Format_ARGB32_Premultiplied)
painter.begin(self.blankFrame) painter.begin(self.blankFrame)
painter.fillRect(self.blankFrame.rect(), QtCore.Qt.black) painter.fillRect(self.blankFrame.rect(), QtCore.Qt.black)

View File

@ -22,10 +22,11 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.ui import AboutForm, SettingsForm, AlertForm, ServiceManager, \ from openlp.core.ui import AboutForm, SettingsForm, AlertForm, \
ThemeManager, MainDisplay, SlideController ServiceManager, ThemeManager, MainDisplay, SlideController
from openlp.core.lib import translate, Plugin, MediaManagerItem, SettingsTab, \ from openlp.core.lib import translate, Plugin, MediaManagerItem, \
EventManager, RenderManager, PluginConfig, SettingsManager, PluginManager SettingsTab, EventManager, RenderManager, PluginConfig, \
SettingsManager, PluginManager
class MainWindow(object): class MainWindow(object):
""" """
@ -63,7 +64,7 @@ class MainWindow(object):
#RenderManager needs to call ThemeManager and #RenderManager needs to call ThemeManager and
#ThemeManager needs to call RenderManager #ThemeManager needs to call RenderManager
self.RenderManager = RenderManager(self.ThemeManagerContents, self.RenderManager = RenderManager(self.ThemeManagerContents,
self.screenList, int(self.generalConfig.get_config(u'Monitor', 0))) self.screenList, self.getMonitorNumber())
log.info(u'Load Plugins') log.info(u'Load Plugins')
#make the controllers available to the plugins #make the controllers available to the plugins
self.plugin_helpers[u'preview'] = self.PreviewController self.plugin_helpers[u'preview'] = self.PreviewController
@ -96,12 +97,25 @@ class MainWindow(object):
log.info(u'Load Themes') log.info(u'Load Themes')
self.ThemeManagerContents.loadThemes() self.ThemeManagerContents.loadThemes()
def getMonitorNumber(self):
"""
Set up the default behaviour of the monitor configuration in
here. Currently it is set to default to monitor 0 if the saved
monitor number does not exist.
"""
screen_number = int(self.generalConfig.get_config(u'Monitor', 0))
if screen_number not in self.screenList:
screen_number = 0
return screen_number
def show(self): def show(self):
""" """
Show the main form, as well as the display form Show the main form, as well as the display form
""" """
self.mainWindow.showMaximized() self.mainWindow.showMaximized()
self.mainDisplay.setup(self.settingsForm.GeneralTab.MonitorNumber) screen_number = self.getMonitorNumber()
self.mainDisplay.setup(screen_number)
self.mainWindow.setFocus()
def onHelpAboutItemClicked(self): def onHelpAboutItemClicked(self):
""" """
@ -120,7 +134,7 @@ class MainWindow(object):
Show the Settings dialog Show the Settings dialog
""" """
self.settingsForm.exec_() self.settingsForm.exec_()
screen_number = int(self.generalConfig.get_config(u'Monitor', 0)) screen_number = self.getMonitorNumber()
self.RenderManager.update_display(screen_number) self.RenderManager.update_display(screen_number)
self.mainDisplay.setup(screen_number) self.mainDisplay.setup(screen_number)
@ -155,24 +169,22 @@ class MainWindow(object):
log.info(u'cleanup plugins') log.info(u'cleanup plugins')
self.plugin_manager.initialise_plugins() self.plugin_manager.initialise_plugins()
def OosChanged(self, reset = False, oosName = None): def OosChanged(self, reset=False, oosName=None):
""" """
Hook to change the title if the OOS has been changed Hook to change the title if the OOS has been changed
reset - tells if the OOS has been cleared or saved reset - tells if the OOS has been cleared or saved
oosName - is the name of the OOS (if it has one) oosName - is the name of the OOS (if it has one)
""" """
if not oosName:
service_name = u'(Unsaved Service)'
else:
service_name = oosName
if reset == True: if reset == True:
self.oosNotSaved = False self.oosNotSaved = False
if oosName is None: title = u'%s - %s' % (self.mainTitle, service_name)
title = self.mainTitle
else:
title = self.mainTitle + u' - (' + oosName + u')'
else: else:
self.oosNotSaved = True self.oosNotSaved = True
if oosName is None: title = u'%s - %s*' % (self.mainTitle, service_name)
title = self.mainTitle + u' - *'
else:
title = self.mainTitle + u' - *(' + oosName + u')'
self.mainWindow.setWindowTitle(title) self.mainWindow.setWindowTitle(title)
def setupUi(self): def setupUi(self):

View File

@ -24,9 +24,12 @@ from PyQt4 import QtCore, QtGui
from openlp.core.lib import OpenLPToolbar, translate, buildIcon from openlp.core.lib import OpenLPToolbar, translate, buildIcon
class SlideList(QtGui.QTableWidget): class SlideList(QtGui.QTableWidget):
"""
def __init__(self,parent=None,name=None): Customised version of QTableWidget which can respond to keyboard
QtGui.QTableWidget.__init__(self,parent.Controller) events.
"""
def __init__(self, parent=None, name=None):
QtGui.QTableWidget.__init__(self, parent.Controller)
self.parent = parent self.parent = parent
def keyPressEvent(self, event): def keyPressEvent(self, event):
@ -56,7 +59,7 @@ class SlideController(QtGui.QWidget):
global log global log
log = logging.getLogger(u'SlideController') log = logging.getLogger(u'SlideController')
def __init__(self, parent, isLive=False): def __init__(self, parent, isLive=False):
""" """
Set up the Slide Controller. Set up the Slide Controller.
""" """