forked from openlp/openlp
Head
This commit is contained in:
commit
b91a932c62
BIN
documentation/manual/source/pics/configurethemes.png
Normal file
BIN
documentation/manual/source/pics/configurethemes.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
@ -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):
|
||||||
|
@ -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''
|
||||||
|
@ -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
|
||||||
|
@ -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')
|
||||||
|
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
@ -219,7 +219,6 @@ class ImpressDocument(PresentationDocument):
|
|||||||
The file name of the presentatios to the run.
|
The file name of the presentatios to the run.
|
||||||
"""
|
"""
|
||||||
log.debug(u'Load Presentation OpenOffice')
|
log.debug(u'Load Presentation OpenOffice')
|
||||||
#print "s.dsk1 ", self.desktop
|
|
||||||
if os.name == u'nt':
|
if os.name == u'nt':
|
||||||
desktop = self.controller.get_com_desktop()
|
desktop = self.controller.get_com_desktop()
|
||||||
if desktop is None:
|
if desktop is None:
|
||||||
@ -234,6 +233,9 @@ class ImpressDocument(PresentationDocument):
|
|||||||
return False
|
return False
|
||||||
self.desktop = desktop
|
self.desktop = desktop
|
||||||
properties = []
|
properties = []
|
||||||
|
if os.name != u'nt':
|
||||||
|
# Recent versions of Impress on Windows won't start the presentation
|
||||||
|
# if it starts as minimized. It seems OK on Linux though.
|
||||||
properties.append(self.create_property(u'Minimized', True))
|
properties.append(self.create_property(u'Minimized', True))
|
||||||
properties = tuple(properties)
|
properties = tuple(properties)
|
||||||
try:
|
try:
|
||||||
@ -242,6 +244,12 @@ class ImpressDocument(PresentationDocument):
|
|||||||
except:
|
except:
|
||||||
log.exception(u'Failed to load presentation %s' % url)
|
log.exception(u'Failed to load presentation %s' % url)
|
||||||
return False
|
return False
|
||||||
|
if os.name == u'nt':
|
||||||
|
# As we can't start minimized the Impress window gets in the way.
|
||||||
|
# Either window.setPosSize(0, 0, 200, 400, 12) or .setVisible(False)
|
||||||
|
window = self.document.getCurrentController().getFrame() \
|
||||||
|
.getContainerWindow()
|
||||||
|
window.setVisible(False)
|
||||||
self.presentation = self.document.getPresentation()
|
self.presentation = self.document.getPresentation()
|
||||||
self.presentation.Display = \
|
self.presentation.Display = \
|
||||||
self.controller.plugin.renderer.screens.current_display + 1
|
self.controller.plugin.renderer.screens.current_display + 1
|
||||||
@ -387,14 +395,14 @@ class ImpressDocument(PresentationDocument):
|
|||||||
log.debug(u'start presentation OpenOffice')
|
log.debug(u'start presentation OpenOffice')
|
||||||
if self.control is None or not self.control.isRunning():
|
if self.control is None or not self.control.isRunning():
|
||||||
self.presentation.start()
|
self.presentation.start()
|
||||||
# start() returns before the getCurrentComponent is ready.
|
self.control = self.presentation.getController()
|
||||||
# Try for 5 seconds
|
# start() returns before the Component is ready.
|
||||||
|
# Try for 15 seconds
|
||||||
i = 1
|
i = 1
|
||||||
while self.desktop.getCurrentComponent() is None and i < 50:
|
while not self.control and i < 150:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
i = i + 1
|
i = i + 1
|
||||||
self.control = \
|
self.control = self.presentation.getController()
|
||||||
self.desktop.getCurrentComponent().Presentation.getController()
|
|
||||||
else:
|
else:
|
||||||
self.control.activate()
|
self.control.activate()
|
||||||
self.goto_slide(1)
|
self.goto_slide(1)
|
||||||
|
@ -293,7 +293,7 @@ class PresentationMediaItem(MediaManagerItem):
|
|||||||
"supports" the extension. If none found, then look for a controller
|
"supports" the extension. If none found, then look for a controller
|
||||||
which "also supports" it instead.
|
which "also supports" it instead.
|
||||||
"""
|
"""
|
||||||
filetype = filename.split(u'.')[1]
|
filetype = os.path.splitext(filename)[1][1:]
|
||||||
if not filetype:
|
if not filetype:
|
||||||
return None
|
return None
|
||||||
for controller in self.controllers:
|
for controller in self.controllers:
|
||||||
|
Loading…
Reference in New Issue
Block a user