src/eric7/PdfViewer/PdfSearchWidget.py

branch
pdf_viewer
changeset 9709
c89fc15ecf56
parent 9707
717f95e35ca8
child 9722
63135ab601e7
equal deleted inserted replaced
9708:8956a005f478 9709:c89fc15ecf56
305 305
306 self.__resultsWidget = PdfSearchResultsWidget(self) 306 self.__resultsWidget = PdfSearchResultsWidget(self)
307 self.__resultsWidget.setDocument(document) 307 self.__resultsWidget.setDocument(document)
308 self.__layout.addWidget(self.__resultsWidget) 308 self.__layout.addWidget(self.__resultsWidget)
309 309
310 self.__infoLabel = QLabel(self)
311 self.__infoLabel.setAlignment(Qt.AlignmentFlag.AlignCenter)
312 self.__layout.addWidget(self.__infoLabel)
313
310 self.setLayout(self.__layout) 314 self.setLayout(self.__layout)
311 315
312 self.__searchEdit.setEnabled(False) 316 self.__searchEdit.setEnabled(False)
313 self.__resultsWidget.setEnabled(False) 317 self.__resultsWidget.setEnabled(False)
314 self.__findPrevButton.setEnabled(False) 318 self.__findPrevButton.setEnabled(False)
328 ) 332 )
329 self.__findNextButton.clicked.connect(self.nextResult) 333 self.__findNextButton.clicked.connect(self.nextResult)
330 self.__findPrevButton.clicked.connect(self.previousResult) 334 self.__findPrevButton.clicked.connect(self.previousResult)
331 self.__resultsWidget.searchCleared.connect(self.searchCleared) 335 self.__resultsWidget.searchCleared.connect(self.searchCleared)
332 self.__resultsWidget.searchResult.connect(self.searchResult) 336 self.__resultsWidget.searchResult.connect(self.searchResult)
337 self.__resultsWidget.rowCountChanged.connect(self.__updateInfoLabel)
338 self.__resultsWidget.currentItemChanged.connect(self.__updateInfoLabel)
339
340 self.__updateInfoLabel()
333 341
334 @pyqtSlot(QPdfDocument.Status) 342 @pyqtSlot(QPdfDocument.Status)
335 def __handleDocumentStatus(self, status): 343 def __handleDocumentStatus(self, status):
336 """ 344 """
337 Private slot to handle a change of the document status. 345 Private slot to handle a change of the document status.
404 """ 412 """
405 Public slot to 'activate' a search. 413 Public slot to 'activate' a search.
406 """ 414 """
407 self.__searchEdit.setFocus(Qt.FocusReason.OtherFocusReason) 415 self.__searchEdit.setFocus(Qt.FocusReason.OtherFocusReason)
408 self.__searchEdit.selectAll() 416 self.__searchEdit.selectAll()
417
418 @pyqtSlot()
419 def __updateInfoLabel(self):
420 """
421 Private slot to update the data of the info label.
422 """
423 rowCount = self.__resultsWidget.rowCount()
424 if rowCount:
425 currentRow = self.__resultsWidget.currentRow()
426 if currentRow == -1: # no result selected yet
427 self.__infoLabel.setText(self.tr("%n Result(s)", "", rowCount))
428 else:
429 self.__infoLabel.setText(
430 self.tr("{0} of %n Results", "", rowCount).format(currentRow + 1)
431 )
432 else:
433 self.__infoLabel.setText(self.tr("No results"))

eric ide

mercurial