Helpviewer/HelpWebSearchWidget.py

changeset 6121
d3d64f3128b3
parent 6048
82ad8ec9548c
child 6175
330ffed830a4
diff -r 4c60a21ce6dd -r d3d64f3128b3 Helpviewer/HelpWebSearchWidget.py
--- a/Helpviewer/HelpWebSearchWidget.py	Wed Feb 07 18:57:46 2018 +0100
+++ b/Helpviewer/HelpWebSearchWidget.py	Wed Feb 07 20:14:09 2018 +0100
@@ -241,7 +241,8 @@
             engine = self.__openSearchManager.engine(engineName)
             action = OpenSearchEngineAction(engine, self.__enginesMenu)
             action.setData(engineName)
-            action.triggered.connect(self.__changeCurrentEngine)
+            action.triggered.connect(
+                lambda: self.__changeCurrentEngine(action))
             self.__enginesMenu.addAction(action)
             
             if self.__openSearchManager.currentEngineName() == engineName:
@@ -274,10 +275,11 @@
                     title = ct.title()
             
             action = self.__enginesMenu.addAction(
-                self.tr("Add '{0}'").format(title),
-                self.__addEngineFromUrl)
+                self.tr("Add '{0}'").format(title))
             action.setData(url)
             action.setIcon(ct.icon())
+            action.triggered.connect(
+                lambda: self.__addEngineFromUrl(action))
         
         self.__enginesMenu.addSeparator()
         self.__enginesMenu.addAction(self.__mw.searchEnginesAction())
@@ -286,26 +288,28 @@
             self.__enginesMenu.addAction(self.tr("Clear Recent Searches"),
                                          self.clear)
     
-    def __changeCurrentEngine(self):
+    def __changeCurrentEngine(self, action):
         """
         Private slot to handle the selection of a search engine.
+        
+        @param action reference to the action that triggered
+        @type QAction
         """
-        action = self.sender()
-        if action is not None:
-            name = action.data()
-            self.__openSearchManager.setCurrentEngineName(name)
+        name = action.data()
+        self.__openSearchManager.setCurrentEngineName(name)
     
-    def __addEngineFromUrl(self):
+    def __addEngineFromUrl(self, action):
         """
         Private slot to add a search engine given its URL.
+        
+        @param action reference to the action that triggered
+        @type QAction
         """
-        action = self.sender()
-        if action is not None:
-            url = action.data()
-            if not isinstance(url, QUrl):
-                return
-            
-            self.__openSearchManager.addEngine(url)
+        url = action.data()
+        if not isinstance(url, QUrl):
+            return
+        
+        self.__openSearchManager.addEngine(url)
     
     def __searchButtonClicked(self):
         """

eric ide

mercurial