QScintilla/SearchReplaceWidget.py

changeset 3030
4a0a82ddd9d2
parent 3020
542e97d4ecb3
child 3034
7ce719013078
child 3058
0a02c433f52d
equal deleted inserted replaced
3029:4055a15ce0f2 3030:4a0a82ddd9d2
137 self.__findByReturnPressed) 137 self.__findByReturnPressed)
138 if replace: 138 if replace:
139 self.ui.replacetextCombo.lineEdit().returnPressed.connect( 139 self.ui.replacetextCombo.lineEdit().returnPressed.connect(
140 self.on_replaceButton_clicked) 140 self.on_replaceButton_clicked)
141 141
142 self.findNextAct = E5Action(self.trUtf8('Find Next'), 142 self.findNextAct = E5Action(
143 self.trUtf8('Find Next'), 143 self.trUtf8('Find Next'),
144 0, 0, self, 'search_widget_find_next') 144 self.trUtf8('Find Next'),
145 0, 0, self, 'search_widget_find_next')
145 self.findNextAct.triggered[()].connect(self.on_findNextButton_clicked) 146 self.findNextAct.triggered[()].connect(self.on_findNextButton_clicked)
146 self.findNextAct.setEnabled(False) 147 self.findNextAct.setEnabled(False)
147 self.ui.findtextCombo.addAction(self.findNextAct) 148 self.ui.findtextCombo.addAction(self.findNextAct)
148 149
149 self.findPrevAct = E5Action(self.trUtf8('Find Prev'), 150 self.findPrevAct = E5Action(
150 self.trUtf8('Find Prev'), 151 self.trUtf8('Find Prev'),
151 0, 0, self, 'search_widget_find_prev') 152 self.trUtf8('Find Prev'),
153 0, 0, self, 'search_widget_find_prev')
152 self.findPrevAct.triggered[()].connect(self.on_findPrevButton_clicked) 154 self.findPrevAct.triggered[()].connect(self.on_findPrevButton_clicked)
153 self.findPrevAct.setEnabled(False) 155 self.findPrevAct.setEnabled(False)
154 self.ui.findtextCombo.addAction(self.findPrevAct) 156 self.ui.findtextCombo.addAction(self.findPrevAct)
155 157
156 self.havefound = False 158 self.havefound = False
305 indexTo = -1 307 indexTo = -1
306 if self.ui.selectionCheckBox.isChecked(): 308 if self.ui.selectionCheckBox.isChecked():
307 lineFrom, indexFrom, lineTo, indexTo = self.__selectionBoundary() 309 lineFrom, indexFrom, lineTo, indexTo = self.__selectionBoundary()
308 310
309 aw.clearSearchIndicators() 311 aw.clearSearchIndicators()
310 ok = aw.findFirstTarget(txt, 312 ok = aw.findFirstTarget(
311 self.ui.regexpCheckBox.isChecked(), 313 txt,
312 self.ui.caseCheckBox.isChecked(), 314 self.ui.regexpCheckBox.isChecked(),
313 self.ui.wordCheckBox.isChecked(), 315 self.ui.caseCheckBox.isChecked(),
314 lineFrom, indexFrom, lineTo, indexTo) 316 self.ui.wordCheckBox.isChecked(),
317 lineFrom, indexFrom, lineTo, indexTo)
315 while ok: 318 while ok:
316 tgtPos, tgtLen = aw.getFoundTarget() 319 tgtPos, tgtLen = aw.getFoundTarget()
317 if tgtLen == 0: 320 if tgtLen == 0:
318 break 321 break
319 if len(self.__selections) > 1: 322 if len(self.__selections) > 1:
398 else: 401 else:
399 line = lineTo 402 line = lineTo
400 index = indexTo 403 index = indexTo
401 404
402 if ok: 405 if ok:
403 ok = aw.findFirst(txt, 406 ok = aw.findFirst(
407 txt,
404 self.ui.regexpCheckBox.isChecked(), 408 self.ui.regexpCheckBox.isChecked(),
405 self.ui.caseCheckBox.isChecked(), 409 self.ui.caseCheckBox.isChecked(),
406 self.ui.wordCheckBox.isChecked(), 410 self.ui.wordCheckBox.isChecked(),
407 self.ui.wrapCheckBox.isChecked(), 411 self.ui.wrapCheckBox.isChecked(),
408 not backwards, 412 not backwards,
448 else: 452 else:
449 line, index = self.__selections[ind][:2] 453 line, index = self.__selections[ind][:2]
450 break 454 break
451 else: 455 else:
452 break 456 break
453 ok = aw.findFirst(txt, 457 ok = aw.findFirst(
458 txt,
454 self.ui.regexpCheckBox.isChecked(), 459 self.ui.regexpCheckBox.isChecked(),
455 self.ui.caseCheckBox.isChecked(), 460 self.ui.caseCheckBox.isChecked(),
456 self.ui.wordCheckBox.isChecked(), 461 self.ui.wordCheckBox.isChecked(),
457 self.ui.wrapCheckBox.isChecked(), 462 self.ui.wrapCheckBox.isChecked(),
458 not backwards, 463 not backwards,
473 # try it again 478 # try it again
474 if backwards: 479 if backwards:
475 line, index = boundary[2:] 480 line, index = boundary[2:]
476 else: 481 else:
477 line, index = boundary[:2] 482 line, index = boundary[:2]
478 ok = aw.findFirst(txt, 483 ok = aw.findFirst(
484 txt,
479 self.ui.regexpCheckBox.isChecked(), 485 self.ui.regexpCheckBox.isChecked(),
480 self.ui.caseCheckBox.isChecked(), 486 self.ui.caseCheckBox.isChecked(),
481 self.ui.wordCheckBox.isChecked(), 487 self.ui.wordCheckBox.isChecked(),
482 self.ui.wrapCheckBox.isChecked(), 488 self.ui.wrapCheckBox.isChecked(),
483 not backwards, 489 not backwards,
493 ok = True 499 ok = True
494 break 500 break
495 else: 501 else:
496 ok = False 502 ok = False
497 elif (lineFrom == boundary[0] and \ 503 elif (lineFrom == boundary[0] and \
498 indexFrom >= boundary[1]) or \ 504 indexFrom >= boundary[1]) or \
499 (lineFrom > boundary[0] and \ 505 (lineFrom > boundary[0] and \
500 lineFrom < boundary[2]) or \ 506 lineFrom < boundary[2]) or \
501 (lineFrom == boundary[2] \ 507 (lineFrom == boundary[2] \
502 and indexFrom <= boundary[3]): 508 and indexFrom <= boundary[3]):
503 ok = True 509 ok = True
504 else: 510 else:
505 ok = False 511 ok = False
506 else: 512 else:
507 ok = False 513 ok = False
668 if self.ui.selectionCheckBox.isChecked(): 674 if self.ui.selectionCheckBox.isChecked():
669 line, index = boundary[:2] 675 line, index = boundary[:2]
670 else: 676 else:
671 line = 0 677 line = 0
672 index = 0 678 index = 0
673 ok = aw.findFirst(ftxt, 679 ok = aw.findFirst(
674 self.ui.regexpCheckBox.isChecked(), 680 ftxt,
675 self.ui.caseCheckBox.isChecked(), 681 self.ui.regexpCheckBox.isChecked(),
676 self.ui.wordCheckBox.isChecked(), 682 self.ui.caseCheckBox.isChecked(),
677 False, True, line, index) 683 self.ui.wordCheckBox.isChecked(),
684 False, True, line, index)
678 685
679 if ok and self.ui.selectionCheckBox.isChecked(): 686 if ok and self.ui.selectionCheckBox.isChecked():
680 lineFrom, indexFrom, lineTo, indexTo = aw.getSelection() 687 lineFrom, indexFrom, lineTo, indexTo = aw.getSelection()
681 if len(self.__selections) > 1: 688 if len(self.__selections) > 1:
682 for sel in self.__selections: 689 for sel in self.__selections:
706 else: 713 else:
707 line, index = self.__selections[ind][:2] 714 line, index = self.__selections[ind][:2]
708 break 715 break
709 else: 716 else:
710 break 717 break
711 ok = aw.findFirst(ftxt, 718 ok = aw.findFirst(
712 self.ui.regexpCheckBox.isChecked(), 719 ftxt,
713 self.ui.caseCheckBox.isChecked(), 720 self.ui.regexpCheckBox.isChecked(),
714 self.ui.wordCheckBox.isChecked(), 721 self.ui.caseCheckBox.isChecked(),
715 False, True, line, index) 722 self.ui.wordCheckBox.isChecked(),
723 False, True, line, index)
716 if ok: 724 if ok:
717 lineFrom, indexFrom, lineTo, indexTo = \ 725 lineFrom, indexFrom, lineTo, indexTo = \
718 aw.getSelection() 726 aw.getSelection()
719 if lineFrom < boundary[0] or \ 727 if lineFrom < boundary[0] or \
720 lineFrom > boundary[2] or \ 728 lineFrom > boundary[2] or \

eric ide

mercurial