Fix Phonon start up issues when update check disabled

bzr-revno: 1504
This commit is contained in:
Tim Bentley 2011-04-30 08:55:15 +01:00
commit e3f0e4b1f9
5 changed files with 19 additions and 6 deletions

View File

@ -46,7 +46,7 @@ from openlp.core.ui.firsttimeform import FirstTimeForm
from openlp.core.ui.exceptionform import ExceptionForm from openlp.core.ui.exceptionform import ExceptionForm
from openlp.core.ui import SplashScreen, ScreenList from openlp.core.ui import SplashScreen, ScreenList
from openlp.core.utils import AppLocation, LanguageManager, VersionThread, \ from openlp.core.utils import AppLocation, LanguageManager, VersionThread, \
get_application_version get_application_version, DelayStartThread
log = logging.getLogger() log = logging.getLogger()
@ -130,6 +130,7 @@ class OpenLP(QtGui.QApplication):
u'general/update check', QtCore.QVariant(True)).toBool() u'general/update check', QtCore.QVariant(True)).toBool()
if update_check: if update_check:
VersionThread(self.mainWindow).start() VersionThread(self.mainWindow).start()
DelayStartThread(self.mainWindow).start()
return self.exec_() return self.exec_()
def isAlreadyRunning(self): def isAlreadyRunning(self):

View File

@ -71,7 +71,7 @@ class Renderer(object):
log.debug(u'Initilisation started') log.debug(u'Initilisation started')
self.screens = screens self.screens = screens
self.image_manager = ImageManager() self.image_manager = ImageManager()
self.display = MainDisplay(self, screens, False, False) self.display = MainDisplay(self, screens, False)
self.display.imageManager = self.image_manager self.display.imageManager = self.image_manager
self.theme_manager = theme_manager self.theme_manager = theme_manager
self.service_theme = u'' self.service_theme = u''

View File

@ -60,12 +60,11 @@ class MainDisplay(DisplayWidget):
""" """
This is the display screen. This is the display screen.
""" """
def __init__(self, parent, screens, live, needsPhonon=True): def __init__(self, parent, screens, live):
DisplayWidget.__init__(self, live, parent=None) DisplayWidget.__init__(self, live, parent=None)
self.parent = parent self.parent = parent
self.screens = screens self.screens = screens
self.isLive = live self.isLive = live
self.needsPhonon = needsPhonon
self.alertTab = None self.alertTab = None
self.hideMode = None self.hideMode = None
self.videoHide = False self.videoHide = False

View File

@ -99,6 +99,19 @@ class VersionThread(QtCore.QThread):
local_version.get(u'revision') and \ local_version.get(u'revision') and \
remote_version[u'revision'] > local_version[u'revision']: remote_version[u'revision'] > local_version[u'revision']:
Receiver.send_message(u'openlp_version_check', u'%s' % version) Receiver.send_message(u'openlp_version_check', u'%s' % version)
class DelayStartThread(QtCore.QThread):
"""
A special Qt thread class to build things after OpenLP has started
"""
def __init__(self, parent):
QtCore.QThread.__init__(self, parent)
def run(self):
"""
Run the thread.
"""
Receiver.send_message(u'openlp_phonon_creation') Receiver.send_message(u'openlp_phonon_creation')

View File

@ -215,6 +215,6 @@ class MediaMediaItem(MediaManagerItem):
self.listView.addItem(item_name) self.listView.addItem(item_name)
def createPhonon(self): def createPhonon(self):
log.debug(u'CreatePhonon')
if not self.mediaObject: if not self.mediaObject:
self.mediaObject = Phonon.MediaObject(self) self.mediaObject = Phonon.MediaObject(self)