src/eric7/WebBrowser/WebBrowserWebSearchWidget.py

branch
eric7
changeset 9482
a2bc06a54d9d
parent 9473
3f23dbf37dbe
child 9653
e67609152c5e
equal deleted inserted replaced
9481:0b936ff1bbb9 9482:a2bc06a54d9d
13 from PyQt6.QtWidgets import QCompleter, QMenu 13 from PyQt6.QtWidgets import QCompleter, QMenu
14 14
15 from eric7 import Preferences 15 from eric7 import Preferences
16 from eric7.EricGui import EricPixmapCache 16 from eric7.EricGui import EricPixmapCache
17 from eric7.EricWidgets.EricLineEdit import EricClearableLineEdit, EricLineEditSide 17 from eric7.EricWidgets.EricLineEdit import EricClearableLineEdit, EricLineEditSide
18 from eric7.EricWidgets.EricLineEditButton import EricLineEditButton
19 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow
18 20
19 from .WebBrowserPage import WebBrowserPage 21 from .WebBrowserPage import WebBrowserPage
20 22
21 23
22 class WebBrowserWebSearchWidget(EricClearableLineEdit): 24 class WebBrowserWebSearchWidget(EricClearableLineEdit):
35 @param mainWindow reference to the browser main window 37 @param mainWindow reference to the browser main window
36 @type WebBrowserWindow 38 @type WebBrowserWindow
37 @param parent reference to the parent widget 39 @param parent reference to the parent widget
38 @type QWidget 40 @type QWidget
39 """ 41 """
42 from .OpenSearch.OpenSearchManager import OpenSearchManager
43
40 super().__init__(parent) 44 super().__init__(parent)
41
42 from eric7.EricWidgets.EricLineEditButton import EricLineEditButton
43
44 from .OpenSearch.OpenSearchManager import OpenSearchManager
45 45
46 self.__mw = mainWindow 46 self.__mw = mainWindow
47 47
48 self.__openSearchManager = OpenSearchManager(self) 48 self.__openSearchManager = OpenSearchManager(self)
49 self.__openSearchManager.currentEngineChanged.connect( 49 self.__openSearchManager.currentEngineChanged.connect(
96 Private slot to perform the web search. 96 Private slot to perform the web search.
97 """ 97 """
98 searchText = self.text() 98 searchText = self.text()
99 if not searchText: 99 if not searchText:
100 return 100 return
101
102 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow
103 101
104 if WebBrowserWindow.isPrivate(): 102 if WebBrowserWindow.isPrivate():
105 return 103 return
106 104
107 if searchText in self.__recentSearches: 105 if searchText in self.__recentSearches:
242 240
243 def __showEnginesMenu(self): 241 def __showEnginesMenu(self):
244 """ 242 """
245 Private slot to handle the display of the engines menu. 243 Private slot to handle the display of the engines menu.
246 """ 244 """
245 from .OpenSearch.OpenSearchEngineAction import OpenSearchEngineAction
246 from .Tools import Scripts
247
247 self.__enginesMenu.clear() 248 self.__enginesMenu.clear()
248
249 from .OpenSearch.OpenSearchEngineAction import OpenSearchEngineAction
250 249
251 engineNames = self.__openSearchManager.allEnginesNames() 250 engineNames = self.__openSearchManager.allEnginesNames()
252 for engineName in engineNames: 251 for engineName in engineNames:
253 engine = self.__openSearchManager.engine(engineName) 252 engine = self.__openSearchManager.engine(engineName)
254 action = OpenSearchEngineAction(engine, self.__enginesMenu) 253 action = OpenSearchEngineAction(engine, self.__enginesMenu)
258 if self.__openSearchManager.currentEngineName() == engineName: 257 if self.__openSearchManager.currentEngineName() == engineName:
259 action.setCheckable(True) 258 action.setCheckable(True)
260 action.setChecked(True) 259 action.setChecked(True)
261 260
262 cb = self.__mw.currentBrowser() 261 cb = self.__mw.currentBrowser()
263 from .Tools import Scripts
264
265 script = Scripts.getOpenSearchLinks() 262 script = Scripts.getOpenSearchLinks()
266 cb.page().runJavaScript( 263 cb.page().runJavaScript(
267 script, WebBrowserPage.SafeJsWorld, self.__showEnginesMenuCallback 264 script, WebBrowserPage.SafeJsWorld, self.__showEnginesMenuCallback
268 ) 265 )
269 266

eric ide

mercurial