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(): |