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 |