diff -r b19ff70ba509 -r c26e2a2dc0cb WebBrowser/WebBrowserWindow.py --- a/WebBrowser/WebBrowserWindow.py Sat Feb 06 17:43:59 2016 +0100 +++ b/WebBrowser/WebBrowserWindow.py Sun Feb 07 18:08:48 2016 +0100 @@ -56,7 +56,9 @@ ##from .data import javascript_rc # __IGNORE_WARNING__ ## -from .Tools import Scripts, WebBrowserTools +from .Tools import Scripts, WebBrowserTools, WebIconProvider + +from .ZoomManager import ZoomManager class WebBrowserWindow(E5MainWindow): @@ -95,7 +97,6 @@ _notification = None ## _featurePermissionManager = None ## _flashCookieManager = None -## _zoomManager = None def __init__(self, home, path, parent, name, fromEric=False, initShortcutsOnly=False, searchWord=None, @@ -178,7 +179,7 @@ ## if WebBrowserWindow.UseQtHelp: ## self.__helpEngine = \ ## QHelpEngine(os.path.join(Utilities.getConfigDir(), -## "browser", "eric6help.qhc"), self) +## "web_browser", "eric6help.qhc"), self) ## self.__removeOldDocumentation() ## self.__helpEngine.warning.connect(self.__warning) ## else: @@ -256,7 +257,7 @@ else: self.restoreGeometry(g) -## self.__setIconDatabasePath() + self.__setIconDatabasePath() self.__initWebEngineSettings() self.__initActions() @@ -277,7 +278,7 @@ ## self.__adBlockIcon = AdBlockIcon(self) ## self.statusBar().addPermanentWidget(self.__adBlockIcon) ## self.__adBlockIcon.setEnabled( -## Preferences.getHelp("AdBlockEnabled")) +## Preferences.getWebBrowser("AdBlockEnabled")) ## self.__tabWidget.currentChanged[int].connect( ## self.__adBlockIcon.currentChanged) ## self.__tabWidget.sourceChanged.connect( @@ -353,24 +354,28 @@ """ Public method to check, if the web browser was called from within the eric IDE. + + @return flag indicating that the browserw as opened from within eric + @rtype bool """ return self.__fromEric -## def __setIconDatabasePath(self, enable=True): -## """ -## Private method to set the favicons path. -## -## @param enable flag indicating to enabled icon storage (boolean) -## """ -## if enable: -## iconDatabasePath = os.path.join(Utilities.getConfigDir(), -## "browser", "favicons") -## if not os.path.exists(iconDatabasePath): -## os.makedirs(iconDatabasePath) -## else: -## iconDatabasePath = "" # setting an empty path disables it -## QWebSettings.setIconDatabasePath(iconDatabasePath) -## + def __setIconDatabasePath(self, enable=True): + """ + Private method to set the favicons path. + + @param enable flag indicating to enabled icon storage (boolean) + """ + if enable: + iconDatabasePath = os.path.join(Utilities.getConfigDir(), + "web_browser", "favicons") + if not os.path.exists(iconDatabasePath): + os.makedirs(iconDatabasePath) + else: + iconDatabasePath = "" # setting an empty path disables it + + WebIconProvider.instance().setIconDatabasePath(iconDatabasePath) + def __initWebEngineSettings(self): """ Private method to set the global web settings. @@ -396,7 +401,7 @@ QWebEngineSettings.MinimumLogicalFontSize, Preferences.getWebBrowser("MinimumLogicalFontSize")) - styleSheet = Preferences.getHelp("UserStyleSheet") + styleSheet = Preferences.getWebBrowser("UserStyleSheet") self.__setUserStyleSheet(styleSheet) settings.setAttribute( @@ -404,7 +409,7 @@ Preferences.getWebBrowser("AutoLoadImages")) ## settings.setAttribute( ## QWebSettings.JavaEnabled, -## Preferences.getHelp("JavaEnabled")) +## Preferences.getWebBrowser("JavaEnabled")) settings.setAttribute( QWebEngineSettings.JavascriptEnabled, Preferences.getWebBrowser("JavaScriptEnabled")) @@ -416,37 +421,37 @@ Preferences.getWebBrowser("JavaScriptCanAccessClipboard")) ## settings.setAttribute( ## QWebSettings.PluginsEnabled, -## Preferences.getHelp("PluginsEnabled")) +## Preferences.getWebBrowser("PluginsEnabled")) ## if hasattr(QWebSettings, "PrintElementBackgrounds"): ## settings.setAttribute( ## QWebSettings.PrintElementBackgrounds, -## Preferences.getHelp("PrintBackgrounds")) +## Preferences.getWebBrowser("PrintBackgrounds")) ## ## if hasattr(QWebSettings, "setOfflineStoragePath"): ## settings.setAttribute( ## QWebSettings.OfflineStorageDatabaseEnabled, -## Preferences.getHelp("OfflineStorageDatabaseEnabled")) +## Preferences.getWebBrowser("OfflineStorageDatabaseEnabled")) ## webDatabaseDir = os.path.join( -## Utilities.getConfigDir(), "browser", "webdatabases") +## Utilities.getConfigDir(), "web_browser", "webdatabases") ## if not os.path.exists(webDatabaseDir): ## os.makedirs(webDatabaseDir) ## settings.setOfflineStoragePath(webDatabaseDir) ## settings.setOfflineStorageDefaultQuota( -## Preferences.getHelp("OfflineStorageDatabaseQuota") * +## Preferences.getWebBrowser("OfflineStorageDatabaseQuota") * ## 1024 * 1024) ## ## if hasattr(QWebSettings, "OfflineWebApplicationCacheEnabled"): ## settings.setAttribute( ## QWebSettings.OfflineWebApplicationCacheEnabled, -## Preferences.getHelp("OfflineWebApplicationCacheEnabled")) +## Preferences.getWebBrowser("OfflineWebApplicationCacheEnabled")) ## appCacheDir = os.path.join( -## Utilities.getConfigDir(), "browser", "webappcaches") +## Utilities.getConfigDir(), "web_browser", "webappcaches") ## if not os.path.exists(appCacheDir): ## os.makedirs(appCacheDir) ## settings.setOfflineWebApplicationCachePath(appCacheDir) ## settings.setOfflineWebApplicationCacheQuota( -## Preferences.getHelp("OfflineWebApplicationCacheQuota") * +## Preferences.getWebBrowser("OfflineWebApplicationCacheQuota") * ## 1024 * 1024) ## if self.isPrivate(): @@ -457,7 +462,7 @@ QWebEngineSettings.LocalStorageEnabled, Preferences.getWebBrowser("LocalStorageEnabled")) ## localStorageDir = os.path.join( -## Utilities.getConfigDir(), "browser", "weblocalstorage") +## Utilities.getConfigDir(), "web_browser", "weblocalstorage") ## if not os.path.exists(localStorageDir): ## os.makedirs(localStorageDir) ## settings.setLocalStoragePath(localStorageDir) @@ -465,7 +470,7 @@ ## if hasattr(QWebSettings, "DnsPrefetchEnabled"): ## settings.setAttribute( ## QWebSettings.DnsPrefetchEnabled, -## Preferences.getHelp("DnsPrefetchEnabled")) +## Preferences.getWebBrowser("DnsPrefetchEnabled")) ## settings.setDefaultTextEncoding( Preferences.getWebBrowser("DefaultTextEncoding")) @@ -488,7 +493,7 @@ ## if hasattr(QWebSettings, "SiteSpecificQuirksEnabled"): ## settings.setAttribute( ## QWebSettings.SiteSpecificQuirksEnabled, -## Preferences.getHelp("SiteSpecificQuirksEnabled")) +## Preferences.getWebBrowser("SiteSpecificQuirksEnabled")) ## ## QWebSecurityOrigin.addLocalScheme("eric") settings.setAttribute( @@ -1639,27 +1644,27 @@ ## self.__showSyncDialog) ## self.__actions.append(self.synchronizationAct) - # TODO: Zoom Manager -## self.zoomValuesAct = E5Action( -## self.tr('Manage Saved Zoom Values'), -## UI.PixmapCache.getIcon("zoomReset.png"), -## self.tr('Manage Saved Zoom Values...'), -## 0, 0, -## self, 'webbrowser_manage_zoom_values') -## self.zoomValuesAct.setStatusTip(self.tr( -## 'Manage the saved zoom values')) -## self.zoomValuesAct.setWhatsThis(self.tr( -## """<b>Manage Saved Zoom Values...</b>""" -## """<p>Opens a dialog to manage the saved zoom values.</p>""" -## )) -## if not self.__initShortcutsOnly: -## self.zoomValuesAct.triggered.connect(self.__showZoomValuesDialog) -## self.__actions.append(self.zoomValuesAct) + self.zoomValuesAct = E5Action( + self.tr('Manage Saved Zoom Values'), + UI.PixmapCache.getIcon("zoomReset.png"), + self.tr('Manage Saved Zoom Values...'), + 0, 0, + self, 'webbrowser_manage_zoom_values') + self.zoomValuesAct.setStatusTip(self.tr( + 'Manage the saved zoom values')) + self.zoomValuesAct.setWhatsThis(self.tr( + """<b>Manage Saved Zoom Values...</b>""" + """<p>Opens a dialog to manage the saved zoom values.</p>""" + )) + if not self.__initShortcutsOnly: + self.zoomValuesAct.triggered.connect(self.__showZoomValuesDialog) + self.__actions.append(self.zoomValuesAct) self.backAct.setEnabled(False) self.forwardAct.setEnabled(False) # now read the keyboard shortcuts for the actions + # TODO: change this to webBrowser Shortcuts.readShortcuts(helpViewer=self) def getActions(self): @@ -1782,8 +1787,8 @@ ## if SSL_AVAILABLE: ## menu.addAction(self.certificatesAct) ## menu.addSeparator() -## menu.addAction(self.zoomValuesAct) -## menu.addSeparator() + menu.addAction(self.zoomValuesAct) + menu.addSeparator() ## menu.addAction(self.adblockAct) ## menu.addAction(self.flashblockAct) ## menu.addSeparator() @@ -1991,8 +1996,8 @@ ## UI.PixmapCache.getIcon("virustotal.png"), ## self.tr("Domain Report"), ## self.__virusTotalDomainReport) -## if not Preferences.getHelp("VirusTotalEnabled") or \ -## Preferences.getHelp("VirusTotalServiceKey") == "": +## if not Preferences.getWebBrowser("VirusTotalEnabled") or \ +## Preferences.getWebBrowser("VirusTotalServiceKey") == "": ## self.virustotalScanCurrentAct.setEnabled(False) ## self.virustotalIpReportAct.setEnabled(False) ## self.virustotalDomainReportAct.setEnabled(False) @@ -2356,6 +2361,10 @@ ## self.speedDial().close() ## ## self.syncManager().close() + + ZoomManager.instance().close() + + WebIconProvider.instance().close() ## ## self.__virusTotal.close() ## @@ -2375,7 +2384,7 @@ self.__tabWidget.closeAllBrowsers() state = self.saveState() - Preferences.setWebBrowser("HelpViewerState", state) + Preferences.setWebBrowser("WebBrowserState", state) if Preferences.getWebBrowser("SaveGeometry"): if not self.__isFullScreen(): @@ -2631,8 +2640,8 @@ ## self.searchEdit.preferencesChanged() ## ## self.__virusTotal.preferencesChanged() -## if not Preferences.getHelp("VirusTotalEnabled") or \ -## Preferences.getHelp("VirusTotalServiceKey") == "": +## if not Preferences.getWebBrowser("VirusTotalEnabled") or \ +## Preferences.getWebBrowser("VirusTotalServiceKey") == "": ## self.virustotalScanCurrentAct.setEnabled(False) ## self.virustotalIpReportAct.setEnabled(False) ## self.virustotalDomainReportAct.setEnabled(False) @@ -2713,7 +2722,7 @@ ## if cls._helpEngine is None: ## cls._helpEngine = \ ## QHelpEngine(os.path.join(Utilities.getConfigDir(), -## "browser", "eric6help.qhc")) +## "web_browser", "eric6help.qhc")) ## return cls._helpEngine ## else: ## return None @@ -3156,7 +3165,7 @@ ## "{0}/flashplayer/help/settings_manager07.html".format( ## langCode)) ## if zoomValues: -## self.zoomManager().clear() +## ZoomManager.instance().clear() ## ## def __showEnginesConfigurationDialog(self): ## """ @@ -3225,15 +3234,15 @@ ## """ ## self.featurePermissionManager().showFeaturePermissionsDialog() ## -## def __showZoomValuesDialog(self): -## """ -## Private slot to show the zoom values management dialog. -## """ -## from .ZoomManager.ZoomValuesDialog import ZoomValuesDialog -## -## dlg = ZoomValuesDialog(self) -## dlg.exec_() -## + def __showZoomValuesDialog(self): + """ + Private slot to show the zoom values management dialog. + """ + from .ZoomManager.ZoomValuesDialog import ZoomValuesDialog + + dlg = ZoomValuesDialog(self) + dlg.exec_() + ## def __showNetworkMonitor(self): ## """ ## Private slot to show the network monitor dialog. @@ -3481,20 +3490,6 @@ ## ## return cls._flashCookieManager ## -## @classmethod -## def zoomManager(cls): -## """ -## Class method to get a reference to the zoom values manager. -## -## @return reference to the zoom values manager -## @rtype ZoomManager -## """ -## if cls._zoomManager is None: -## from .ZoomManager.ZoomManager import ZoomManager -## cls._zoomManager = ZoomManager() -## -## return cls._zoomManager -## @classmethod def mainWindow(cls): """