src/eric7/VirtualEnv/VirtualenvManagerWidgets.py

branch
eric7
changeset 11230
8a15b05eeee3
parent 11148
15e30f0c76a8
child 11234
438e91847a5a
--- 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)

eric ide

mercurial