From 4ff9157adfc7f4bcdd4480992ffcf352aaf80b41 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 22 Jan 2011 19:16:25 +0100 Subject: [PATCH] update preview frame, when using 'blank to screen/theme'; fixed bug when replacing live background when no item is live --- openlp/core/ui/maindisplay.py | 18 +++++++++--------- openlp/core/ui/slidecontroller.py | 3 +++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 911aeda10..76dab4255 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -241,7 +241,10 @@ class MainDisplay(DisplayWidget): Used after Image plugin has changed the background """ log.debug(u'resetImage') - self.displayImage(self.serviceItem.bg_image_bytes) + if hasattr(self, u'serviceItem'): + self.displayImage(self.serviceItem.bg_image_bytes) + else: + self.displayImage(None) # Update the preview frame. Receiver.send_message(u'maindisplay_active') @@ -343,13 +346,11 @@ class MainDisplay(DisplayWidget): Generates a preview of the image displayed. """ log.debug(u'preview for %s', self.isLive) - # We must have a service item to preview - if not hasattr(self, u'serviceItem'): - return Receiver.send_message(u'openlp_process_events') - if self.isLive: + # We must have a service item to preview + if self.isLive and hasattr(self, u'serviceItem'): # Wait for the fade to finish before geting the preview. - # Important otherwise preview will have incorrect text if at all ! + # Important otherwise preview will have incorrect text if at all! if self.serviceItem.themedata and \ self.serviceItem.themedata.display_slide_transition: while self.frame.evaluateJavaScript(u'show_text_complete()') \ @@ -362,9 +363,8 @@ class MainDisplay(DisplayWidget): # if was hidden keep it hidden if self.isLive: self.setVisible(True) - # if was hidden keep it hidden - if self.hideMode and self.isLive: - self.hideDisplay(self.hideMode) + if self.hideMode: + self.hideDisplay(self.hideMode) preview = QtGui.QImage(self.screen[u'size'].width(), self.screen[u'size'].height(), QtGui.QImage.Format_ARGB32_Premultiplied) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 1941e97e8..2e409564c 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -783,6 +783,7 @@ class SlideController(QtGui.QWidget): QtCore.QSettings().remove( self.parent.generalSettingsSection + u'/screen blank') self.blankPlugin(checked) + self.updatePreview() def onThemeDisplay(self, checked): """ @@ -804,6 +805,7 @@ class SlideController(QtGui.QWidget): QtCore.QSettings().remove( self.parent.generalSettingsSection + u'/screen blank') self.blankPlugin(checked) + self.updatePreview() def onHideDisplay(self, checked): """ @@ -827,6 +829,7 @@ class SlideController(QtGui.QWidget): QtCore.QSettings().remove( self.parent.generalSettingsSection + u'/screen blank') self.hidePlugin(checked) + self.updatePreview() def blankPlugin(self, blank): """