src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditConfigDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9473
3f23dbf37dbe
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
15 15
16 class HgHisteditConfigDialog(QDialog, Ui_HgHisteditConfigDialog): 16 class HgHisteditConfigDialog(QDialog, Ui_HgHisteditConfigDialog):
17 """ 17 """
18 Class implementing a dialog to enter the histedit parameters. 18 Class implementing a dialog to enter the histedit parameters.
19 """ 19 """
20 def __init__(self, tagsList, branchesList, bookmarksList=None, rev="", 20
21 parent=None): 21 def __init__(self, tagsList, branchesList, bookmarksList=None, rev="", 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
33 @param parent reference to the parent widget 33 @param parent reference to the parent widget
34 @type QWidget 34 @type QWidget
35 """ 35 """
36 super().__init__(parent) 36 super().__init__(parent)
37 self.setupUi(self) 37 self.setupUi(self)
38 38
39 self.__sourceRevisionButtonGroup = QButtonGroup(self) 39 self.__sourceRevisionButtonGroup = QButtonGroup(self)
40 self.__sourceRevisionButtonGroup.addButton(self.defaultButton) 40 self.__sourceRevisionButtonGroup.addButton(self.defaultButton)
41 self.__sourceRevisionButtonGroup.addButton(self.outgoingButton) 41 self.__sourceRevisionButtonGroup.addButton(self.outgoingButton)
42 self.__sourceRevisionButtonGroup.addButton(self.revisionButton) 42 self.__sourceRevisionButtonGroup.addButton(self.revisionButton)
43 43
44 self.tagCombo.addItems(sorted(tagsList)) 44 self.tagCombo.addItems(sorted(tagsList))
45 self.branchCombo.addItems(["default"] + sorted(branchesList)) 45 self.branchCombo.addItems(["default"] + sorted(branchesList))
46 if bookmarksList is not None: 46 if bookmarksList is not None:
47 self.bookmarkCombo.addItems(sorted(bookmarksList)) 47 self.bookmarkCombo.addItems(sorted(bookmarksList))
48 48
49 # connect various radio buttons and input fields 49 # connect various radio buttons and input fields
50 self.defaultButton.toggled.connect(self.__updateOK) 50 self.defaultButton.toggled.connect(self.__updateOK)
51 self.outgoingButton.toggled.connect(self.__updateOK) 51 self.outgoingButton.toggled.connect(self.__updateOK)
52 self.revisionButton.toggled.connect(self.__updateOK) 52 self.revisionButton.toggled.connect(self.__updateOK)
53 self.idButton.toggled.connect(self.__updateOK) 53 self.idButton.toggled.connect(self.__updateOK)
54 self.tagButton.toggled.connect(self.__updateOK) 54 self.tagButton.toggled.connect(self.__updateOK)
55 self.branchButton.toggled.connect(self.__updateOK) 55 self.branchButton.toggled.connect(self.__updateOK)
56 self.bookmarkButton.toggled.connect(self.__updateOK) 56 self.bookmarkButton.toggled.connect(self.__updateOK)
57 self.expressionButton.toggled.connect(self.__updateOK) 57 self.expressionButton.toggled.connect(self.__updateOK)
58 58
59 self.idEdit.textChanged.connect(self.__updateOK) 59 self.idEdit.textChanged.connect(self.__updateOK)
60 self.expressionEdit.textChanged.connect(self.__updateOK) 60 self.expressionEdit.textChanged.connect(self.__updateOK)
61 61
62 self.tagCombo.editTextChanged.connect(self.__updateOK) 62 self.tagCombo.editTextChanged.connect(self.__updateOK)
63 self.branchCombo.editTextChanged.connect(self.__updateOK) 63 self.branchCombo.editTextChanged.connect(self.__updateOK)
64 self.bookmarkCombo.editTextChanged.connect(self.__updateOK) 64 self.bookmarkCombo.editTextChanged.connect(self.__updateOK)
65 65
66 self.numberSpinBox.valueChanged.connect(self.__updateOK) 66 self.numberSpinBox.valueChanged.connect(self.__updateOK)
67 67
68 self.idEdit.setText(rev) 68 self.idEdit.setText(rev)
69 if rev: 69 if rev:
70 self.revisionButton.setChecked(True) 70 self.revisionButton.setChecked(True)
71 else: 71 else:
72 self.defaultButton.setChecked(True) 72 self.defaultButton.setChecked(True)
73 73
74 msh = self.minimumSizeHint() 74 msh = self.minimumSizeHint()
75 self.resize(max(self.width(), msh.width()), msh.height()) 75 self.resize(max(self.width(), msh.width()), msh.height())
76 76
77 self.__updateOK() 77 self.__updateOK()
78 78
79 @pyqtSlot() 79 @pyqtSlot()
80 def __updateOK(self): 80 def __updateOK(self):
81 """ 81 """
82 Private slot to update the OK button. 82 Private slot to update the OK button.
83 """ 83 """
84 enabled = True 84 enabled = True
85 85
86 if self.revisionButton.isChecked(): 86 if self.revisionButton.isChecked():
87 if self.idButton.isChecked(): 87 if self.idButton.isChecked():
88 enabled = enabled and bool(self.idEdit.text()) 88 enabled = enabled and bool(self.idEdit.text())
89 elif self.tagButton.isChecked(): 89 elif self.tagButton.isChecked():
90 enabled = enabled and bool(self.tagCombo.currentText()) 90 enabled = enabled and bool(self.tagCombo.currentText())
92 enabled = enabled and bool(self.branchCombo.currentText()) 92 enabled = enabled and bool(self.branchCombo.currentText())
93 elif self.bookmarkButton.isChecked(): 93 elif self.bookmarkButton.isChecked():
94 enabled = enabled and bool(self.bookmarkCombo.currentText()) 94 enabled = enabled and bool(self.bookmarkCombo.currentText())
95 elif self.expressionButton.isChecked(): 95 elif self.expressionButton.isChecked():
96 enabled = enabled and bool(self.expressionEdit.text()) 96 enabled = enabled and bool(self.expressionEdit.text())
97 97
98 self.buttonBox.button( 98 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enabled)
99 QDialogButtonBox.StandardButton.Ok).setEnabled(enabled) 99
100
101 def __getRevision(self): 100 def __getRevision(self):
102 """ 101 """
103 Private method to generate the revision. 102 Private method to generate the revision.
104 103
105 @return revision 104 @return revision
106 @rtype str 105 @rtype str
107 """ 106 """
108 if self.defaultButton.isChecked(): 107 if self.defaultButton.isChecked():
109 return "" 108 return ""
120 return self.branchCombo.currentText() 119 return self.branchCombo.currentText()
121 elif self.bookmarkButton.isChecked(): 120 elif self.bookmarkButton.isChecked():
122 return self.bookmarkCombo.currentText() 121 return self.bookmarkCombo.currentText()
123 elif self.expressionButton.isChecked(): 122 elif self.expressionButton.isChecked():
124 return self.expressionEdit.text() 123 return self.expressionEdit.text()
125 124
126 return "" 125 return ""
127 126
128 def getData(self): 127 def getData(self):
129 """ 128 """
130 Public method to retrieve the data for the strip action. 129 Public method to retrieve the data for the strip action.
131 130
132 @return tuple with the revision, a flag indicating to to outgoing and a 131 @return tuple with the revision, a flag indicating to to outgoing and a
133 flag indicating to keep old nodes 132 flag indicating to keep old nodes
134 @rtype tuple (str, bool, bool) 133 @rtype tuple (str, bool, bool)
135 """ 134 """
136 return ( 135 return (

eric ide

mercurial