src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.py

branch
eric7
changeset 10490
527d47826e97
parent 10475
ee41fab001f2
child 11090
f5f5f5803935
--- a/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.py	Sun Jan 07 19:54:03 2024 +0100
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.py	Mon Jan 08 11:14:48 2024 +0100
@@ -7,6 +7,8 @@
 Module implementing a dialog used by the queue management functions.
 """
 
+import enum
+
 from PyQt6.QtCore import QCoreApplication, Qt, pyqtSlot
 from PyQt6.QtWidgets import (
     QAbstractButton,
@@ -19,24 +21,27 @@
 from .Ui_HgQueuesQueueManagementDialog import Ui_HgQueuesQueueManagementDialog
 
 
+class HgQueuesQueueManagementDialogMode(enum.Enum):
+    """
+    Class defining the supported dialog modes.
+    """
+
+    NO_INPUT = 0
+    NAME_INPUT = 1
+    QUEUE_INPUT = 2
+
+
 class HgQueuesQueueManagementDialog(QDialog, Ui_HgQueuesQueueManagementDialog):
     """
     Class implementing a dialog used by the queue management functions.
     """
 
-    # TODO: change this to an enum
-    NO_INPUT = 0
-    NAME_INPUT = 1
-    QUEUE_INPUT = 2
-
     def __init__(self, mode, title, suppressActive, vcs, parent=None):
         """
         Constructor
 
-        @param mode mode of the dialog (HgQueuesQueueManagementDialog.NO_INPUT
-            HgQueuesQueueManagementDialog.NAME_INPUT,
-            HgQueuesQueueManagementDialog.QUEUE_INPUT)
-        @type int
+        @param mode mode of the dialog
+        @type HgQueuesQueueManagementDialogMode
         @param title title for the dialog
         @type str
         @param suppressActive flag indicating to not show the name of the
@@ -52,11 +57,7 @@
         self.setupUi(self)
         self.setWindowFlags(Qt.WindowType.Window)
 
-        if mode not in (
-            HgQueuesQueueManagementDialog.NO_INPUT,
-            HgQueuesQueueManagementDialog.NAME_INPUT,
-            HgQueuesQueueManagementDialog.QUEUE_INPUT,
-        ):
+        if not isinstance(mode, HgQueuesQueueManagementDialogMode):
             raise ValueError("illegal value for mode")
 
         self.__mode = mode
@@ -64,14 +65,16 @@
         self.__hgClient = vcs.getClient()
         self.vcs = vcs
 
-        self.inputFrame.setHidden(mode != HgQueuesQueueManagementDialog.NAME_INPUT)
-        self.selectLabel.setHidden(mode != HgQueuesQueueManagementDialog.QUEUE_INPUT)
-        if mode != HgQueuesQueueManagementDialog.QUEUE_INPUT:
+        self.inputFrame.setHidden(mode != HgQueuesQueueManagementDialogMode.NAME_INPUT)
+        self.selectLabel.setHidden(
+            mode != HgQueuesQueueManagementDialogMode.QUEUE_INPUT
+        )
+        if mode != HgQueuesQueueManagementDialogMode.QUEUE_INPUT:
             self.queuesList.setSelectionMode(
                 QAbstractItemView.SelectionMode.NoSelection
             )
 
-        if mode == HgQueuesQueueManagementDialog.NO_INPUT:
+        if mode == HgQueuesQueueManagementDialogMode.NO_INPUT:
             self.buttonBox.removeButton(
                 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok)
             )
@@ -136,7 +139,7 @@
         @param txt text of the edit
         @type str
         """
-        if self.__mode == HgQueuesQueueManagementDialog.NAME_INPUT:
+        if self.__mode == HgQueuesQueueManagementDialogMode.NAME_INPUT:
             self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
                 txt != ""
             )
@@ -146,7 +149,7 @@
         """
         Private slot to handle changes of selected queue names.
         """
-        if self.__mode == HgQueuesQueueManagementDialog.QUEUE_INPUT:
+        if self.__mode == HgQueuesQueueManagementDialogMode.QUEUE_INPUT:
             self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
                 len(self.queuesList.selectedItems()) > 0
             )
@@ -185,9 +188,9 @@
         @rtype str
         """
         name = ""
-        if self.__mode == HgQueuesQueueManagementDialog.NAME_INPUT:
+        if self.__mode == HgQueuesQueueManagementDialogMode.NAME_INPUT:
             name = self.nameEdit.text().replace(" ", "_")
-        elif self.__mode == HgQueuesQueueManagementDialog.QUEUE_INPUT:
+        elif self.__mode == HgQueuesQueueManagementDialogMode.QUEUE_INPUT:
             selItems = self.queuesList.selectedItems()
             if selItems:
                 name = selItems[0].text()

eric ide

mercurial