src/eric7/Plugins/WizardPlugins/EricPluginWizard/PluginWizardDialog.py

branch
eric7
changeset 11275
933c08329e8b
parent 11090
f5f5f5803935
child 11277
002e62035d8e
diff -r efa1bdc53d4e -r 933c08329e8b src/eric7/Plugins/WizardPlugins/EricPluginWizard/PluginWizardDialog.py
--- a/src/eric7/Plugins/WizardPlugins/EricPluginWizard/PluginWizardDialog.py	Thu May 08 16:09:46 2025 +0200
+++ b/src/eric7/Plugins/WizardPlugins/EricPluginWizard/PluginWizardDialog.py	Thu May 08 16:11:25 2025 +0200
@@ -27,6 +27,7 @@
     mainTemplate,
     moduleSetupTemplate,
     onDemandTemplate,
+    pluginTypeTemplate,
     previewPixmapTemplate,
 )
 from .Ui_PluginWizardDialog import Ui_PluginWizardDialog
@@ -37,6 +38,9 @@
     Class implementing the eric plug-in wizard dialog.
     """
 
+    OnDemandPluginTypes = ["", "viewmanager", "version_control"]
+    AutoActivatePluginTypes = ["", "virtualenv"]
+
     def __init__(self, parent=None):
         """
         Constructor
@@ -65,11 +69,10 @@
         self.longDescriptionEdit.textChanged.connect(self.__enableOkButton)
         self.preferencesKeyEdit.textChanged.connect(self.__enableOkButton)
         self.configurationGroup.toggled.connect(self.__enableOkButton)
-        self.autoActivateCheckBox.toggled.connect(self.__enableOkButton)
         self.pluginTypeCombo.currentIndexChanged.connect(self.__enableOkButton)
         self.pluginTypeNameEdit.textChanged.connect(self.__enableOkButton)
 
-        self.pluginTypeCombo.addItems(["", "viewmanager", "version_control"])
+        self.on_autoActivateCheckBox_toggled(True)  # default state of the option
 
     def __enableOkButton(self):
         """
@@ -96,6 +99,24 @@
 
         self.__okButton.setEnabled(enable)
 
+    @pyqtSlot(bool)
+    def on_autoActivateCheckBox_toggled(self, checked):
+        """
+        Public slot to handle a change of state of the 'Activate Automatically'
+        option.
+
+        @param checked state of the option
+        @type bool
+        """
+        self.pluginTypeCombo.clear()
+
+        if checked:
+            self.pluginTypeCombo.addItems(PluginWizardDialog.AutoActivatePluginTypes)
+        else:
+            self.pluginTypeCombo.addItems(PluginWizardDialog.OnDemandPluginTypes)
+
+        self.__enableOkButton()
+
     @pyqtSlot()
     def on_projectButton_clicked(self):
         """
@@ -167,11 +188,19 @@
 
         if self.autoActivateCheckBox.isChecked():
             templateData["onDemand"] = ""
+            templateData["pluginType"] = (
+                pluginTypeTemplate.format(
+                    pluginType=self.pluginTypeCombo.currentText()
+                )
+                if bool(self.pluginTypeCombo.currentText())
+                else ""
+            )
         else:
             templateData["onDemand"] = onDemandTemplate.format(
                 pluginType=self.pluginTypeCombo.currentText(),
                 pluginTypename=self.pluginTypeNameEdit.text(),
             )
+            templateData["pluginType"] = ""
 
         if self.pixmapCheckBox.isChecked():
             templateData["preview"] = previewPixmapTemplate

eric ide

mercurial