Fixed an issue handling QMdiArea.

Sun, 29 Aug 2010 22:28:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 29 Aug 2010 22:28:24 +0200
changeset 527
8f7dc3c486e2
parent 526
f51eb1f0ab40
child 529
86332f558b7b

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:44:20 2010 +0200
+++ b/Plugins/ViewManagerPlugins/MdiArea/MdiArea.py	Sun Aug 29 22:28:24 2010 +0200
@@ -236,6 +236,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)
@@ -384,7 +390,7 @@
             watched.close()
             return True
         
-        return False
+        return QMdiArea.eventFilter(self, watched, event)
         
     def __restoreAllWindows(self):
         """
--- a/Tools/TRPreviewer.py	Sun Aug 29 20:44:20 2010 +0200
+++ b/Tools/TRPreviewer.py	Sun Aug 29 22:28:24 2010 +0200
@@ -768,13 +768,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:
@@ -782,7 +776,7 @@
             except ValueError:
                 pass
         
-        return False
+        return QMdiArea.eventFilter(self, obj, ev)
     
     def __findWidget(self, uiFileName):
         """

eric ide

mercurial