Helpviewer/HelpWindow.py

changeset 2400
c1726b754f96
parent 2361
fe8bccb78a8d
child 2411
aec0a8a6e548
equal deleted inserted replaced
2397:671d0d55e5c8 2400:c1726b754f96
17 QHBoxLayout, QProgressBar, QAction, QIcon 17 QHBoxLayout, QProgressBar, QAction, QIcon
18 from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest 18 from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest
19 from PyQt4.QtWebKit import QWebSettings, QWebDatabase, QWebSecurityOrigin, QWebPage 19 from PyQt4.QtWebKit import QWebSettings, QWebDatabase, QWebSecurityOrigin, QWebPage
20 from PyQt4.QtHelp import QHelpEngine, QHelpEngineCore, QHelpSearchQuery 20 from PyQt4.QtHelp import QHelpEngine, QHelpEngineCore, QHelpSearchQuery
21 21
22 from .SearchWidget import SearchWidget 22 from .Network.NetworkAccessManager import SSL_AVAILABLE
23 from .HelpTocWidget import HelpTocWidget
24 from .HelpIndexWidget import HelpIndexWidget
25 from .HelpSearchWidget import HelpSearchWidget
26 from .HelpTopicDialog import HelpTopicDialog
27 from .QtHelpDocumentationDialog import QtHelpDocumentationDialog
28 from .QtHelpFiltersDialog import QtHelpFiltersDialog
29 from .HelpDocsInstaller import HelpDocsInstaller
30 from .HelpWebSearchWidget import HelpWebSearchWidget
31 from .HelpClearPrivateDataDialog import HelpClearPrivateDataDialog
32 from .HelpLanguagesDialog import HelpLanguagesDialog
33 from .PageScreenDialog import PageScreenDialog
34 from .CookieJar.CookieJar import CookieJar
35 from .CookieJar.CookiesConfigurationDialog import CookiesConfigurationDialog
36 from .Bookmarks.BookmarksManager import BookmarksManager
37 from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
38 from .Bookmarks.BookmarksToolBar import BookmarksToolBar
39 from .Bookmarks.BookmarkNode import BookmarkNode
40 from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
41 from .Bookmarks.BookmarksDialog import BookmarksDialog
42 from .History.HistoryManager import HistoryManager
43 from .History.HistoryMenu import HistoryMenu
44 from .Passwords.PasswordManager import PasswordManager
45 from .Network.NetworkAccessManager import NetworkAccessManager, SSL_AVAILABLE
46 from .AdBlock.AdBlockManager import AdBlockManager
47 from .AdBlock.AdBlockIcon import AdBlockIcon
48 from .OfflineStorage.OfflineStorageConfigDialog import OfflineStorageConfigDialog
49 from .UserAgent.UserAgentMenu import UserAgentMenu
50 from .UserAgent.UserAgentManager import UserAgentManager
51 from .HelpBrowserWV import HelpBrowser
52 from .HelpTabWidget import HelpTabWidget
53 from .Download.DownloadManager import DownloadManager
54 from .VirusTotalApi import VirusTotalAPI
55 from .Feeds.FeedsManager import FeedsManager
56 from .SiteInfo.SiteInfoDialog import SiteInfoDialog
57 from .Sync.SyncManager import SyncManager
58 from .SpeedDial.SpeedDial import SpeedDial
59 from .PersonalInformationManager.PersonalInformationManager import \
60 PersonalInformationManager
61 from .GreaseMonkey.GreaseMonkeyManager import GreaseMonkeyManager
62 23
63 from .data import icons_rc # __IGNORE_WARNING__ 24 from .data import icons_rc # __IGNORE_WARNING__
64 from .data import html_rc # __IGNORE_WARNING__ 25 from .data import html_rc # __IGNORE_WARNING__
65 from .data import javascript_rc # __IGNORE_WARNING__ 26 from .data import javascript_rc # __IGNORE_WARNING__
66 27
68 from E5Gui import E5MessageBox, E5FileDialog 29 from E5Gui import E5MessageBox, E5FileDialog
69 from E5Gui.E5MainWindow import E5MainWindow 30 from E5Gui.E5MainWindow import E5MainWindow
70 from E5Gui.E5Application import e5App 31 from E5Gui.E5Application import e5App
71 from E5Gui.E5ZoomWidget import E5ZoomWidget 32 from E5Gui.E5ZoomWidget import E5ZoomWidget
72 33
73 from E5Network.E5NetworkMonitor import E5NetworkMonitor
74
75 import Preferences 34 import Preferences
76 from Preferences import Shortcuts 35 from Preferences import Shortcuts
77 from Preferences.ConfigurationDialog import ConfigurationDialog
78 36
79 import Utilities 37 import Utilities
80 38
81 import UI.PixmapCache 39 import UI.PixmapCache
82 import UI.Config 40 import UI.Config
83 from UI.Info import Version 41 from UI.Info import Version
84 from UI.NotificationWidget import NotificationWidget
85 42
86 43
87 class HelpWindow(E5MainWindow): 44 class HelpWindow(E5MainWindow):
88 """ 45 """
89 Class implementing the web browser main window. 46 Class implementing the web browser main window.
148 self.__eventKeyboardModifiers = Qt.NoModifier 105 self.__eventKeyboardModifiers = Qt.NoModifier
149 106
150 if self.initShortcutsOnly: 107 if self.initShortcutsOnly:
151 self.__initActions() 108 self.__initActions()
152 else: 109 else:
110 from .SearchWidget import SearchWidget
111 from .HelpTocWidget import HelpTocWidget
112 from .HelpIndexWidget import HelpIndexWidget
113 from .HelpSearchWidget import HelpSearchWidget
114 from .HelpBrowserWV import HelpBrowser
115 from .HelpTabWidget import HelpTabWidget
116 from .AdBlock.AdBlockIcon import AdBlockIcon
117 from .VirusTotalApi import VirusTotalAPI
118
153 if not self.fromEric: 119 if not self.fromEric:
154 self.setStyle(Preferences.getUI("Style"), Preferences.getUI("StyleSheet")) 120 self.setStyle(Preferences.getUI("Style"), Preferences.getUI("StyleSheet"))
155 121
156 self.__helpEngine = \ 122 self.__helpEngine = \
157 QHelpEngine(os.path.join(Utilities.getConfigDir(), 123 QHelpEngine(os.path.join(Utilities.getConfigDir(),
1404 menu.addAction(self.stopAct) 1370 menu.addAction(self.stopAct)
1405 menu.addAction(self.reloadAct) 1371 menu.addAction(self.reloadAct)
1406 menu.addSeparator() 1372 menu.addSeparator()
1407 menu.addAction(self.syncTocAct) 1373 menu.addAction(self.syncTocAct)
1408 1374
1375 from .History.HistoryMenu import HistoryMenu
1409 self.historyMenu = HistoryMenu(self, self.tabWidget) 1376 self.historyMenu = HistoryMenu(self, self.tabWidget)
1410 self.historyMenu.setTearOffEnabled(True) 1377 self.historyMenu.setTearOffEnabled(True)
1411 self.historyMenu.setTitle(self.trUtf8('H&istory')) 1378 self.historyMenu.setTitle(self.trUtf8('H&istory'))
1412 self.historyMenu.openUrl.connect(self.openUrl) 1379 self.historyMenu.openUrl.connect(self.openUrl)
1413 self.historyMenu.newUrl.connect(self.openUrlNewTab) 1380 self.historyMenu.newUrl.connect(self.openUrlNewTab)
1414 mb.addMenu(self.historyMenu) 1381 mb.addMenu(self.historyMenu)
1415 1382
1383 from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
1416 self.bookmarksMenu = BookmarksMenuBarMenu(self) 1384 self.bookmarksMenu = BookmarksMenuBarMenu(self)
1417 self.bookmarksMenu.setTearOffEnabled(True) 1385 self.bookmarksMenu.setTearOffEnabled(True)
1418 self.bookmarksMenu.setTitle(self.trUtf8('&Bookmarks')) 1386 self.bookmarksMenu.setTitle(self.trUtf8('&Bookmarks'))
1419 self.bookmarksMenu.openUrl.connect(self.openUrl) 1387 self.bookmarksMenu.openUrl.connect(self.openUrl)
1420 self.bookmarksMenu.newUrl.connect(self.openUrlNewTab) 1388 self.bookmarksMenu.newUrl.connect(self.openUrlNewTab)
1446 menu.addAction(self.certificatesAct) 1414 menu.addAction(self.certificatesAct)
1447 menu.addSeparator() 1415 menu.addSeparator()
1448 menu.addAction(self.adblockAct) 1416 menu.addAction(self.adblockAct)
1449 menu.addAction(self.flashblockAct) 1417 menu.addAction(self.flashblockAct)
1450 menu.addSeparator() 1418 menu.addSeparator()
1419
1420 from .UserAgent.UserAgentMenu import UserAgentMenu
1451 self.__userAgentMenu = UserAgentMenu(self.trUtf8("Global User Agent")) 1421 self.__userAgentMenu = UserAgentMenu(self.trUtf8("Global User Agent"))
1452 menu.addMenu(self.__userAgentMenu) 1422 menu.addMenu(self.__userAgentMenu)
1453 menu.addAction(self.userAgentManagerAct) 1423 menu.addAction(self.userAgentManagerAct)
1454 menu.addSeparator() 1424 menu.addSeparator()
1425
1455 menu.addAction(self.manageQtHelpDocsAct) 1426 menu.addAction(self.manageQtHelpDocsAct)
1456 menu.addAction(self.manageQtHelpFiltersAct) 1427 menu.addAction(self.manageQtHelpFiltersAct)
1457 menu.addAction(self.reindexDocumentationAct) 1428 menu.addAction(self.reindexDocumentationAct)
1458 menu.addSeparator() 1429 menu.addSeparator()
1459 menu.addAction(self.clearPrivateDataAct) 1430 menu.addAction(self.clearPrivateDataAct)
1575 gotb.addSeparator() 1546 gotb.addSeparator()
1576 1547
1577 self.__navigationSplitter = QSplitter(gotb) 1548 self.__navigationSplitter = QSplitter(gotb)
1578 self.__navigationSplitter.addWidget(self.tabWidget.stackedUrlBar()) 1549 self.__navigationSplitter.addWidget(self.tabWidget.stackedUrlBar())
1579 1550
1551 from .HelpWebSearchWidget import HelpWebSearchWidget
1580 self.searchEdit = HelpWebSearchWidget(self) 1552 self.searchEdit = HelpWebSearchWidget(self)
1581 sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) 1553 sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
1582 sizePolicy.setHorizontalStretch(2) 1554 sizePolicy.setHorizontalStretch(2)
1583 sizePolicy.setVerticalStretch(0) 1555 sizePolicy.setVerticalStretch(0)
1584 self.searchEdit.setSizePolicy(sizePolicy) 1556 self.searchEdit.setSizePolicy(sizePolicy)
1602 self.forwardMenu.triggered.connect(self.__navigationMenuActionTriggered) 1574 self.forwardMenu.triggered.connect(self.__navigationMenuActionTriggered)
1603 forwardButton = gotb.widgetForAction(self.forwardAct) 1575 forwardButton = gotb.widgetForAction(self.forwardAct)
1604 forwardButton.setMenu(self.forwardMenu) 1576 forwardButton.setMenu(self.forwardMenu)
1605 forwardButton.setPopupMode(QToolButton.MenuButtonPopup) 1577 forwardButton.setPopupMode(QToolButton.MenuButtonPopup)
1606 1578
1579 from .Bookmarks.BookmarksToolBar import BookmarksToolBar
1607 bookmarksModel = self.bookmarksManager().bookmarksModel() 1580 bookmarksModel = self.bookmarksManager().bookmarksModel()
1608 self.bookmarksToolBar = BookmarksToolBar(self, bookmarksModel, self) 1581 self.bookmarksToolBar = BookmarksToolBar(self, bookmarksModel, self)
1609 self.bookmarksToolBar.setObjectName("BookmarksToolBar") 1582 self.bookmarksToolBar.setObjectName("BookmarksToolBar")
1610 self.bookmarksToolBar.setIconSize(UI.Config.ToolBarIconSize) 1583 self.bookmarksToolBar.setIconSize(UI.Config.ToolBarIconSize)
1611 self.bookmarksToolBar.openUrl.connect(self.openUrl) 1584 self.bookmarksToolBar.openUrl.connect(self.openUrl)
1824 1797
1825 def __savePageScreen(self): 1798 def __savePageScreen(self):
1826 """ 1799 """
1827 Private slot to save the current page as a screen shot. 1800 Private slot to save the current page as a screen shot.
1828 """ 1801 """
1802 from .PageScreenDialog import PageScreenDialog
1829 self.__pageScreen = PageScreenDialog(self.currentBrowser()) 1803 self.__pageScreen = PageScreenDialog(self.currentBrowser())
1830 self.__pageScreen.show() 1804 self.__pageScreen.show()
1831 1805
1832 def __about(self): 1806 def __about(self):
1833 """ 1807 """
1880 description = "" 1854 description = ""
1881 meta = view.page().mainFrame().metaData() 1855 meta = view.page().mainFrame().metaData()
1882 if "description" in meta: 1856 if "description" in meta:
1883 description = meta["description"][0] 1857 description = meta["description"][0]
1884 1858
1859 from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
1885 dlg = AddBookmarkDialog() 1860 dlg = AddBookmarkDialog()
1886 dlg.setUrl(url) 1861 dlg.setUrl(url)
1887 dlg.setTitle(title) 1862 dlg.setTitle(title)
1888 dlg.setDescription(description) 1863 dlg.setDescription(description)
1889 menu = self.bookmarksManager().menu() 1864 menu = self.bookmarksManager().menu()
1893 1868
1894 def __addBookmarkFolder(self): 1869 def __addBookmarkFolder(self):
1895 """ 1870 """
1896 Private slot to add a new bookmarks folder. 1871 Private slot to add a new bookmarks folder.
1897 """ 1872 """
1873 from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
1898 dlg = AddBookmarkDialog() 1874 dlg = AddBookmarkDialog()
1899 menu = self.bookmarksManager().menu() 1875 menu = self.bookmarksManager().menu()
1900 idx = self.bookmarksManager().bookmarksModel().nodeIndex(menu) 1876 idx = self.bookmarksManager().bookmarksModel().nodeIndex(menu)
1901 dlg.setCurrentIndex(idx) 1877 dlg.setCurrentIndex(idx)
1902 dlg.setFolder(True) 1878 dlg.setFolder(True)
1904 1880
1905 def __showBookmarksDialog(self): 1881 def __showBookmarksDialog(self):
1906 """ 1882 """
1907 Private slot to show the bookmarks dialog. 1883 Private slot to show the bookmarks dialog.
1908 """ 1884 """
1885 from .Bookmarks.BookmarksDialog import BookmarksDialog
1909 self.__bookmarksDialog = BookmarksDialog(self) 1886 self.__bookmarksDialog = BookmarksDialog(self)
1910 self.__bookmarksDialog.setAttribute(Qt.WA_DeleteOnClose) 1887 self.__bookmarksDialog.setAttribute(Qt.WA_DeleteOnClose)
1911 self.__bookmarksDialog.openUrl.connect(self.openUrl) 1888 self.__bookmarksDialog.openUrl.connect(self.openUrl)
1912 self.__bookmarksDialog.newUrl.connect(self.openUrlNewTab) 1889 self.__bookmarksDialog.newUrl.connect(self.openUrlNewTab)
1913 self.__bookmarksDialog.show() 1890 self.__bookmarksDialog.show()
1914 1891
1915 def bookmarkAll(self): 1892 def bookmarkAll(self):
1916 """ 1893 """
1917 Public slot to bookmark all open tabs. 1894 Public slot to bookmark all open tabs.
1918 """ 1895 """
1896 from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
1919 dlg = AddBookmarkDialog() 1897 dlg = AddBookmarkDialog()
1920 dlg.setFolder(True) 1898 dlg.setFolder(True)
1921 dlg.setTitle(self.trUtf8("Saved Tabs")) 1899 dlg.setTitle(self.trUtf8("Saved Tabs"))
1922 dlg.exec_() 1900 dlg.exec_()
1923 1901
1924 folder = dlg.addedNode() 1902 folder = dlg.addedNode()
1925 if folder is None: 1903 if folder is None:
1926 return 1904 return
1927 1905
1906 from .Bookmarks.BookmarkNode import BookmarkNode
1928 for browser in self.tabWidget.browsers(): 1907 for browser in self.tabWidget.browsers():
1929 bookmark = BookmarkNode(BookmarkNode.Bookmark) 1908 bookmark = BookmarkNode(BookmarkNode.Bookmark)
1930 bookmark.url = bytes(browser.url().toEncoded()).decode() 1909 bookmark.url = bytes(browser.url().toEncoded()).decode()
1931 bookmark.title = browser.title() 1910 bookmark.title = browser.title()
1932 meta = browser.page().mainFrame().metaData() 1911 meta = browser.page().mainFrame().metaData()
2214 2193
2215 def __showPreferences(self): 2194 def __showPreferences(self):
2216 """ 2195 """
2217 Private slot to set the preferences. 2196 Private slot to set the preferences.
2218 """ 2197 """
2198 from Preferences.ConfigurationDialog import ConfigurationDialog
2219 dlg = ConfigurationDialog(self, 'Configuration', True, 2199 dlg = ConfigurationDialog(self, 'Configuration', True,
2220 fromEric=self.fromEric, 2200 fromEric=self.fromEric,
2221 displayMode=ConfigurationDialog.HelpBrowserMode) 2201 displayMode=ConfigurationDialog.HelpBrowserMode)
2222 dlg.preferencesChanged.connect(self.preferencesChanged) 2202 dlg.preferencesChanged.connect(self.preferencesChanged)
2223 dlg.masterPasswordChanged.connect(self.masterPasswordChanged) 2203 dlg.masterPasswordChanged.connect(self.masterPasswordChanged)
2266 Public slot to handle the change of the master password. 2246 Public slot to handle the change of the master password.
2267 2247
2268 @param oldPassword current master password (string) 2248 @param oldPassword current master password (string)
2269 @param newPassword new master password (string) 2249 @param newPassword new master password (string)
2270 """ 2250 """
2251 from Preferences.ConfigurationDialog import ConfigurationDialog
2271 self.passwordManager().masterPasswordChanged(oldPassword, newPassword) 2252 self.passwordManager().masterPasswordChanged(oldPassword, newPassword)
2272 if self.fromEric and isinstance(self.sender(), ConfigurationDialog): 2253 if self.fromEric and isinstance(self.sender(), ConfigurationDialog):
2273 # we were called from our local configuration dialog 2254 # we were called from our local configuration dialog
2274 Preferences.convertPasswords(oldPassword, newPassword) 2255 Preferences.convertPasswords(oldPassword, newPassword)
2275 Utilities.crypto.changeRememberedMaster(newPassword) 2256 Utilities.crypto.changeRememberedMaster(newPassword)
2276 2257
2277 def __showAcceptedLanguages(self): 2258 def __showAcceptedLanguages(self):
2278 """ 2259 """
2279 Private slot to configure the accepted languages for web pages. 2260 Private slot to configure the accepted languages for web pages.
2280 """ 2261 """
2262 from .HelpLanguagesDialog import HelpLanguagesDialog
2281 dlg = HelpLanguagesDialog(self) 2263 dlg = HelpLanguagesDialog(self)
2282 dlg.exec_() 2264 dlg.exec_()
2283 self.networkAccessManager().languagesChanged() 2265 self.networkAccessManager().languagesChanged()
2284 2266
2285 def __showCookiesConfiguration(self): 2267 def __showCookiesConfiguration(self):
2286 """ 2268 """
2287 Private slot to configure the cookies handling. 2269 Private slot to configure the cookies handling.
2288 """ 2270 """
2271 from .CookieJar.CookiesConfigurationDialog import CookiesConfigurationDialog
2289 dlg = CookiesConfigurationDialog(self) 2272 dlg = CookiesConfigurationDialog(self)
2290 dlg.exec_() 2273 dlg.exec_()
2291 2274
2292 def __showOfflineStorageConfiguration(self): 2275 def __showOfflineStorageConfiguration(self):
2293 """ 2276 """
2294 Private slot to configure the offline storage. 2277 Private slot to configure the offline storage.
2295 """ 2278 """
2279 from .OfflineStorage.OfflineStorageConfigDialog import OfflineStorageConfigDialog
2296 dlg = OfflineStorageConfigDialog(self) 2280 dlg = OfflineStorageConfigDialog(self)
2297 if dlg.exec_() == QDialog.Accepted: 2281 if dlg.exec_() == QDialog.Accepted:
2298 dlg.storeData() 2282 dlg.storeData()
2299 self.__initWebSettings() 2283 self.__initWebSettings()
2300 2284
2317 Class method to get a reference to the network access manager. 2301 Class method to get a reference to the network access manager.
2318 2302
2319 @return reference to the network access manager (NetworkAccessManager) 2303 @return reference to the network access manager (NetworkAccessManager)
2320 """ 2304 """
2321 if cls._networkAccessManager is None: 2305 if cls._networkAccessManager is None:
2306 from .Network.NetworkAccessManager import NetworkAccessManager
2307 from .CookieJar.CookieJar import CookieJar
2322 cls._networkAccessManager = \ 2308 cls._networkAccessManager = \
2323 NetworkAccessManager(cls.helpEngine()) 2309 NetworkAccessManager(cls.helpEngine())
2324 cls._cookieJar = CookieJar() 2310 cls._cookieJar = CookieJar()
2325 cls._networkAccessManager.setCookieJar(cls._cookieJar) 2311 cls._networkAccessManager.setCookieJar(cls._cookieJar)
2326 2312
2363 @param links dictionary with help topic as key (string) and 2349 @param links dictionary with help topic as key (string) and
2364 URL as value (QUrl) 2350 URL as value (QUrl)
2365 @param keyword keyword for the link set (string) 2351 @param keyword keyword for the link set (string)
2366 """ 2352 """
2367 if not self.__activating: 2353 if not self.__activating:
2354 from .HelpTopicDialog import HelpTopicDialog
2368 self.__activating = True 2355 self.__activating = True
2369 dlg = HelpTopicDialog(self, keyword, links) 2356 dlg = HelpTopicDialog(self, keyword, links)
2370 if dlg.exec_() == QDialog.Accepted: 2357 if dlg.exec_() == QDialog.Accepted:
2371 self.currentBrowser().setSource(dlg.link()) 2358 self.currentBrowser().setSource(dlg.link())
2372 self.__activating = False 2359 self.__activating = False
2459 2446
2460 def __manageQtHelpDocumentation(self): 2447 def __manageQtHelpDocumentation(self):
2461 """ 2448 """
2462 Private slot to manage the QtHelp documentation database. 2449 Private slot to manage the QtHelp documentation database.
2463 """ 2450 """
2451 from .QtHelpDocumentationDialog import QtHelpDocumentationDialog
2464 dlg = QtHelpDocumentationDialog(self.__helpEngine, self) 2452 dlg = QtHelpDocumentationDialog(self.__helpEngine, self)
2465 dlg.exec_() 2453 dlg.exec_()
2466 if dlg.hasChanges(): 2454 if dlg.hasChanges():
2467 for i in sorted(dlg.getTabsToClose(), reverse=True): 2455 for i in sorted(dlg.getTabsToClose(), reverse=True):
2468 self.tabWidget.closeBrowserAt(i) 2456 self.tabWidget.closeBrowserAt(i)
2478 2466
2479 def __manageQtHelpFilters(self): 2467 def __manageQtHelpFilters(self):
2480 """ 2468 """
2481 Private slot to manage the QtHelp filters. 2469 Private slot to manage the QtHelp filters.
2482 """ 2470 """
2471 from .QtHelpFiltersDialog import QtHelpFiltersDialog
2483 dlg = QtHelpFiltersDialog(self.__helpEngine, self) 2472 dlg = QtHelpFiltersDialog(self.__helpEngine, self)
2484 dlg.exec_() 2473 dlg.exec_()
2485 2474
2486 def __indexingStarted(self): 2475 def __indexingStarted(self):
2487 """ 2476 """
2540 def __lookForNewDocumentation(self): 2529 def __lookForNewDocumentation(self):
2541 """ 2530 """
2542 Private slot to look for new documentation to be loaded into the 2531 Private slot to look for new documentation to be loaded into the
2543 help database. 2532 help database.
2544 """ 2533 """
2534 from .HelpDocsInstaller import HelpDocsInstaller
2545 self.__helpInstaller = HelpDocsInstaller(self.__helpEngine.collectionFile()) 2535 self.__helpInstaller = HelpDocsInstaller(self.__helpEngine.collectionFile())
2546 self.__helpInstaller.errorMessage.connect(self.__showInstallationError) 2536 self.__helpInstaller.errorMessage.connect(self.__showInstallationError)
2547 self.__helpInstaller.docsInstalled.connect(self.__docsInstalled) 2537 self.__helpInstaller.docsInstalled.connect(self.__docsInstalled)
2548 2538
2549 self.statusBar().showMessage(self.trUtf8("Looking for Documentation...")) 2539 self.statusBar().showMessage(self.trUtf8("Looking for Documentation..."))
2650 2640
2651 def __clearPrivateData(self): 2641 def __clearPrivateData(self):
2652 """ 2642 """
2653 Private slot to clear the private data. 2643 Private slot to clear the private data.
2654 """ 2644 """
2645 from .HelpClearPrivateDataDialog import HelpClearPrivateDataDialog
2655 dlg = HelpClearPrivateDataDialog(self) 2646 dlg = HelpClearPrivateDataDialog(self)
2656 if dlg.exec_() == QDialog.Accepted: 2647 if dlg.exec_() == QDialog.Accepted:
2657 # browsing history, search history, favicons, disk cache, cookies, 2648 # browsing history, search history, favicons, disk cache, cookies,
2658 # passwords, web databases, downloads 2649 # passwords, web databases, downloads
2659 (history, searches, favicons, cache, cookies, 2650 (history, searches, favicons, cache, cookies,
2683 else: 2674 else:
2684 for securityOrigin in QWebSecurityOrigin.allOrigins(): 2675 for securityOrigin in QWebSecurityOrigin.allOrigins():
2685 for database in securityOrigin.databases(): 2676 for database in securityOrigin.databases():
2686 QWebDatabase.removeDatabase(database) 2677 QWebDatabase.removeDatabase(database)
2687 if flashCookies: 2678 if flashCookies:
2679 from .HelpLanguagesDialog import HelpLanguagesDialog
2688 languages = Preferences.toList( 2680 languages = Preferences.toList(
2689 Preferences.Prefs.settings.value("Help/AcceptLanguages", 2681 Preferences.Prefs.settings.value("Help/AcceptLanguages",
2690 HelpLanguagesDialog.defaultAcceptLanguages())) 2682 HelpLanguagesDialog.defaultAcceptLanguages()))
2691 if languages: 2683 if languages:
2692 language = languages[0] 2684 language = languages[0]
2757 2749
2758 def __showNetworkMonitor(self): 2750 def __showNetworkMonitor(self):
2759 """ 2751 """
2760 Private slot to show the network monitor dialog. 2752 Private slot to show the network monitor dialog.
2761 """ 2753 """
2754 from E5Network.E5NetworkMonitor import E5NetworkMonitor
2762 monitor = E5NetworkMonitor.instance(self.networkAccessManager()) 2755 monitor = E5NetworkMonitor.instance(self.networkAccessManager())
2763 monitor.show() 2756 monitor.show()
2764 2757
2765 def __showDownloadsWindow(self): 2758 def __showDownloadsWindow(self):
2766 """ 2759 """
2770 2763
2771 def __closeNetworkMonitor(self): 2764 def __closeNetworkMonitor(self):
2772 """ 2765 """
2773 Private slot to close the network monitor dialog. 2766 Private slot to close the network monitor dialog.
2774 """ 2767 """
2768 from E5Network.E5NetworkMonitor import E5NetworkMonitor
2775 E5NetworkMonitor.closeMonitor() 2769 E5NetworkMonitor.closeMonitor()
2776 2770
2777 def __showPageSource(self): 2771 def __showPageSource(self):
2778 """ 2772 """
2779 Private slot to show the source of the current page in an editor. 2773 Private slot to show the source of the current page in an editor.
2842 Class method to get a reference to the bookmarks manager. 2836 Class method to get a reference to the bookmarks manager.
2843 2837
2844 @return reference to the bookmarks manager (BookmarksManager) 2838 @return reference to the bookmarks manager (BookmarksManager)
2845 """ 2839 """
2846 if cls._bookmarksManager is None: 2840 if cls._bookmarksManager is None:
2841 from .Bookmarks.BookmarksManager import BookmarksManager
2847 cls._bookmarksManager = BookmarksManager() 2842 cls._bookmarksManager = BookmarksManager()
2848 2843
2849 return cls._bookmarksManager 2844 return cls._bookmarksManager
2850 2845
2851 def openUrl(self, url, title): 2846 def openUrl(self, url, title):
2876 Class method to get a reference to the history manager. 2871 Class method to get a reference to the history manager.
2877 2872
2878 @return reference to the history manager (HistoryManager) 2873 @return reference to the history manager (HistoryManager)
2879 """ 2874 """
2880 if cls._historyManager is None: 2875 if cls._historyManager is None:
2876 from .History.HistoryManager import HistoryManager
2881 cls._historyManager = HistoryManager() 2877 cls._historyManager = HistoryManager()
2882 2878
2883 return cls._historyManager 2879 return cls._historyManager
2884 2880
2885 @classmethod 2881 @classmethod
2888 Class method to get a reference to the password manager. 2884 Class method to get a reference to the password manager.
2889 2885
2890 @return reference to the password manager (PasswordManager) 2886 @return reference to the password manager (PasswordManager)
2891 """ 2887 """
2892 if cls._passwordManager is None: 2888 if cls._passwordManager is None:
2889 from .Passwords.PasswordManager import PasswordManager
2893 cls._passwordManager = PasswordManager() 2890 cls._passwordManager = PasswordManager()
2894 2891
2895 return cls._passwordManager 2892 return cls._passwordManager
2896 2893
2897 @classmethod 2894 @classmethod
2900 Class method to get a reference to the AdBlock manager. 2897 Class method to get a reference to the AdBlock manager.
2901 2898
2902 @return reference to the AdBlock manager (AdBlockManager) 2899 @return reference to the AdBlock manager (AdBlockManager)
2903 """ 2900 """
2904 if cls._adblockManager is None: 2901 if cls._adblockManager is None:
2902 from .AdBlock.AdBlockManager import AdBlockManager
2905 cls._adblockManager = AdBlockManager() 2903 cls._adblockManager = AdBlockManager()
2906 2904
2907 return cls._adblockManager 2905 return cls._adblockManager
2908 2906
2909 def adBlockIcon(self): 2907 def adBlockIcon(self):
2920 Class method to get a reference to the download manager. 2918 Class method to get a reference to the download manager.
2921 2919
2922 @return reference to the password manager (DownloadManager) 2920 @return reference to the password manager (DownloadManager)
2923 """ 2921 """
2924 if cls._downloadManager is None: 2922 if cls._downloadManager is None:
2923 from .Download.DownloadManager import DownloadManager
2925 cls._downloadManager = DownloadManager() 2924 cls._downloadManager = DownloadManager()
2926 2925
2927 return cls._downloadManager 2926 return cls._downloadManager
2928 2927
2929 @classmethod 2928 @classmethod
2932 Class method to get a reference to the personal information manager. 2931 Class method to get a reference to the personal information manager.
2933 2932
2934 @return reference to the personal information manager (PersonalInformationManager) 2933 @return reference to the personal information manager (PersonalInformationManager)
2935 """ 2934 """
2936 if cls._personalInformationManager is None: 2935 if cls._personalInformationManager is None:
2936 from .PersonalInformationManager.PersonalInformationManager import \
2937 PersonalInformationManager
2937 cls._personalInformationManager = PersonalInformationManager() 2938 cls._personalInformationManager = PersonalInformationManager()
2938 2939
2939 return cls._personalInformationManager 2940 return cls._personalInformationManager
2940 2941
2941 @classmethod 2942 @classmethod
2944 Class method to get a reference to the GreaseMonkey manager. 2945 Class method to get a reference to the GreaseMonkey manager.
2945 2946
2946 @return reference to the GreaseMonkey manager (GreaseMonkeyManager) 2947 @return reference to the GreaseMonkey manager (GreaseMonkeyManager)
2947 """ 2948 """
2948 if cls._greaseMonkeyManager is None: 2949 if cls._greaseMonkeyManager is None:
2950 from .GreaseMonkey.GreaseMonkeyManager import GreaseMonkeyManager
2949 cls._greaseMonkeyManager = GreaseMonkeyManager() 2951 cls._greaseMonkeyManager = GreaseMonkeyManager()
2950 2952
2951 return cls._greaseMonkeyManager 2953 return cls._greaseMonkeyManager
2952 2954
2953 @classmethod 2955 @classmethod
3099 Class method to get a reference to the RSS feeds manager. 3101 Class method to get a reference to the RSS feeds manager.
3100 3102
3101 @return reference to the RSS feeds manager (FeedsManager) 3103 @return reference to the RSS feeds manager (FeedsManager)
3102 """ 3104 """
3103 if cls._feedsManager is None: 3105 if cls._feedsManager is None:
3106 from .Feeds.FeedsManager import FeedsManager
3104 cls._feedsManager = FeedsManager() 3107 cls._feedsManager = FeedsManager()
3105 3108
3106 return cls._feedsManager 3109 return cls._feedsManager
3107 3110
3108 def __showFeedsManager(self): 3111 def __showFeedsManager(self):
3126 3129
3127 def __showSiteinfoDialog(self): 3130 def __showSiteinfoDialog(self):
3128 """ 3131 """
3129 Private slot to show the site info dialog. 3132 Private slot to show the site info dialog.
3130 """ 3133 """
3134 from .SiteInfo.SiteInfoDialog import SiteInfoDialog
3131 self.__siteinfoDialog = SiteInfoDialog(self.currentBrowser(), self) 3135 self.__siteinfoDialog = SiteInfoDialog(self.currentBrowser(), self)
3132 self.__siteinfoDialog.setAttribute(Qt.WA_DeleteOnClose) 3136 self.__siteinfoDialog.setAttribute(Qt.WA_DeleteOnClose)
3133 self.__siteinfoDialog.show() 3137 self.__siteinfoDialog.show()
3134 3138
3135 @classmethod 3139 @classmethod
3138 Class method to get a reference to the user agents manager. 3142 Class method to get a reference to the user agents manager.
3139 3143
3140 @return reference to the user agents manager (UserAgentManager) 3144 @return reference to the user agents manager (UserAgentManager)
3141 """ 3145 """
3142 if cls._userAgentsManager is None: 3146 if cls._userAgentsManager is None:
3147 from .UserAgent.UserAgentManager import UserAgentManager
3143 cls._userAgentsManager = UserAgentManager() 3148 cls._userAgentsManager = UserAgentManager()
3144 3149
3145 return cls._userAgentsManager 3150 return cls._userAgentsManager
3146 3151
3147 def __showUserAgentsDialog(self): 3152 def __showUserAgentsDialog(self):
3159 Class method to get a reference to the data synchronization manager. 3164 Class method to get a reference to the data synchronization manager.
3160 3165
3161 @return reference to the data synchronization manager (SyncManager) 3166 @return reference to the data synchronization manager (SyncManager)
3162 """ 3167 """
3163 if cls._syncManager is None: 3168 if cls._syncManager is None:
3169 from .Sync.SyncManager import SyncManager
3164 cls._syncManager = SyncManager() 3170 cls._syncManager = SyncManager()
3165 3171
3166 return cls._syncManager 3172 return cls._syncManager
3167 3173
3168 def __showSyncDialog(self): 3174 def __showSyncDialog(self):
3177 Class methdo to get a reference to the speed dial. 3183 Class methdo to get a reference to the speed dial.
3178 3184
3179 @return reference to the speed dial (SpeedDial) 3185 @return reference to the speed dial (SpeedDial)
3180 """ 3186 """
3181 if cls._speedDial is None: 3187 if cls._speedDial is None:
3188 from .SpeedDial.SpeedDial import SpeedDial
3182 cls._speedDial = SpeedDial() 3189 cls._speedDial = SpeedDial()
3183 3190
3184 return cls._speedDial 3191 return cls._speedDial
3185 3192
3186 def keyPressEvent(self, evt): 3193 def keyPressEvent(self, evt):
3246 """ 3253 """
3247 Private slot to search VirusTotal for a given entry. 3254 Private slot to search VirusTotal for a given entry.
3248 """ 3255 """
3249 search = self.virustotalSearchEdit.text() 3256 search = self.virustotalSearchEdit.text()
3250 if search: 3257 if search:
3258 from .VirusTotalApi import VirusTotalAPI
3251 requestData = VirusTotalAPI.getSearchRequestData(search) 3259 requestData = VirusTotalAPI.getSearchRequestData(search)
3252 self.newTab(requestData=requestData) 3260 self.newTab(requestData=requestData)
3253 3261
3254 def __virusTotalScanCurrentSite(self): 3262 def __virusTotalScanCurrentSite(self):
3255 """ 3263 """
3345 if cls._fromEric: 3353 if cls._fromEric:
3346 e5App().getObject("UserInterface").showNotification(icon, heading, text) 3354 e5App().getObject("UserInterface").showNotification(icon, heading, text)
3347 else: 3355 else:
3348 if Preferences.getUI("NotificationsEnabled"): 3356 if Preferences.getUI("NotificationsEnabled"):
3349 if cls._notification is None: 3357 if cls._notification is None:
3358 from UI.NotificationWidget import NotificationWidget
3350 cls._notification = NotificationWidget() 3359 cls._notification = NotificationWidget()
3351 cls._notification.setPixmap(icon) 3360 cls._notification.setPixmap(icon)
3352 cls._notification.setHeading(heading) 3361 cls._notification.setHeading(heading)
3353 cls._notification.setText(text) 3362 cls._notification.setText(text)
3354 cls._notification.setTimeout(Preferences.getUI("NotificationTimeout")) 3363 cls._notification.setTimeout(Preferences.getUI("NotificationTimeout"))

eric ide

mercurial