diff -r e9e7eca7efee -r bf71ee032bb4 src/eric7/Preferences/ConfigurationPages/WebBrowserPage.py --- a/src/eric7/Preferences/ConfigurationPages/WebBrowserPage.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/Preferences/ConfigurationPages/WebBrowserPage.py Wed Jul 13 14:55:47 2022 +0200 @@ -20,17 +20,18 @@ """ Class implementing the Web Browser configuration page. """ + def __init__(self, configDialog): """ Constructor - + @param configDialog reference to the configuration dialog (ConfigurationDialog) """ super().__init__() self.setupUi(self) self.setObjectName("WebBrowserPage") - + self.__configDlg = configDialog mw = configDialog.parent().parent() if hasattr(mw, "helpWindow") and mw.helpWindow is not None: @@ -43,91 +44,98 @@ self.__browserWindow = None self.setCurrentPageButton.setEnabled(self.__browserWindow is not None) self.imageSearchGroup.setEnabled(self.__browserWindow is not None) - + defaultSchemes = ["file://", "http://", "https://"] self.defaultSchemeCombo.addItems(defaultSchemes) - + # set initial values self.singleHelpWindowCheckBox.setChecked( - Preferences.getWebBrowser("SingleWebBrowserWindow")) - self.saveGeometryCheckBox.setChecked( - Preferences.getWebBrowser("SaveGeometry")) + Preferences.getWebBrowser("SingleWebBrowserWindow") + ) + self.saveGeometryCheckBox.setChecked(Preferences.getWebBrowser("SaveGeometry")) self.webSuggestionsCheckBox.setChecked( - Preferences.getWebBrowser("WebSearchSuggestions")) - self.showTabPreviews.setChecked( - Preferences.getWebBrowser("ShowPreview")) - self.errorPageCheckBox.setChecked( - Preferences.getWebBrowser("ErrorPageEnabled")) + Preferences.getWebBrowser("WebSearchSuggestions") + ) + self.showTabPreviews.setChecked(Preferences.getWebBrowser("ShowPreview")) + self.errorPageCheckBox.setChecked(Preferences.getWebBrowser("ErrorPageEnabled")) self.scrollingCheckBox.setChecked( - Preferences.getWebBrowser("ScrollAnimatorEnabled")) + Preferences.getWebBrowser("ScrollAnimatorEnabled") + ) self.fullscreenCheckBox.setChecked( - Preferences.getWebBrowser("FullScreenSupportEnabled")) + Preferences.getWebBrowser("FullScreenSupportEnabled") + ) self.screenCaptureCheckBox.setChecked( - Preferences.getWebBrowser("ScreenCaptureEnabled")) - self.webGLCheckBox.setChecked( - Preferences.getWebBrowser("WebGLEnabled")) + Preferences.getWebBrowser("ScreenCaptureEnabled") + ) + self.webGLCheckBox.setChecked(Preferences.getWebBrowser("WebGLEnabled")) self.accelerated2dCanvasCheckBox.setChecked( - Preferences.getWebBrowser("Accelerated2dCanvasEnabled")) + Preferences.getWebBrowser("Accelerated2dCanvasEnabled") + ) self.autoloadIconsCheckBox.setChecked( - Preferences.getWebBrowser("AutoLoadIconsForPage")) + Preferences.getWebBrowser("AutoLoadIconsForPage") + ) self.autoplayMediaCheckBox.setChecked( - Preferences.getWebBrowser("PlaybackRequiresUserGesture")) + Preferences.getWebBrowser("PlaybackRequiresUserGesture") + ) self.webRtcPublicOnlyCheckBox.setChecked( - Preferences.getWebBrowser("WebRTCPublicInterfacesOnly")) + Preferences.getWebBrowser("WebRTCPublicInterfacesOnly") + ) self.dnsPrefetchCheckBox.setChecked( - Preferences.getWebBrowser("DnsPrefetchEnabled")) - - self.javaScriptGroup.setChecked( - Preferences.getWebBrowser("JavaScriptEnabled")) + Preferences.getWebBrowser("DnsPrefetchEnabled") + ) + + self.javaScriptGroup.setChecked(Preferences.getWebBrowser("JavaScriptEnabled")) self.jsOpenWindowsCheckBox.setChecked( - Preferences.getWebBrowser("JavaScriptCanOpenWindows")) + Preferences.getWebBrowser("JavaScriptCanOpenWindows") + ) self.jsActivateWindowsCheckBox.setChecked( - Preferences.getWebBrowser("AllowWindowActivationFromJavaScript")) + Preferences.getWebBrowser("AllowWindowActivationFromJavaScript") + ) self.jsClipboardCheckBox.setChecked( - Preferences.getWebBrowser("JavaScriptCanAccessClipboard")) - self.jsPasteCheckBox.setChecked( - Preferences.getWebBrowser("JavaScriptCanPaste")) - self.doNotTrackCheckBox.setChecked( - Preferences.getWebBrowser("DoNotTrack")) + Preferences.getWebBrowser("JavaScriptCanAccessClipboard") + ) + self.jsPasteCheckBox.setChecked(Preferences.getWebBrowser("JavaScriptCanPaste")) + self.doNotTrackCheckBox.setChecked(Preferences.getWebBrowser("DoNotTrack")) self.refererSendComboBox.setCurrentIndex( - Preferences.getWebBrowser("RefererSendReferer")) + Preferences.getWebBrowser("RefererSendReferer") + ) self.refererDefaultPolicyCcomboBox.setCurrentIndex( - Preferences.getWebBrowser("RefererDefaultPolicy")) + Preferences.getWebBrowser("RefererDefaultPolicy") + ) self.refererTrimmingPolicyComboBox.setCurrentIndex( - Preferences.getWebBrowser("RefererTrimmingPolicy")) - - self.pluginsGroup.setChecked( - Preferences.getWebBrowser("PluginsEnabled")) + Preferences.getWebBrowser("RefererTrimmingPolicy") + ) + + self.pluginsGroup.setChecked(Preferences.getWebBrowser("PluginsEnabled")) try: # Qt 5.13 self.pdfViewerCheckBox.setChecked( - Preferences.getWebBrowser("PdfViewerEnabled")) + Preferences.getWebBrowser("PdfViewerEnabled") + ) except KeyError: self.pdfViewerCheckBox.setEnabled(False) - - self.diskCacheCheckBox.setChecked( - Preferences.getWebBrowser("DiskCacheEnabled")) - self.cacheSizeSpinBox.setValue( - Preferences.getWebBrowser("DiskCacheSize")) - - self.startupCombo.setCurrentIndex( - Preferences.getWebBrowser("StartupBehavior")) - self.newTabCombo.setCurrentIndex( - Preferences.getWebBrowser("NewTabBehavior")) - self.homePageEdit.setText( - Preferences.getWebBrowser("HomePage")) + + self.diskCacheCheckBox.setChecked(Preferences.getWebBrowser("DiskCacheEnabled")) + self.cacheSizeSpinBox.setValue(Preferences.getWebBrowser("DiskCacheSize")) + + self.startupCombo.setCurrentIndex(Preferences.getWebBrowser("StartupBehavior")) + self.newTabCombo.setCurrentIndex(Preferences.getWebBrowser("NewTabBehavior")) + self.homePageEdit.setText(Preferences.getWebBrowser("HomePage")) self.loadTabOnActivationCheckBox.setChecked( - Preferences.getWebBrowser("LoadTabOnActivation")) - + Preferences.getWebBrowser("LoadTabOnActivation") + ) + self.saveSessionCheckBox.setChecked( - Preferences.getWebBrowser("SessionAutoSave")) + Preferences.getWebBrowser("SessionAutoSave") + ) self.sessionTimerSpinBox.setValue( - Preferences.getWebBrowser("SessionAutoSaveInterval")) - + Preferences.getWebBrowser("SessionAutoSaveInterval") + ) + self.defaultSchemeCombo.setCurrentIndex( - self.defaultSchemeCombo.findText( - Preferences.getWebBrowser("DefaultScheme"))) - + self.defaultSchemeCombo.findText(Preferences.getWebBrowser("DefaultScheme")) + ) + historyLimit = Preferences.getWebBrowser("HistoryLimit") idx = 0 if historyLimit == 1: @@ -147,188 +155,178 @@ else: idx = 5 self.expireHistory.setCurrentIndex(idx) - + for language in QLocale.Language: if language == QLocale.Language.C: continue - + countries = [ loc.country() for loc in QLocale.matchingLocales( - language, QLocale.Script.AnyScript, - QLocale.Country.AnyCountry + language, QLocale.Script.AnyScript, QLocale.Country.AnyCountry ) ] if len(countries) > 0: - self.languageCombo.addItem( - QLocale.languageToString(language), language) + self.languageCombo.addItem(QLocale.languageToString(language), language) self.languageCombo.model().sort(0) self.languageCombo.insertSeparator(0) self.languageCombo.insertItem( - 0, QLocale.languageToString(QLocale.Language.AnyLanguage), 0) - index = self.languageCombo.findData( - Preferences.getWebBrowser("SearchLanguage")) + 0, QLocale.languageToString(QLocale.Language.AnyLanguage), 0 + ) + index = self.languageCombo.findData(Preferences.getWebBrowser("SearchLanguage")) if index > -1: self.languageCombo.setCurrentIndex(index) - + if self.__browserWindow: - for engineName in ( - self.__browserWindow.imageSearchEngine().searchEngineNames() - ): + for ( + engineName + ) in self.__browserWindow.imageSearchEngine().searchEngineNames(): self.imageSearchComboBox.addItem( - UI.PixmapCache.getIcon( - "{0}".format(engineName.lower())), - engineName) + UI.PixmapCache.getIcon("{0}".format(engineName.lower())), engineName + ) index = self.imageSearchComboBox.findText( - Preferences.getWebBrowser("ImageSearchEngine")) + Preferences.getWebBrowser("ImageSearchEngine") + ) if index > -1: self.imageSearchComboBox.setCurrentIndex(index) - + self.spatialCheckBox.setChecked( - Preferences.getWebBrowser("SpatialNavigationEnabled")) + Preferences.getWebBrowser("SpatialNavigationEnabled") + ) self.linksInFocusChainCheckBox.setChecked( - Preferences.getWebBrowser("LinksIncludedInFocusChain")) + Preferences.getWebBrowser("LinksIncludedInFocusChain") + ) self.focusOnNavigationCheckBox.setChecked( - Preferences.getWebBrowser("FocusOnNavigationEnabled")) - + Preferences.getWebBrowser("FocusOnNavigationEnabled") + ) + self.xssAuditingCheckBox.setChecked( - Preferences.getWebBrowser("XSSAuditingEnabled")) + Preferences.getWebBrowser("XSSAuditingEnabled") + ) self.insecureContentsCheckBox.setChecked( - Preferences.getWebBrowser("AllowRunningInsecureContent")) + Preferences.getWebBrowser("AllowRunningInsecureContent") + ) self.insecureGeolocationCheckBox.setChecked( - Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins")) - + Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins") + ) + self.printBackgroundCheckBox.setChecked( - Preferences.getWebBrowser("PrintElementBackgrounds")) - + Preferences.getWebBrowser("PrintElementBackgrounds") + ) + self.autoScrollGroupBox.setChecked( - Preferences.getWebBrowser("AutoScrollEnabled")) + Preferences.getWebBrowser("AutoScrollEnabled") + ) self.autoScrollDividerSpinBox.setValue( - Preferences.getWebBrowser("AutoScrollDivider")) - + Preferences.getWebBrowser("AutoScrollDivider") + ) + self.protocolHandlerComboBox.setCurrentIndex( - Preferences.getWebBrowser("AcceptProtocolHandlerRequest")) + Preferences.getWebBrowser("AcceptProtocolHandlerRequest") + ) self.requestQuotaComboBox.setCurrentIndex( - Preferences.getWebBrowser("AcceptQuotaRequest")) - + Preferences.getWebBrowser("AcceptQuotaRequest") + ) + def save(self): """ Public slot to save the Help Viewers configuration. """ Preferences.setWebBrowser( - "SingleWebBrowserWindow", - self.singleHelpWindowCheckBox.isChecked()) - Preferences.setWebBrowser( - "SaveGeometry", - self.saveGeometryCheckBox.isChecked()) + "SingleWebBrowserWindow", self.singleHelpWindowCheckBox.isChecked() + ) + Preferences.setWebBrowser("SaveGeometry", self.saveGeometryCheckBox.isChecked()) Preferences.setWebBrowser( - "WebSearchSuggestions", - self.webSuggestionsCheckBox.isChecked()) + "WebSearchSuggestions", self.webSuggestionsCheckBox.isChecked() + ) + Preferences.setWebBrowser("ShowPreview", self.showTabPreviews.isChecked()) Preferences.setWebBrowser( - "ShowPreview", - self.showTabPreviews.isChecked()) + "ErrorPageEnabled", self.errorPageCheckBox.isChecked() + ) Preferences.setWebBrowser( - "ErrorPageEnabled", - self.errorPageCheckBox.isChecked()) - Preferences.setWebBrowser( - "ScrollAnimatorEnabled", - self.scrollingCheckBox.isChecked()) + "ScrollAnimatorEnabled", self.scrollingCheckBox.isChecked() + ) Preferences.setWebBrowser( - "FullScreenSupportEnabled", - self.fullscreenCheckBox.isChecked()) - + "FullScreenSupportEnabled", self.fullscreenCheckBox.isChecked() + ) + Preferences.setWebBrowser( - "ScreenCaptureEnabled", - self.screenCaptureCheckBox.isChecked()) + "ScreenCaptureEnabled", self.screenCaptureCheckBox.isChecked() + ) + Preferences.setWebBrowser("WebGLEnabled", self.webGLCheckBox.isChecked()) Preferences.setWebBrowser( - "WebGLEnabled", - self.webGLCheckBox.isChecked()) + "Accelerated2dCanvasEnabled", self.accelerated2dCanvasCheckBox.isChecked() + ), + Preferences.setWebBrowser( - "Accelerated2dCanvasEnabled", - self.accelerated2dCanvasCheckBox.isChecked()), - + "AutoLoadIconsForPage", self.autoloadIconsCheckBox.isChecked() + ), Preferences.setWebBrowser( - "AutoLoadIconsForPage", - self.autoloadIconsCheckBox.isChecked()), - Preferences.setWebBrowser( - "PlaybackRequiresUserGesture", - self.autoplayMediaCheckBox.isChecked()) + "PlaybackRequiresUserGesture", self.autoplayMediaCheckBox.isChecked() + ) Preferences.setWebBrowser( - "WebRTCPublicInterfacesOnly", - self.webRtcPublicOnlyCheckBox.isChecked()) - + "WebRTCPublicInterfacesOnly", self.webRtcPublicOnlyCheckBox.isChecked() + ) + Preferences.setWebBrowser( - "DnsPrefetchEnabled", - self.dnsPrefetchCheckBox.isChecked()) - + "DnsPrefetchEnabled", self.dnsPrefetchCheckBox.isChecked() + ) + + Preferences.setWebBrowser("JavaScriptEnabled", self.javaScriptGroup.isChecked()) Preferences.setWebBrowser( - "JavaScriptEnabled", - self.javaScriptGroup.isChecked()) - Preferences.setWebBrowser( - "JavaScriptCanOpenWindows", - self.jsOpenWindowsCheckBox.isChecked()) + "JavaScriptCanOpenWindows", self.jsOpenWindowsCheckBox.isChecked() + ) Preferences.setWebBrowser( "AllowWindowActivationFromJavaScript", - self.jsActivateWindowsCheckBox.isChecked()) - Preferences.setWebBrowser( - "JavaScriptCanAccessClipboard", - self.jsClipboardCheckBox.isChecked()) + self.jsActivateWindowsCheckBox.isChecked(), + ) Preferences.setWebBrowser( - "JavaScriptCanPaste", - self.jsPasteCheckBox.isChecked()) - + "JavaScriptCanAccessClipboard", self.jsClipboardCheckBox.isChecked() + ) Preferences.setWebBrowser( - "PluginsEnabled", - self.pluginsGroup.isChecked()) + "JavaScriptCanPaste", self.jsPasteCheckBox.isChecked() + ) + + Preferences.setWebBrowser("PluginsEnabled", self.pluginsGroup.isChecked()) if self.pdfViewerCheckBox.isEnabled(): Preferences.setWebBrowser( - "PdfViewerEnabled", - self.pdfViewerCheckBox.isChecked()) - - Preferences.setWebBrowser( - "DoNotTrack", - self.doNotTrackCheckBox.isChecked()) - Preferences.setWebBrowser( - "RefererSendReferer", - self.refererSendComboBox.currentIndex()) + "PdfViewerEnabled", self.pdfViewerCheckBox.isChecked() + ) + + Preferences.setWebBrowser("DoNotTrack", self.doNotTrackCheckBox.isChecked()) Preferences.setWebBrowser( - "RefererDefaultPolicy", - self.refererDefaultPolicyCcomboBox.currentIndex()) - Preferences.setWebBrowser( - "RefererTrimmingPolicy", - self.refererTrimmingPolicyComboBox.currentIndex()) - + "RefererSendReferer", self.refererSendComboBox.currentIndex() + ) Preferences.setWebBrowser( - "DiskCacheEnabled", - self.diskCacheCheckBox.isChecked()) + "RefererDefaultPolicy", self.refererDefaultPolicyCcomboBox.currentIndex() + ) Preferences.setWebBrowser( - "DiskCacheSize", - self.cacheSizeSpinBox.value()) - + "RefererTrimmingPolicy", self.refererTrimmingPolicyComboBox.currentIndex() + ) + Preferences.setWebBrowser( - "StartupBehavior", - self.startupCombo.currentIndex()) - Preferences.setWebBrowser( - "NewTabBehavior", - self.newTabCombo.currentIndex()) - Preferences.setWebBrowser( - "HomePage", - self.homePageEdit.text()) + "DiskCacheEnabled", self.diskCacheCheckBox.isChecked() + ) + Preferences.setWebBrowser("DiskCacheSize", self.cacheSizeSpinBox.value()) + + Preferences.setWebBrowser("StartupBehavior", self.startupCombo.currentIndex()) + Preferences.setWebBrowser("NewTabBehavior", self.newTabCombo.currentIndex()) + Preferences.setWebBrowser("HomePage", self.homePageEdit.text()) Preferences.setWebBrowser( - "LoadTabOnActivation", - self.loadTabOnActivationCheckBox.isChecked()) - + "LoadTabOnActivation", self.loadTabOnActivationCheckBox.isChecked() + ) + Preferences.setWebBrowser( - "SessionAutoSave", - self.saveSessionCheckBox.isChecked()) + "SessionAutoSave", self.saveSessionCheckBox.isChecked() + ) Preferences.setWebBrowser( - "SessionAutoSaveInterval", - self.sessionTimerSpinBox.value()) - + "SessionAutoSaveInterval", self.sessionTimerSpinBox.value() + ) + Preferences.setWebBrowser( - "DefaultScheme", - self.defaultSchemeCombo.currentText()) - + "DefaultScheme", self.defaultSchemeCombo.currentText() + ) + idx = self.expireHistory.currentIndex() if idx == 0: historyLimit = 1 @@ -345,58 +343,60 @@ elif idx == 6: historyLimit = -2 Preferences.setWebBrowser("HistoryLimit", historyLimit) - + languageIndex = self.languageCombo.currentIndex() language = ( self.languageCombo.itemData(languageIndex) - if languageIndex > -1 else + if languageIndex > -1 + else # fall back to system default QLocale.system().language() ) Preferences.setWebBrowser("SearchLanguage", language) - + Preferences.setWebBrowser( - "ImageSearchEngine", - self.imageSearchComboBox.currentText()) - + "ImageSearchEngine", self.imageSearchComboBox.currentText() + ) + Preferences.setWebBrowser( - "SpatialNavigationEnabled", - self.spatialCheckBox.isChecked()) + "SpatialNavigationEnabled", self.spatialCheckBox.isChecked() + ) Preferences.setWebBrowser( - "LinksIncludedInFocusChain", - self.linksInFocusChainCheckBox.isChecked()) + "LinksIncludedInFocusChain", self.linksInFocusChainCheckBox.isChecked() + ) Preferences.setWebBrowser( - "FocusOnNavigationEnabled", - self.focusOnNavigationCheckBox.isChecked()) - + "FocusOnNavigationEnabled", self.focusOnNavigationCheckBox.isChecked() + ) + Preferences.setWebBrowser( - "XSSAuditingEnabled", - self.xssAuditingCheckBox.isChecked()) + "XSSAuditingEnabled", self.xssAuditingCheckBox.isChecked() + ) Preferences.setWebBrowser( - "AllowRunningInsecureContent", - self.insecureContentsCheckBox.isChecked()) + "AllowRunningInsecureContent", self.insecureContentsCheckBox.isChecked() + ) Preferences.setWebBrowser( "AllowGeolocationOnInsecureOrigins", - self.insecureGeolocationCheckBox.isChecked()) - + self.insecureGeolocationCheckBox.isChecked(), + ) + Preferences.setWebBrowser( - "PrintElementBackgrounds", - self.printBackgroundCheckBox.isChecked()) - + "PrintElementBackgrounds", self.printBackgroundCheckBox.isChecked() + ) + Preferences.setWebBrowser( - "AutoScrollEnabled", - self.autoScrollGroupBox.isChecked()) + "AutoScrollEnabled", self.autoScrollGroupBox.isChecked() + ) Preferences.setWebBrowser( - "AutoScrollDivider", - self.autoScrollDividerSpinBox.value()) - + "AutoScrollDivider", self.autoScrollDividerSpinBox.value() + ) + Preferences.setWebBrowser( - "AcceptProtocolHandlerRequest", - self.protocolHandlerComboBox.currentIndex()) + "AcceptProtocolHandlerRequest", self.protocolHandlerComboBox.currentIndex() + ) Preferences.setWebBrowser( - "AcceptQuotaRequest", - self.requestQuotaComboBox.currentIndex()) - + "AcceptQuotaRequest", self.requestQuotaComboBox.currentIndex() + ) + @pyqtSlot() def on_setCurrentPageButton_clicked(self): """ @@ -404,48 +404,48 @@ """ url = self.__browserWindow.currentBrowser().url() self.homePageEdit.setText(bytes(url.toEncoded()).decode()) - + @pyqtSlot() def on_defaultHomeButton_clicked(self): """ Private slot to set the default home page. """ self.homePageEdit.setText(Preferences.Prefs.helpDefaults["HomePage"]) - + @pyqtSlot() def on_setSpeedDialPageButton_clicked(self): """ Private slot documentation goes here. """ self.homePageEdit.setText("eric:speeddial") - + @pyqtSlot(int) def on_startupCombo_currentIndexChanged(self, index): """ Private slot to enable elements depending on the selected startup entry. - + @param index index of the selected entry (integer) """ # set state of the session related items - self.loadTabOnActivationCheckBox.setEnabled( - index in [3, 4]) - + self.loadTabOnActivationCheckBox.setEnabled(index in [3, 4]) + @pyqtSlot() def on_refererWhitelistButton_clicked(self): """ Private slot to edit the referer whitelist. """ from WebBrowser.Network.SendRefererWhitelistDialog import ( - SendRefererWhitelistDialog + SendRefererWhitelistDialog, ) + SendRefererWhitelistDialog(self).exec() def create(dlg): """ Module function to create the configuration page. - + @param dlg reference to the configuration dialog @return reference to the instantiated page (ConfigurationPageBase) """