WebBrowser/WebBrowserWebSearchWidget.py

changeset 6174
bb2989d750ce
parent 6172
f6d76bf157b3
child 6645
ad476851d7e0
equal deleted inserted replaced
6173:cb1488b062a9 6174:bb2989d750ce
53 self.__openSearchManager.currentEngineChanged.connect( 53 self.__openSearchManager.currentEngineChanged.connect(
54 self.__currentEngineChanged) 54 self.__currentEngineChanged)
55 self.__currentEngine = "" 55 self.__currentEngine = ""
56 56
57 self.__enginesMenu = QMenu(self) 57 self.__enginesMenu = QMenu(self)
58 self.__enginesMenu.triggered.connect(self.__changeCurrentEngine) 58 self.__enginesMenu.triggered.connect(
59 self.__handleEnginesMenuActionTriggered)
59 60
60 self.__engineButton = E5LineEditButton(self) 61 self.__engineButton = E5LineEditButton(self)
61 self.__engineButton.setMenu(self.__enginesMenu) 62 self.__engineButton.setMenu(self.__enginesMenu)
62 self.addWidget(self.__engineButton, E5LineEdit.LeftSide) 63 self.addWidget(self.__engineButton, E5LineEdit.LeftSide)
63 64
247 engineNames = self.__openSearchManager.allEnginesNames() 248 engineNames = self.__openSearchManager.allEnginesNames()
248 for engineName in engineNames: 249 for engineName in engineNames:
249 engine = self.__openSearchManager.engine(engineName) 250 engine = self.__openSearchManager.engine(engineName)
250 action = OpenSearchEngineAction(engine, self.__enginesMenu) 251 action = OpenSearchEngineAction(engine, self.__enginesMenu)
251 action.setData(engineName) 252 action.setData(engineName)
252 ## action.triggered.connect(
253 ## lambda: self.__changeCurrentEngine(action))
254 self.__enginesMenu.addAction(action) 253 self.__enginesMenu.addAction(action)
255 254
256 if self.__openSearchManager.currentEngineName() == engineName: 255 if self.__openSearchManager.currentEngineName() == engineName:
257 action.setCheckable(True) 256 action.setCheckable(True)
258 action.setChecked(True) 257 action.setChecked(True)
283 282
284 action = self.__enginesMenu.addAction( 283 action = self.__enginesMenu.addAction(
285 self.tr("Add '{0}'").format(title)) 284 self.tr("Add '{0}'").format(title))
286 action.setData(url) 285 action.setData(url)
287 action.setIcon(cb.icon()) 286 action.setIcon(cb.icon())
288 action.triggered.connect(
289 lambda: self.__addEngineFromUrl(action))
290 287
291 self.__enginesMenu.addSeparator() 288 self.__enginesMenu.addSeparator()
292 self.__enginesMenu.addAction(self.__mw.searchEnginesAction()) 289 self.__enginesMenu.addAction(self.__mw.searchEnginesAction())
293 290
294 if self.__recentSearches: 291 if self.__recentSearches:
295 self.__enginesMenu.addAction(self.tr("Clear Recent Searches"), 292 act = self.__enginesMenu.addAction(
296 self.clear) 293 self.tr("Clear Recent Searches"))
297 294 act.setData("@@CLEAR@@")
298 def __changeCurrentEngine(self, action): 295
299 """ 296 def __handleEnginesMenuActionTriggered(self, action):
300 Private slot to handle the selection of a search engine. 297 """
298 Private slot to handle an action of the menu being triggered.
301 299
302 @param action reference to the action that triggered 300 @param action reference to the action that triggered
303 @type QAction 301 @type QAction
304 """ 302 """
305 name = action.data() 303 actData = action.data()
306 self.__openSearchManager.setCurrentEngineName(name) 304 if isinstance(actData, QUrl):
307 305 # add search engine
308 def __addEngineFromUrl(self, action): 306 self.__openSearchManager.addEngine(actData)
309 """ 307 elif isinstance(actData, str):
310 Private slot to add a search engine given its URL. 308 # engine name or special action
311 309 if actData == "@@CLEAR@@":
312 @param action reference to the action that triggered 310 self.clear()
313 @type QAction 311 else:
314 """ 312 self.__openSearchManager.setCurrentEngineName(actData)
315 url = action.data()
316 if not isinstance(url, QUrl):
317 return
318
319 self.__openSearchManager.addEngine(url)
320 313
321 def __searchButtonClicked(self): 314 def __searchButtonClicked(self):
322 """ 315 """
323 Private slot to show the search menu via the search button. 316 Private slot to show the search menu via the search button.
324 """ 317 """

eric ide

mercurial