Project/ProjectBaseBrowser.py

changeset 828
1161da54aeb8
parent 791
9ec2ac20e54e
child 945
8cd4d08fa9f6
child 1510
e75ecf2bd9dd
--- a/Project/ProjectBaseBrowser.py	Fri Jan 07 15:52:50 2011 +0100
+++ b/Project/ProjectBaseBrowser.py	Fri Jan 07 16:41:49 2011 +0100
@@ -547,18 +547,21 @@
         if sindex.isValid():
             index = self.model().mapFromSource(sindex)
             if index.isValid():
-                childIndex = self.indexBelow(index)
-                while childIndex.isValid():
-                    if not childIndex.isValid() or childIndex.parent() == index.parent():
-                        break
-                    itm = self.model().item(childIndex)
-                    if itm is not None:
-                        itemData = itm.data(0)
-                        if self.currentItemName and self.currentItemName == itemData:
-                            self._selectSingleItem(childIndex)
-                        if itemData in self.expandedNames:
-                            self.setExpanded(childIndex, True)
-                    childIndex = self.indexBelow(childIndex)
+                if self.isExpanded(index):
+                    childIndex = self.indexBelow(index)
+                    while childIndex.isValid():
+                        if not childIndex.isValid() or childIndex.parent() == index.parent():
+                            break
+                        itm = self.model().item(childIndex)
+                        if itm is not None:
+                            itemData = itm.data(0)
+                            if self.currentItemName and self.currentItemName == itemData:
+                                self._selectSingleItem(childIndex)
+                            if itemData in self.expandedNames:
+                                self.setExpanded(childIndex, True)
+                        childIndex = self.indexBelow(childIndex)
+                else:
+                    self._selectSingleItem(index)
                 self.expandedNames = []
         self.currentItemName = None
         QApplication.restoreOverrideCursor()
@@ -638,4 +641,4 @@
         """
         Protected method to open the configuration dialog.
         """
-        e5App().getObject("UserInterface").showPreferences("projectBrowserPage")
\ No newline at end of file
+        e5App().getObject("UserInterface").showPreferences("projectBrowserPage")

eric ide

mercurial