This fixes edge cases, where the slidecontrollers will not be updated correctly.

(Make sure, that the Media Manager is on the left side and the Theme and Service Manager on the right hand side.)

1) Hide the Theme Manager by pressing F10
2) Hide the Service Manager by pressing F9 (first case)
3) Increase the size of the slidecontrollers.
4) Show the Service Manager by pressing F9 (second case)

I removed the paintEvent from the slidecontroller and inserted it in mainwindow. I do like it the other way around, but doing it this way fixes the edge cases.

bzr-revno: 1174
This commit is contained in:
Andreas Preikschat 2010-12-31 12:02:01 +00:00 committed by Tim Bentley
commit e4427e4b4e
2 changed files with 7 additions and 15 deletions

View File

@ -747,6 +747,13 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
"""
self.settingsForm.exec_()
def paintEvent(self, event):
"""
We need to make sure, that the SlidePreview's size is correct.
"""
self.previewController.previewSizeChanged()
self.liveController.previewSizeChanged()
def onSettingsShortcutsItemClicked(self):
"""
Show the shortcuts dialog

View File

@ -377,26 +377,11 @@ class SlideController(QtGui.QWidget):
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'slidecontroller_%s_text_request' % self.typePrefix),
self.onTextRequest)
QtCore.QObject.connect(self.parent.ControlSplitter,
QtCore.SIGNAL(u'splitterMoved(int, int)'), self.previewSizeChanged)
QtCore.QObject.connect(self.Splitter,
QtCore.SIGNAL(u'splitterMoved(int, int)'), self.previewSizeChanged)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'config_updated'), self.refreshServiceItem)
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.
log.debug(u'paintEvent live = %s' % self.isLive)
self.parent.previewController.previewSizeChanged()
self.parent.liveController.previewSizeChanged()
def screenSizeChanged(self):
"""
Settings dialog has changed the screen size of adjust output and