--- a/src/eric7/VirtualEnv/VirtualenvManagerWidgets.py Wed Apr 23 17:23:57 2025 +0200 +++ b/src/eric7/VirtualEnv/VirtualenvManagerWidgets.py Wed Apr 23 18:02:09 2025 +0200 @@ -96,7 +96,8 @@ itm.text(0) != "<default>" and bool(itm.text(1)) and not itm.data(0, VirtualenvManagerWidget.MetadataRole).is_global - and not itm.data(0, VirtualenvManagerWidget.MetadataRole).is_remote + and itm.data(0, VirtualenvManagerWidget.MetadataRole).environment_type + != "remote" ): deletableSelectedItemCount += 1 @@ -106,7 +107,8 @@ if ( itm.text(0) != "<default>" and bool(itm.text(1)) - and not itm.data(0, VirtualenvManagerWidget.MetadataRole).is_remote + and itm.data(0, VirtualenvManagerWidget.MetadataRole).environment_type + != "remote" ): deletableItemCount += 1 @@ -324,13 +326,12 @@ selectedItems = self.venvList.selectedItems() if len(selectedItems) == 1: - self.descriptionEdit.setPlainText( - selectedItems[0] - .data(0, VirtualenvManagerWidget.MetadataRole) - .description - ) + envMetaData = selectedItems[0].data(0, VirtualenvManagerWidget.MetadataRole) + self.descriptionEdit.setPlainText(envMetaData.description) + self.interpreterEdit.setText(envMetaData.interpreter) else: self.descriptionEdit.clear() + self.interpreterEdit.clear() @pyqtSlot() def __refresh(self): @@ -358,46 +359,21 @@ """ Private method to populate the list of virtual environments. """ + typeNamesMapping = { + n[0]: n[1] for n in self.__manager.getEnvironmentTypeNames() + } + for environment in self.__manager.getEnvironmentEntries(): itm = QTreeWidgetItem( self.venvList, [ environment.name, + typeNamesMapping[environment.environment_type], environment.path, - environment.interpreter, ], ) itm.setData(0, VirtualenvManagerWidget.MetadataRole, environment) - # show remote environments with underlined font - if environment.is_remote: - font = itm.font(0) - font.setUnderline(True) - for column in range(itm.columnCount()): - itm.setFont(column, font) - - # show global environments with bold font - elif environment.is_global: - font = itm.font(0) - font.setBold(True) - for column in range(itm.columnCount()): - itm.setFont(column, font) - - # show Anaconda environments with italic font - elif environment.is_conda: - font = itm.font(0) - font.setItalic(True) - for column in range(itm.columnCount()): - itm.setFont(column, font) - - # show eric-ide server environments with underlined italic font - elif environment.is_eric_server: - font = itm.font(0) - font.setItalic(True) - font.setUnderline(True) - for column in range(itm.columnCount()): - itm.setFont(column, font) - self.__resizeSections() def __resizeSections(self): @@ -464,11 +440,18 @@ @param parent reference to the parent widget @type QWidget """ + from eric7.EricWidgets.EricApplication import ericApp + from eric7.PluginManager.PluginManager import PluginManager from eric7.VirtualEnv.VirtualenvManager import VirtualenvManager super().__init__(parent) self.__virtualenvManager = VirtualenvManager(self) + ericApp().registerObject("VirtualEnvManager", self.__virtualenvManager) + + self.__pluginManager = PluginManager(self) + ericApp().registerObject("PluginManager", self.__pluginManager) + self.__pluginManager.activateTypedPlugins("virtualenv") self.__centralWidget = QWidget(self) self.__layout = QVBoxLayout(self.__centralWidget) @@ -485,7 +468,7 @@ self.__layout.addWidget(self.__buttonBox) self.setCentralWidget(self.__centralWidget) - self.resize(700, 500) + self.resize(700, 600) self.setWindowTitle(self.tr("Manage Virtual Environments")) self.__buttonBox.accepted.connect(self.close)