diff -r 1800956305ca -r 527d47826e97 src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesNewPatchDialog.py --- a/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesNewPatchDialog.py Sun Jan 07 19:54:03 2024 +0100 +++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesNewPatchDialog.py Mon Jan 08 11:14:48 2024 +0100 @@ -7,6 +7,8 @@ Module implementing a dialog to get the data for a new patch. """ +import enum + from PyQt6.QtCore import QDateTime, pyqtSlot from PyQt6.QtWidgets import QDialog, QDialogButtonBox @@ -15,22 +17,26 @@ from .Ui_HgQueuesNewPatchDialog import Ui_HgQueuesNewPatchDialog +class HgQueuesNewPatchDialogMode(enum.Enum): + """ + Class defining the dialog modes. + """ + + NEW = 0 + REFRESH = 1 + + class HgQueuesNewPatchDialog(QDialog, Ui_HgQueuesNewPatchDialog): """ Class implementing a dialog to get the data for a new patch. """ - # TODO: change this to an enum - NEW_MODE = 0 - REFRESH_MODE = 1 - def __init__(self, mode, message="", parent=None): """ Constructor - @param mode mode of the dialog (HgQueuesNewPatchDialog.NEW_MODE, - HgQueuesNewPatchDialog.REFRESH_MODE) - @type int + @param mode mode of the dialog + @type HgQueuesNewPatchDialogMode @param message text to set as the commit message @type str @param parent reference to the parent widget @@ -40,14 +46,11 @@ super().__init__(parent) self.setupUi(self) - if mode not in ( - HgQueuesNewPatchDialog.REFRESH_MODE, - HgQueuesNewPatchDialog.NEW_MODE, - ): + if not isinstance(mode, HgQueuesNewPatchDialogMode): raise ValueError("invalid value for mode") self.__mode = mode - if self.__mode == HgQueuesNewPatchDialog.REFRESH_MODE: + if self.__mode == HgQueuesNewPatchDialogMode.REFRESH: self.nameLabel.hide() self.nameEdit.hide() @@ -68,7 +71,7 @@ """ enable = ( self.messageEdit.toPlainText() != "" - if self.__mode == HgQueuesNewPatchDialog.REFRESH_MODE + if self.__mode == HgQueuesNewPatchDialogMode.REFRESH else (self.nameEdit.text() != "" and self.messageEdit.toPlainText() != "") ) if self.userGroup.isChecked():