diff -r 1800956305ca -r 527d47826e97 src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.py --- 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()