40 self.__textedit = None |
40 self.__textedit = None |
41 self.__texteditType = "" |
41 self.__texteditType = "" |
42 self.__findBackwards = True |
42 self.__findBackwards = True |
43 |
43 |
44 self.__defaultBaseColor = ( |
44 self.__defaultBaseColor = ( |
45 self.findtextCombo.lineEdit().palette().color(QPalette.Base) |
45 self.findtextCombo.lineEdit().palette().color( |
|
46 QPalette.ColorRole.Base) |
46 ) |
47 ) |
47 self.__defaultTextColor = ( |
48 self.__defaultTextColor = ( |
48 self.findtextCombo.lineEdit().palette().color(QPalette.Text) |
49 self.findtextCombo.lineEdit().palette().color( |
|
50 QPalette.ColorRole.Text) |
49 ) |
51 ) |
50 |
52 |
51 self.findHistory = [] |
53 self.findHistory = [] |
52 |
54 |
53 self.findtextCombo.setCompleter(None) |
55 self.findtextCombo.setCompleter(None) |
80 self.label.setObjectName("label") |
82 self.label.setObjectName("label") |
81 self.label.setText(self.tr("Find:")) |
83 self.label.setText(self.tr("Find:")) |
82 self.horizontalLayout1.addWidget(self.label) |
84 self.horizontalLayout1.addWidget(self.label) |
83 |
85 |
84 self.findtextCombo = E5ClearableComboBox(self) |
86 self.findtextCombo = E5ClearableComboBox(self) |
85 sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) |
87 sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding, |
|
88 QSizePolicy.Policy.Fixed) |
86 sizePolicy.setHorizontalStretch(0) |
89 sizePolicy.setHorizontalStretch(0) |
87 sizePolicy.setVerticalStretch(0) |
90 sizePolicy.setVerticalStretch(0) |
88 sizePolicy.setHeightForWidth( |
91 sizePolicy.setHeightForWidth( |
89 self.findtextCombo.sizePolicy().hasHeightForWidth()) |
92 self.findtextCombo.sizePolicy().hasHeightForWidth()) |
90 self.findtextCombo.setSizePolicy(sizePolicy) |
93 self.findtextCombo.setSizePolicy(sizePolicy) |
91 self.findtextCombo.setMinimumSize(QSize(100, 0)) |
94 self.findtextCombo.setMinimumSize(QSize(100, 0)) |
92 self.findtextCombo.setEditable(True) |
95 self.findtextCombo.setEditable(True) |
93 self.findtextCombo.setInsertPolicy(QComboBox.InsertAtTop) |
96 self.findtextCombo.setInsertPolicy(QComboBox.InsertPolicy.InsertAtTop) |
94 self.findtextCombo.setDuplicatesEnabled(False) |
97 self.findtextCombo.setDuplicatesEnabled(False) |
95 self.findtextCombo.setObjectName("findtextCombo") |
98 self.findtextCombo.setObjectName("findtextCombo") |
96 self.horizontalLayout1.addWidget(self.findtextCombo) |
99 self.horizontalLayout1.addWidget(self.findtextCombo) |
97 |
100 |
98 # row 2 (maybe) of widgets |
101 # row 2 (maybe) of widgets |
198 """ |
201 """ |
199 Protected slot to handle key press events. |
202 Protected slot to handle key press events. |
200 |
203 |
201 @param event reference to the key press event (QKeyEvent) |
204 @param event reference to the key press event (QKeyEvent) |
202 """ |
205 """ |
203 if self.__textedit and event.key() == Qt.Key_Escape: |
206 if self.__textedit and event.key() == Qt.Key.Key_Escape: |
204 self.__textedit.setFocus(Qt.ActiveWindowFocusReason) |
207 self.__textedit.setFocus(Qt.FocusReason.ActiveWindowFocusReason) |
205 event.accept() |
208 event.accept() |
206 |
209 |
207 @pyqtSlot(str) |
210 @pyqtSlot(str) |
208 def on_findtextCombo_editTextChanged(self, txt): |
211 def on_findtextCombo_editTextChanged(self, txt): |
209 """ |
212 """ |
287 @type bool |
290 @type bool |
288 @return flag indicating the search result |
291 @return flag indicating the search result |
289 @rtype bool |
292 @rtype bool |
290 """ |
293 """ |
291 if backwards: |
294 if backwards: |
292 flags = QTextDocument.FindFlags(QTextDocument.FindBackward) |
295 flags = QTextDocument.FindFlags( |
|
296 QTextDocument.FindFlag.FindBackward) |
293 else: |
297 else: |
294 flags = QTextDocument.FindFlags() |
298 flags = QTextDocument.FindFlags() |
295 if self.caseCheckBox.isChecked(): |
299 if self.caseCheckBox.isChecked(): |
296 flags |= QTextDocument.FindCaseSensitively |
300 flags |= QTextDocument.FindFlag.FindCaseSensitively |
297 if self.wordCheckBox.isChecked(): |
301 if self.wordCheckBox.isChecked(): |
298 flags |= QTextDocument.FindWholeWords |
302 flags |= QTextDocument.FindFlag.FindWholeWords |
299 |
303 |
300 ok = self.__textedit.find(self.findtextCombo.currentText(), flags) |
304 ok = self.__textedit.find(self.findtextCombo.currentText(), flags) |
301 if not ok: |
305 if not ok: |
302 # wrap around once |
306 # wrap around once |
303 cursor = self.__textedit.textCursor() |
307 cursor = self.__textedit.textCursor() |
304 if backwards: |
308 if backwards: |
305 moveOp = QTextCursor.End # move to end of document |
309 moveOp = QTextCursor.MoveOperation.End |
|
310 # move to end of document |
306 else: |
311 else: |
307 moveOp = QTextCursor.Start # move to start of document |
312 moveOp = QTextCursor.MoveOperation.Start |
|
313 # move to start of document |
308 cursor.movePosition(moveOp) |
314 cursor.movePosition(moveOp) |
309 self.__textedit.setTextCursor(cursor) |
315 self.__textedit.setTextCursor(cursor) |
310 ok = self.__textedit.find(self.findtextCombo.currentText(), flags) |
316 ok = self.__textedit.find(self.findtextCombo.currentText(), flags) |
311 |
317 |
312 return ok |
318 return ok |
321 """ |
327 """ |
322 from PyQt5.QtWebEngineWidgets import QWebEnginePage |
328 from PyQt5.QtWebEngineWidgets import QWebEnginePage |
323 |
329 |
324 findFlags = QWebEnginePage.FindFlags() |
330 findFlags = QWebEnginePage.FindFlags() |
325 if self.caseCheckBox.isChecked(): |
331 if self.caseCheckBox.isChecked(): |
326 findFlags |= QWebEnginePage.FindCaseSensitively |
332 findFlags |= QWebEnginePage.FindFlag.FindCaseSensitively |
327 if backwards: |
333 if backwards: |
328 findFlags |= QWebEnginePage.FindBackward |
334 findFlags |= QWebEnginePage.FindFlag.FindBackward |
329 self.__textedit.findText(self.findtextCombo.currentText(), |
335 self.__textedit.findText(self.findtextCombo.currentText(), |
330 findFlags, self.__findNextPrevCallback) |
336 findFlags, self.__findNextPrevCallback) |
331 |
337 |
332 def __findNextPrevCallback(self, found): |
338 def __findNextPrevCallback(self, found): |
333 """ |
339 """ |
351 @param error flag indicating an error condition (boolean) |
357 @param error flag indicating an error condition (boolean) |
352 """ |
358 """ |
353 le = self.findtextCombo.lineEdit() |
359 le = self.findtextCombo.lineEdit() |
354 p = le.palette() |
360 p = le.palette() |
355 if error: |
361 if error: |
356 p.setBrush(QPalette.Base, QBrush(QColor("#FF6666"))) |
362 p.setBrush(QPalette.ColorRole.Base, QBrush(QColor("#FF6666"))) |
357 p.setBrush(QPalette.Text, QBrush(QColor("#000000"))) |
363 p.setBrush(QPalette.ColorRole.Text, QBrush(QColor("#000000"))) |
358 else: |
364 else: |
359 p.setBrush(QPalette.Base, self.__defaultBaseColor) |
365 p.setBrush(QPalette.ColorRole.Base, self.__defaultBaseColor) |
360 p.setBrush(QPalette.Text, self.__defaultTextColor) |
366 p.setBrush(QPalette.ColorRole.Text, self.__defaultTextColor) |
361 le.setPalette(p) |
367 le.setPalette(p) |
362 le.update() |
368 le.update() |