diff -r 4c60a21ce6dd -r d3d64f3128b3 WebBrowser/WebBrowserWebSearchWidget.py --- a/WebBrowser/WebBrowserWebSearchWidget.py Wed Feb 07 18:57:46 2018 +0100 +++ b/WebBrowser/WebBrowserWebSearchWidget.py Wed Feb 07 20:14:09 2018 +0100 @@ -248,7 +248,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: @@ -280,10 +281,11 @@ title = cb.title() action = self.__enginesMenu.addAction( - self.tr("Add '{0}'").format(title), - self.__addEngineFromUrl) + self.tr("Add '{0}'").format(title)) action.setData(url) action.setIcon(cb.icon()) + action.triggered.connect( + lambda: self.__addEngineFromUrl(action)) self.__enginesMenu.addSeparator() self.__enginesMenu.addAction(self.__mw.searchEnginesAction()) @@ -292,26 +294,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): """