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 |