WebBrowser/WebBrowserView.py

branch
QtWebEngine
changeset 4818
9afce2f09ac0
parent 4801
71bdc520f640
child 4826
aa752e6e9eba
--- a/WebBrowser/WebBrowserView.py	Sun Mar 06 16:59:26 2016 +0100
+++ b/WebBrowser/WebBrowserView.py	Sun Mar 06 17:24:27 2016 +0100
@@ -808,11 +808,16 @@
             UI.PixmapCache.getIcon("mailSend.png"),
             self.tr("Send Text"),
             self.__sendLink).setData(self.selectedText())
-        # TODO: OpenSearch: add a search entry using the current engine
-        self.__searchMenu = menu.addMenu(self.tr("Search with..."))
+        
+        engineName = self.__mw.openSearchManager().currentEngineName()
+        if engineName:
+            menu.addAction(self.tr("Search with '{0}'").format(engineName), 
+                           self.__searchDefaultRequested)
         
         from .OpenSearch.OpenSearchEngineAction import \
             OpenSearchEngineAction
+        
+        self.__searchMenu = menu.addMenu(self.tr("Search with..."))
         engineNames = self.__mw.openSearchManager().allEnginesNames()
         for engineName in engineNames:
             engine = self.__mw.openSearchManager().engine(engineName)
@@ -1122,6 +1127,19 @@
         url = act.data()
         self.__mw.requestVirusTotalScan(url)
     
+    def __searchDefaultRequested(self):
+        """
+        Private slot to search for some text with the current search engine.
+        """
+        searchText = self.selectedText()
+        
+        if not searchText:
+            return
+        
+        engine = self.__mw.openSearchManager().currentEngine()
+        if engine:
+            self.search.emit(engine.searchUrl(searchText))
+    
     def __searchRequested(self, act):
         """
         Private slot to search for some text with a selected search engine.
@@ -1136,6 +1154,9 @@
         engineName = act.data()
         if engineName:
             engine = self.__mw.openSearchManager().engine(engineName)
+        else:
+            engine = self.__mw.openSearchManager().currentEngine()
+        if engine:
             self.search.emit(engine.searchUrl(searchText))
     
     def __addSearchEngine(self):

eric ide

mercurial