Sun, 29 Aug 2010 22:28:54 +0200
Fixed an issue handling QMdiArea.
Plugins/ViewManagerPlugins/MdiArea/MdiArea.py | file | annotate | diff | comparison | revisions | |
Tools/TRPreviewer.py | file | annotate | diff | comparison | revisions |
--- a/Plugins/ViewManagerPlugins/MdiArea/MdiArea.py Sun Aug 29 20:43:02 2010 +0200 +++ b/Plugins/ViewManagerPlugins/MdiArea/MdiArea.py Sun Aug 29 22:28:54 2010 +0200 @@ -202,6 +202,12 @@ self.tileAct, self.cascadeAct, self.restoreAllAct, self.iconizeAllAct, None]) + for act in [self.restoreAllAct, self.iconizeAllAct]: + act.setEnabled(len(self.editors) != 0) + for act in [self.nextChildAct, self.prevChildAct, self.tileAct, + self.cascadeAct]: + act.setEnabled(len(self.editors) > 1) + act = windowMenu.addMenu(self.windowsMenu) if len(self.editors) == 0: act.setEnabled(False) @@ -351,7 +357,7 @@ watched.close() return True - return False + return QMdiArea.eventFilter(self, watched, event) def __restoreAllWindows(self): """
--- a/Tools/TRPreviewer.py Sun Aug 29 20:43:02 2010 +0200 +++ b/Tools/TRPreviewer.py Sun Aug 29 22:28:54 2010 +0200 @@ -767,13 +767,7 @@ @param event the event, that was generated by object (QEvent) @return flag indicating if event was filtered out """ - if not isinstance(obj, QWidget): - return False - - if not obj in self.widgets: - return False - - if ev.type() == QEvent.Close: + if obj in self.widgets and ev.type() == QEvent.Close: try: self.widgets.remove(obj) if len(self.widgets) == 0: @@ -781,7 +775,7 @@ except ValueError: pass - return False + return QWorkspace.eventFilter(self, obj, ev) def __findWidget(self, uiFileName): """