src/eric7/Plugins/VcsPlugins/vcsMercurial/HgMergeDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9653
e67609152c5e
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
15 15
16 class HgMergeDialog(QDialog, Ui_HgMergeDialog): 16 class HgMergeDialog(QDialog, Ui_HgMergeDialog):
17 """ 17 """
18 Class implementing a dialog to enter the data for a merge operation. 18 Class implementing a dialog to enter the data for a merge operation.
19 """ 19 """
20 def __init__(self, tagsList, branchesList, bookmarksList=None, 20
21 parent=None): 21 def __init__(self, tagsList, branchesList, bookmarksList=None, parent=None):
22 """ 22 """
23 Constructor 23 Constructor
24 24
25 @param tagsList list of tags 25 @param tagsList list of tags
26 @type list of str 26 @type list of str
27 @param branchesList list of branches 27 @param branchesList list of branches
28 @type list of str 28 @type list of str
29 @param bookmarksList list of bookmarks 29 @param bookmarksList list of bookmarks
31 @param parent parent widget 31 @param parent parent widget
32 @type QWidget 32 @type QWidget
33 """ 33 """
34 super().__init__(parent) 34 super().__init__(parent)
35 self.setupUi(self) 35 self.setupUi(self)
36 36
37 self.buttonBox.button( 37 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False)
38 QDialogButtonBox.StandardButton.Ok).setEnabled(False) 38
39
40 self.tagCombo.addItems(sorted(tagsList)) 39 self.tagCombo.addItems(sorted(tagsList))
41 self.branchCombo.addItems(["default"] + sorted(branchesList)) 40 self.branchCombo.addItems(["default"] + sorted(branchesList))
42 if bookmarksList is not None: 41 if bookmarksList is not None:
43 self.bookmarkCombo.addItems(sorted(bookmarksList)) 42 self.bookmarkCombo.addItems(sorted(bookmarksList))
44 else: 43 else:
45 self.bookmarkButton.setHidden(True) 44 self.bookmarkButton.setHidden(True)
46 self.bookmarkCombo.setHidden(True) 45 self.bookmarkCombo.setHidden(True)
47 46
48 # connect various radio buttons and input fields 47 # connect various radio buttons and input fields
49 self.idButton.toggled.connect(self.__updateOK) 48 self.idButton.toggled.connect(self.__updateOK)
50 self.tagButton.toggled.connect(self.__updateOK) 49 self.tagButton.toggled.connect(self.__updateOK)
51 self.branchButton.toggled.connect(self.__updateOK) 50 self.branchButton.toggled.connect(self.__updateOK)
52 self.bookmarkButton.toggled.connect(self.__updateOK) 51 self.bookmarkButton.toggled.connect(self.__updateOK)
53 self.expressionButton.toggled.connect(self.__updateOK) 52 self.expressionButton.toggled.connect(self.__updateOK)
54 53
55 self.idEdit.textChanged.connect(self.__updateOK) 54 self.idEdit.textChanged.connect(self.__updateOK)
56 self.expressionEdit.textChanged.connect(self.__updateOK) 55 self.expressionEdit.textChanged.connect(self.__updateOK)
57 56
58 self.tagCombo.editTextChanged.connect(self.__updateOK) 57 self.tagCombo.editTextChanged.connect(self.__updateOK)
59 self.branchCombo.editTextChanged.connect(self.__updateOK) 58 self.branchCombo.editTextChanged.connect(self.__updateOK)
60 self.bookmarkCombo.editTextChanged.connect(self.__updateOK) 59 self.bookmarkCombo.editTextChanged.connect(self.__updateOK)
61 60
62 msh = self.minimumSizeHint() 61 msh = self.minimumSizeHint()
63 self.resize(max(self.width(), msh.width()), msh.height()) 62 self.resize(max(self.width(), msh.width()), msh.height())
64 63
65 @pyqtSlot() 64 @pyqtSlot()
66 def __updateOK(self): 65 def __updateOK(self):
67 """ 66 """
68 Private slot to update the OK button. 67 Private slot to update the OK button.
69 """ 68 """
76 enabled = self.branchCombo.currentText() != "" 75 enabled = self.branchCombo.currentText() != ""
77 elif self.bookmarkButton.isChecked(): 76 elif self.bookmarkButton.isChecked():
78 enabled = self.bookmarkCombo.currentText() != "" 77 enabled = self.bookmarkCombo.currentText() != ""
79 elif self.expressionButton.isChecked(): 78 elif self.expressionButton.isChecked():
80 enabled = enabled and bool(self.expressionEdit.text()) 79 enabled = enabled and bool(self.expressionEdit.text())
81 80
82 self.buttonBox.button( 81 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enabled)
83 QDialogButtonBox.StandardButton.Ok).setEnabled(enabled) 82
84
85 def getParameters(self): 83 def getParameters(self):
86 """ 84 """
87 Public method to retrieve the merge data. 85 Public method to retrieve the merge data.
88 86
89 @return tuple naming the revision and a flag indicating a 87 @return tuple naming the revision and a flag indicating a
90 forced merge 88 forced merge
91 @rtype tuple of (str, bool) 89 @rtype tuple of (str, bool)
92 """ 90 """
93 if self.numberButton.isChecked(): 91 if self.numberButton.isChecked():
102 rev = self.bookmarkCombo.currentText() 100 rev = self.bookmarkCombo.currentText()
103 elif self.expressionButton.isChecked(): 101 elif self.expressionButton.isChecked():
104 rev = self.expressionEdit.text() 102 rev = self.expressionEdit.text()
105 else: 103 else:
106 rev = "" 104 rev = ""
107 105
108 return rev, self.forceCheckBox.isChecked() 106 return rev, self.forceCheckBox.isChecked()

eric ide

mercurial