src/eric7/PipInterface/PipPackagesWidget.py

branch
eric7
changeset 9234
97bdad5be46d
parent 9221
bf71ee032bb4
child 9243
73c7abe824f3
equal deleted inserted replaced
9233:d14a2ec006a7 9234:97bdad5be46d
211 self.installUserSiteButton.setIcon(UI.PixmapCache.getIcon("addUser")) 211 self.installUserSiteButton.setIcon(UI.PixmapCache.getIcon("addUser"))
212 self.showDetailsButton.setIcon(UI.PixmapCache.getIcon("info")) 212 self.showDetailsButton.setIcon(UI.PixmapCache.getIcon("info"))
213 213
214 self.refreshDependenciesButton.setIcon(UI.PixmapCache.getIcon("reload")) 214 self.refreshDependenciesButton.setIcon(UI.PixmapCache.getIcon("reload"))
215 self.showDepPackageDetailsButton.setIcon(UI.PixmapCache.getIcon("info")) 215 self.showDepPackageDetailsButton.setIcon(UI.PixmapCache.getIcon("info"))
216 self.dependencyRepairButton.setIcon(UI.PixmapCache.getIcon("repair"))
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
1760 tree. 1761 tree.
1761 """ 1762 """
1762 if len(self.dependenciesList.selectedItems()) == 0: 1763 if len(self.dependenciesList.selectedItems()) == 0:
1763 self.dependencyInfoWidget.clear() 1764 self.dependencyInfoWidget.clear()
1764 1765
1766 self.__updateDepActionButtons()
1767
1765 @pyqtSlot(QTreeWidgetItem, int) 1768 @pyqtSlot(QTreeWidgetItem, int)
1766 def on_dependenciesList_itemPressed(self, item, column): 1769 def on_dependenciesList_itemPressed(self, item, column):
1767 """ 1770 """
1768 Private slot reacting on a package item of the dependency tree being 1771 Private slot reacting on a package item of the dependency tree being
1769 pressed. 1772 pressed.
1819 def __updateDepActionButtons(self): 1822 def __updateDepActionButtons(self):
1820 """ 1823 """
1821 Private method to set the state of the dependency page action buttons. 1824 Private method to set the state of the dependency page action buttons.
1822 """ 1825 """
1823 self.showDepPackageDetailsButton.setEnabled( 1826 self.showDepPackageDetailsButton.setEnabled(
1824 len(self.dependenciesList.selectedItems()) == 1 and self.__isPipAvailable() 1827 len(self.dependenciesList.selectedItems()) == 1
1825 ) 1828 )
1829
1830 self.dependencyRepairButton.setEnabled(
1831 any(
1832 not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull()
1833 for itm in self.dependenciesList.selectedItems()
1834 )
1835 )
1836
1837 @pyqtSlot()
1838 def on_dependencyRepairButton_clicked(self):
1839 """
1840 Private slot to repair all selected dependencies.
1841 """
1842 packages = []
1843 for itm in self.dependenciesList.selectedItems():
1844 if not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull():
1845 packages.append(
1846 "{0}{1}".format(
1847 itm.text(PipPackagesWidget.DepPackageColumn),
1848 itm.text(PipPackagesWidget.DepRequiredVersionColumn),
1849 )
1850 )
1851
1852 venvName = self.environmentsComboBox.currentText()
1853 if venvName and packages:
1854 self.__pip.installPackages(
1855 packages, venvName=venvName, userSite=self.userDepCheckBox.isChecked()
1856 )
1857 self.on_refreshDependenciesButton_clicked()
1826 1858
1827 ################################################################## 1859 ##################################################################
1828 ## Interface to show the licenses dialog below 1860 ## Interface to show the licenses dialog below
1829 ################################################################## 1861 ##################################################################
1830 1862

eric ide

mercurial