30 @param parent parent widget (QWidget) |
30 @param parent parent widget (QWidget) |
31 """ |
31 """ |
32 super().__init__(parent) |
32 super().__init__(parent) |
33 self.setupUi(self) |
33 self.setupUi(self) |
34 |
34 |
35 # set the validators for the double line edots |
35 # set the validators for the double line edits |
36 self.eDoubleDefault.setValidator( |
36 self.eDoubleDefault.setValidator( |
37 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleDefault)) |
37 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleDefault)) |
38 self.eDoubleFrom.setValidator( |
38 self.eDoubleFrom.setValidator( |
39 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleFrom)) |
39 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleFrom)) |
40 self.eDoubleTo.setValidator( |
40 self.eDoubleTo.setValidator( |
41 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleTo)) |
41 QDoubleValidator(-2147483647, 2147483647, 99, self.eDoubleTo)) |
42 |
42 |
|
43 self.rText.toggled.connect(self.__typeSelectButtonToggled) |
|
44 self.rMultiLineText.toggled.connect(self.__typeSelectButtonToggled) |
|
45 self.rInteger.toggled.connect(self.__typeSelectButtonToggled) |
|
46 self.rDouble.toggled.connect(self.__typeSelectButtonToggled) |
|
47 self.rItem.toggled.connect(self.__typeSelectButtonToggled) |
|
48 |
43 self.bTest = self.buttonBox.addButton( |
49 self.bTest = self.buttonBox.addButton( |
44 self.tr("Test"), QDialogButtonBox.ButtonRole.ActionRole) |
50 self.tr("Test"), QDialogButtonBox.ButtonRole.ActionRole) |
45 |
51 |
|
52 # simulate a dialog type selection |
|
53 self.__typeSelectButtonToggled(True) |
|
54 |
46 msh = self.minimumSizeHint() |
55 msh = self.minimumSizeHint() |
47 self.resize(max(self.width(), msh.width()), msh.height()) |
56 self.resize(max(self.width(), msh.width()), msh.height()) |
48 |
57 |
49 @pyqtSlot(bool) |
58 @pyqtSlot(bool) |
50 def on_rItem_toggled(self, checked): |
59 def __typeSelectButtonToggled(self, checked): |
51 """ |
60 """ |
52 Private slot to perform actions dependant on the item type selection. |
61 Private slot to modify the dialog according to the selected type. |
53 |
62 |
54 @param checked flag indicating the checked state (boolean) |
63 Note: This is a multiplexed slot. Therefore it just reacts upon a |
55 """ |
64 positive check state (i.e. checked == True). |
56 self.bTest.setEnabled(not checked) |
65 |
57 |
66 @param checked flag indicating the checked state |
|
67 @type bool |
|
68 """ |
|
69 self.bTest.setEnabled(True) |
|
70 if checked: |
|
71 if self.rText.isChecked(): |
|
72 self.specificsStack.setCurrentWidget(self.textPage) |
|
73 elif self.rMultiLineText.isChecked(): |
|
74 self.specificsStack.setCurrentWidget(self.multiLineTextPage) |
|
75 elif self.rInteger.isChecked(): |
|
76 self.specificsStack.setCurrentWidget(self.integerPage) |
|
77 elif self.rDouble.isChecked(): |
|
78 self.specificsStack.setCurrentWidget(self.doublePage) |
|
79 elif self.rItem.isChecked(): |
|
80 self.specificsStack.setCurrentWidget(self.itemPage) |
|
81 self.bTest.setEnabled(False) |
|
82 |
58 def on_buttonBox_clicked(self, button): |
83 def on_buttonBox_clicked(self, button): |
59 """ |
84 """ |
60 Private slot called by a button of the button box clicked. |
85 Private slot called by a button of the button box clicked. |
61 |
86 |
62 @param button button that was clicked (QAbstractButton) |
87 @param button button that was clicked (QAbstractButton) |
152 elif self.rEchoNoEcho.isChecked(): |
183 elif self.rEchoNoEcho.isChecked(): |
153 code += 'QLineEdit.EchoMode.NoEcho' |
184 code += 'QLineEdit.EchoMode.NoEcho' |
154 else: |
185 else: |
155 code += 'QLineEdit.EchoMode.Password' |
186 code += 'QLineEdit.EchoMode.Password' |
156 if self.eTextDefault.text(): |
187 if self.eTextDefault.text(): |
157 code += ',{0}{1}self.tr("{2}")'.format( |
188 if self.cTranslateTextDefault.isChecked(): |
158 os.linesep, istring, self.eTextDefault.text()) |
189 code += ',{0}{1}self.tr("{2}")'.format( |
|
190 os.linesep, istring, self.eTextDefault.text()) |
|
191 else: |
|
192 code += ',{0}{1}"{2}"'.format( |
|
193 os.linesep, istring, self.eTextDefault.text()) |
|
194 code += '{0}){0}'.format(estring) |
|
195 elif self.rMultiLineText.isChecked(): |
|
196 code +='getMultiLineText({0}{1}'.format(os.linesep, istring) |
|
197 code += '{0},{1}{2}'.format(parent, os.linesep, istring) |
|
198 code += 'self.tr("{0}"),{1}{2}'.format( |
|
199 self.eCaption.text(), os.linesep, istring) |
|
200 code += 'self.tr("{0}")'.format(self.eLabel.text()) |
|
201 if self.eMultiTextDefault.toPlainText(): |
|
202 defTxt = "\\n".join( |
|
203 self.eMultiTextDefault.toPlainText().splitlines() |
|
204 ) |
|
205 if self.cTranslateMultiTextDefault.isChecked(): |
|
206 code += ',{0}{1}self.tr("{2}")'.format( |
|
207 os.linesep, istring, |
|
208 defTxt) |
|
209 else: |
|
210 code += ',{0}{1}"{2}"'.format( |
|
211 os.linesep, istring, |
|
212 defTxt) |
159 code += '{0}){0}'.format(estring) |
213 code += '{0}){0}'.format(estring) |
160 elif self.rInteger.isChecked(): |
214 elif self.rInteger.isChecked(): |
161 code += 'getInt({0}{1}'.format(os.linesep, istring) |
215 code += 'getInt({0}{1}'.format(os.linesep, istring) |
162 code += '{0},{1}{2}'.format(parent, os.linesep, istring) |
216 code += '{0},{1}{2}'.format(parent, os.linesep, istring) |
163 code += 'self.tr("{0}"),{1}{2}'.format( |
217 code += 'self.tr("{0}"),{1}{2}'.format( |