545 """ |
545 """ |
546 sindex = self._model.itemIndexByName(name) |
546 sindex = self._model.itemIndexByName(name) |
547 if sindex.isValid(): |
547 if sindex.isValid(): |
548 index = self.model().mapFromSource(sindex) |
548 index = self.model().mapFromSource(sindex) |
549 if index.isValid(): |
549 if index.isValid(): |
550 childIndex = self.indexBelow(index) |
550 if self.isExpanded(index): |
551 while childIndex.isValid(): |
551 childIndex = self.indexBelow(index) |
552 if not childIndex.isValid() or childIndex.parent() == index.parent(): |
552 while childIndex.isValid(): |
553 break |
553 if not childIndex.isValid() or childIndex.parent() == index.parent(): |
554 itm = self.model().item(childIndex) |
554 break |
555 if itm is not None: |
555 itm = self.model().item(childIndex) |
556 itemData = itm.data(0) |
556 if itm is not None: |
557 if self.currentItemName and self.currentItemName == itemData: |
557 itemData = itm.data(0) |
558 self._selectSingleItem(childIndex) |
558 if self.currentItemName and self.currentItemName == itemData: |
559 if itemData in self.expandedNames: |
559 self._selectSingleItem(childIndex) |
560 self.setExpanded(childIndex, True) |
560 if itemData in self.expandedNames: |
561 childIndex = self.indexBelow(childIndex) |
561 self.setExpanded(childIndex, True) |
|
562 childIndex = self.indexBelow(childIndex) |
|
563 else: |
|
564 self._selectSingleItem(index) |
562 self.expandedNames = [] |
565 self.expandedNames = [] |
563 self.currentItemName = None |
566 self.currentItemName = None |
564 QApplication.restoreOverrideCursor() |
567 QApplication.restoreOverrideCursor() |
565 QApplication.processEvents() |
568 QApplication.processEvents() |
566 self._resort() |
569 self._resort() |