eric6/WebBrowser/WebBrowserView.py

changeset 7356
d975331c5daa
parent 7271
2cac5b7abcce
child 7360
9190402e4505
diff -r c7146f7e06aa -r d975331c5daa eric6/WebBrowser/WebBrowserView.py
--- a/eric6/WebBrowser/WebBrowserView.py	Sun Dec 08 13:08:48 2019 +0100
+++ b/eric6/WebBrowser/WebBrowserView.py	Sat Dec 14 17:54:25 2019 +0100
@@ -55,6 +55,8 @@
         browsing event
     @signal safeBrowsingBad(threatType, threatMessages) emitted to indicate a
         malicious web site as determined by safe browsing
+    @signal showMessage(str) emitted to show a message in the main window
+        status bar
     """
     sourceChanged = pyqtSignal(QUrl)
     forwardAvailable = pyqtSignal(bool)
@@ -65,6 +67,7 @@
     faviconChanged = pyqtSignal()
     safeBrowsingAbort = pyqtSignal()
     safeBrowsingBad = pyqtSignal(str, str)
+    showMessage = pyqtSignal(str)
     
     ZoomLevels = [
         30, 40, 50, 67, 80, 90,
@@ -165,6 +168,12 @@
         except AttributeError:
             # pre Qt 5.12
             pass
+        try:
+            self.__page.findTextFinished.connect(
+                self.__findTextFinished)
+        except AttributeError:
+            # pre Qt 5.14
+            pass
     
     def __setRwhvqt(self):
         """
@@ -522,6 +531,18 @@
         else:
             self.findText(txt, findFlags, callback)
     
+    def __findTextFinished(self, result):
+        """
+        Private slot handling the findTextFinished signal of the web page.
+        
+        @param result reference to the QWebEngineFindTextResult object of the
+            last search
+        @type QWebEngineFindTextResult
+        """
+        self.showMessage.emit(self.tr("Match {0} of {1}").format(
+            result.activeMatch(), result.numberOfMatches())
+        )
+    
     def contextMenuEvent(self, evt):
         """
         Protected method called to create a context menu.

eric ide

mercurial