From 2354ae65308b1c3e3b34b6289d55347c64c16aca Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 28 Dec 2010 11:06:05 +0100 Subject: [PATCH] instead of using the dockwidgets, the slidecontrollers update themselves --- openlp/core/lib/dockwidget.py | 14 -------------- openlp/core/ui/slidecontroller.py | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/openlp/core/lib/dockwidget.py b/openlp/core/lib/dockwidget.py index 3884b9c37..7b8444c58 100644 --- a/openlp/core/lib/dockwidget.py +++ b/openlp/core/lib/dockwidget.py @@ -47,17 +47,3 @@ class OpenLPDockWidget(QtGui.QDockWidget): if name: self.setObjectName(name) self.setFloating(False) - - def moveEvent(self, event): - """ - Called, when the DockWidget is moved. - """ - self.parent.liveController.previewSizeChanged() - self.parent.previewController.previewSizeChanged() - - def resizeEvent(self, event): - """ - Called, when the DockWidget is resized. - """ - self.parent.liveController.previewSizeChanged() - self.parent.previewController.previewSizeChanged() diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 7c537e04b..728c86a08 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -386,10 +386,20 @@ class SlideController(QtGui.QWidget): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'config_screen_changed'), self.screenSizeChanged) + def paintEvent(self, event): + """ + When the Slidecontroller is painted, we need to make sure, that the + SlidePreview's size is updated. + """ + # We need to make this circuit, because we have to consider the other + # slidecontroller as well. + self.parent.previewController.previewSizeChanged() + self.parent.liveController.previewSizeChanged() + def screenSizeChanged(self): """ Settings dialog has changed the screen size of adjust output and - screen previews + screen previews. """ log.debug(u'screenSizeChanged live = %s' % self.isLive) # rebuild display as screen size changed @@ -397,6 +407,9 @@ class SlideController(QtGui.QWidget): self.display.imageManager = self.parent.renderManager.image_manager self.display.alertTab = self.alertTab self.display.setup() + # The SlidePreview's ratio. + self.ratio = float(self.screens.current[u'size'].width()) / \ + float(self.screens.current[u'size'].height()) self.previewSizeChanged() def previewSizeChanged(self): @@ -405,9 +418,6 @@ class SlideController(QtGui.QWidget): splitters is moved or when the screen size is changed. """ log.debug(u'previewSizeChanged live = %s' % self.isLive) - # The SlidePreview's ratio. - self.ratio = float(self.screens.current[u'size'].width()) / \ - float(self.screens.current[u'size'].height()) if self.ratio < float(self.PreviewFrame.width()) / float( self.PreviewFrame.height()): # We have to take the height as limit.