--- a/PipxInterface/PipxWidget.py Sun Jul 28 12:06:50 2024 +0200 +++ b/PipxInterface/PipxWidget.py Sun Jul 28 12:07:29 2024 +0200 @@ -12,6 +12,7 @@ import psutil from PyQt6.QtCore import Qt, pyqtSlot +from PyQt6.QtGui import QIcon from PyQt6.QtWidgets import QDialog, QMenu, QTreeWidgetItem, QWidget from eric7.EricGui import EricPixmapCache @@ -349,6 +350,8 @@ and outdatedDependencies ): self.__markPackageDependenciesOutdated(itm) + else: + self.__markPackageClean(itm) self.__resizePackagesColumns() @pyqtSlot() @@ -399,6 +402,7 @@ Private slot to upgrade the shared libraries. """ self.__pipx.upgradeSharedLibraries() + self.on_refreshButton_clicked() @pyqtSlot() def __uninstallPackage(self): @@ -485,6 +489,9 @@ @type QTreeWidgetItem @param latestVersion latest version of the package @type str + @param outdatedDependencies flag indicating the existence of outdated + dependencies + @type bool """ version = item.data(0, PipxWidget.VersionRole) item.setData(0, PipxWidget.LatestVersionRole, latestVersion) @@ -507,6 +514,20 @@ item.setData(0, PipxWidget.OutdatedDependenciesRole, True) item.setIcon(PipxWidget.VersionColumn, EricPixmapCache.getIcon("upgrade")) + def __markPackageClean(self, item): + """ + Private method to mark the given package item as clean (i.e. not outdated nor + having outdated dependencies). + + @param item reference to the outdated package item + @type QTreeWidgetItem + """ + version = item.data(0, PipxWidget.VersionRole) + item.setData(0, PipxWidget.LatestVersionRole, "") + item.setData(0, PipxWidget.OutdatedDependenciesRole, False) + item.setText(PipxWidget.VersionColumn, version) + item.setIcon(PipxWidget.VersionColumn, QIcon()) + def __populatePackages(self): """ Private method to populate the packages list. @@ -645,10 +666,10 @@ @rtype list of str """ apps = [] - + for row in range(packageItem.childCount()): apps.append(packageItem.child(row).text(0)) - + return apps def __getRunningApps(self, apps): @@ -675,7 +696,7 @@ def __getAllRunningApps(self): """ Private method to determine all running pipx managed apps. - + @return set of running apps @rtype set of str """