src/eric7/PipInterface/PipPackagesWidget.py

branch
eric7
changeset 10133
39d1353996b9
parent 10105
5765f4c8543f
child 10148
31ba20629af4
child 10206
d6921563be6c
equal deleted inserted replaced
10132:66c11ab8fefd 10133:39d1353996b9
211 self.showDetailsButton.setIcon(EricPixmapCache.getIcon("info")) 211 self.showDetailsButton.setIcon(EricPixmapCache.getIcon("info"))
212 212
213 self.refreshDependenciesButton.setIcon(EricPixmapCache.getIcon("reload")) 213 self.refreshDependenciesButton.setIcon(EricPixmapCache.getIcon("reload"))
214 self.showDepPackageDetailsButton.setIcon(EricPixmapCache.getIcon("info")) 214 self.showDepPackageDetailsButton.setIcon(EricPixmapCache.getIcon("info"))
215 self.dependencyRepairButton.setIcon(EricPixmapCache.getIcon("repair")) 215 self.dependencyRepairButton.setIcon(EricPixmapCache.getIcon("repair"))
216 self.dependencyRepairAllButton.setIcon(EricPixmapCache.getIcon("repairAll"))
216 217
217 self.__pip = pip 218 self.__pip = pip
218 219
219 self.packagesList.header().setSortIndicator( 220 self.packagesList.header().setSortIndicator(
220 PipPackagesWidget.PackageColumn, Qt.SortOrder.AscendingOrder 221 PipPackagesWidget.PackageColumn, Qt.SortOrder.AscendingOrder
2004 not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull() 2005 not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull()
2005 for itm in self.dependenciesList.selectedItems() 2006 for itm in self.dependenciesList.selectedItems()
2006 ) 2007 )
2007 ) 2008 )
2008 2009
2010 itm = self.dependenciesList.topLevelItem(0)
2011 while itm:
2012 if not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull():
2013 self.dependencyRepairAllButton.setEnabled(True)
2014 break
2015 itm = self.dependenciesList.itemBelow(itm)
2016 else:
2017 self.dependencyRepairAllButton.setEnabled(False)
2018
2009 @pyqtSlot() 2019 @pyqtSlot()
2010 def on_dependencyRepairButton_clicked(self): 2020 def on_dependencyRepairButton_clicked(self):
2011 """ 2021 """
2012 Private slot to repair all selected dependencies. 2022 Private slot to repair all selected dependencies.
2013 """ 2023 """
2014 packages = [] 2024 packages = set()
2015 for itm in self.dependenciesList.selectedItems(): 2025 for itm in self.dependenciesList.selectedItems():
2016 if not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull(): 2026 if not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull():
2017 packages.append( 2027 packages.add(
2018 "{0}{1}".format( 2028 "{0}{1}".format(
2019 itm.text(PipPackagesWidget.DepPackageColumn), 2029 itm.text(PipPackagesWidget.DepPackageColumn),
2020 itm.text(PipPackagesWidget.DepRequiredVersionColumn), 2030 itm.text(PipPackagesWidget.DepRequiredVersionColumn),
2021 ) 2031 )
2022 ) 2032 )
2023 2033
2024 venvName = self.environmentsComboBox.currentText() 2034 venvName = self.environmentsComboBox.currentText()
2025 if venvName and packages: 2035 if venvName and packages:
2026 self.__pip.installPackages( 2036 self.__pip.installPackages(
2027 packages, venvName=venvName, userSite=self.userDepCheckBox.isChecked() 2037 list(packages),
2038 venvName=venvName,
2039 userSite=self.userDepCheckBox.isChecked(),
2040 )
2041 self.on_refreshDependenciesButton_clicked()
2042
2043 @pyqtSlot()
2044 def on_dependencyRepairAllButton_clicked(self):
2045 """
2046 Private slot to repair all dependencies.
2047 """
2048 packages = set()
2049 itm = self.dependenciesList.topLevelItem(0)
2050 while itm:
2051 if not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull():
2052 packages.add(
2053 "{0}{1}".format(
2054 itm.text(PipPackagesWidget.DepPackageColumn),
2055 itm.text(PipPackagesWidget.DepRequiredVersionColumn),
2056 )
2057 )
2058 itm = self.dependenciesList.itemBelow(itm)
2059
2060 venvName = self.environmentsComboBox.currentText()
2061 if venvName and packages:
2062 self.__pip.installPackages(
2063 list(packages),
2064 venvName=venvName,
2065 userSite=self.userDepCheckBox.isChecked(),
2028 ) 2066 )
2029 self.on_refreshDependenciesButton_clicked() 2067 self.on_refreshDependenciesButton_clicked()
2030 2068
2031 ################################################################## 2069 ##################################################################
2032 ## Interface to show the licenses dialog below 2070 ## Interface to show the licenses dialog below

eric ide

mercurial