--- a/src/eric7/PipInterface/PipPackagesWidget.py Wed Dec 13 16:04:40 2023 +0100 +++ b/src/eric7/PipInterface/PipPackagesWidget.py Thu Dec 14 17:46:17 2023 +0100 @@ -272,7 +272,7 @@ self.__replies = [] self.viewsStackWidget.setCurrentWidget(self.packagesPage) - self.on_packagesList_currentItemChanged(None, None) + self.on_packagesList_itemSelectionChanged() self.preferencesChanged() # perform preferences dependent configuration @@ -626,29 +626,12 @@ """ Private slot reacting on a change of selected items. """ - if len(self.packagesList.selectedItems()) == 0: - self.packageInfoWidget.clear() - self.vulnerabilitiesInfoWidget.clear() - self.infoWidget.tabBar().hide() - - self.__updateActionButtons() - - @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) - def on_packagesList_currentItemChanged(self, curr, prev): - """ - Private slot to handle a change of the current item. - - @param curr new current item - @type QTreeWidgetItem - @param prev previous current item - @type QTreeWidgetItem - """ self.packageInfoWidget.clear() self.vulnerabilitiesInfoWidget.clear() - if curr is None: - self.infoWidget.tabBar().hide() - else: + if len(self.packagesList.selectedItems()) == 1: + # one item was selected, show info for that item + curr = self.packagesList.selectedItems()[0] self.__showPackageInformation( curr.text(PipPackagesWidget.PackageColumn), self.packageInfoWidget ) @@ -664,7 +647,10 @@ self.infoWidget.tabBar().show() else: self.infoWidget.tabBar().hide() - self.infoWidget.setCurrentIndex(0) + self.infoWidget.setCurrentIndex(0) + else: + # multiple items or none were selected + self.infoWidget.tabBar().hide() self.__updateActionButtons() @@ -715,7 +701,7 @@ @param checked state of the checkbox @type bool """ - self.on_packagesList_currentItemChanged(self.packagesList.currentItem(), None) + self.on_packagesList_itemSelectionChanged() @pyqtSlot(bool) def on_installedFilesCheckBox_clicked(self, checked): @@ -726,7 +712,7 @@ @param checked state of the checkbox @type bool """ - self.on_packagesList_currentItemChanged(self.packagesList.currentItem(), None) + self.on_packagesList_itemSelectionChanged() @pyqtSlot() def on_refreshButton_clicked(self):