diff -r 71bdc520f640 -r f794ff054d8f Preferences/ConfigurationPages/SecurityPage.py --- a/Preferences/ConfigurationPages/SecurityPage.py Fri Mar 04 19:20:29 2016 +0100 +++ b/Preferences/ConfigurationPages/SecurityPage.py Fri Mar 04 20:15:34 2016 +0100 @@ -11,10 +11,6 @@ from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import QDialog -try: - from PyQt5.QtWebKit import QWebSettings -except ImportError: - QWebSettings = None from .ConfigurationPageBase import ConfigurationPageBase from .Ui_SecurityPage import Ui_SecurityPage @@ -38,6 +34,7 @@ self.setObjectName("SecurityPage") self.__configDlg = configDialog + self.__displayMode = None # set initial values self.savePasswordsCheckBox.setChecked( @@ -46,15 +43,41 @@ Preferences.getUser("UseMasterPassword")) self.masterPasswordButton.setEnabled( Preferences.getUser("UseMasterPassword")) - if QWebSettings and hasattr(QWebSettings, "DnsPrefetchEnabled"): - self.dnsPrefetchCheckBox.setChecked( - Preferences.getHelp("DnsPrefetchEnabled")) - else: - self.dnsPrefetchCheckBox.setEnabled(False) self.__newPassword = "" self.__oldUseMasterPassword = Preferences.getUser("UseMasterPassword") + def setMode(self, displayMode): + """ + Public method to perform mode dependent setups. + + @param displayMode mode of the configuration dialog + (ConfigurationWidget.DefaultMode, + ConfigurationWidget.HelpBrowserMode, + ConfigurationWidget.WebBrowserMode) + """ + from ..ConfigurationDialog import ConfigurationWidget + assert displayMode in ( + ConfigurationWidget.DefaultMode, + ConfigurationWidget.HelpBrowserMode, + ConfigurationWidget.WebBrowserMode + ) + + self.__displayMode = displayMode + if self.__displayMode == ConfigurationWidget.HelpBrowserMode: + try: + from PyQt5.QtWebKit import QWebSettings + if QWebSettings and \ + hasattr(QWebSettings, "DnsPrefetchEnabled"): + self.dnsPrefetchCheckBox.setChecked( + Preferences.getHelp("DnsPrefetchEnabled")) + except ImportError: + self.dnsPrefetchCheckBox.setEnabled(False) + # TODO: add config for default Mode + else: + self.dnsPrefetchCheckBox.setEnabled(False) + self.dnsGroup.hide() + def save(self): """ Public slot to save the Help Viewers configuration.