diff -r a1a8eac81b54 -r 15739e8eb6c5 Preferences/ConfigurationPages/NetworkPage.py --- a/Preferences/ConfigurationPages/NetworkPage.py Sat Mar 12 20:05:01 2016 +0100 +++ b/Preferences/ConfigurationPages/NetworkPage.py Sun Mar 13 14:55:16 2016 +0100 @@ -25,14 +25,22 @@ """ Class implementing the Network configuration page. """ - def __init__(self): + def __init__(self, configDialog): """ Constructor + + @param configDialog reference to the configuration dialog + (ConfigurationDialog) """ super(NetworkPage, self).__init__() self.setupUi(self) self.setObjectName("NetworkPage") + self.__configDlg = configDialog + self.__displayMode = None + self.__webEngine = False + self.__webKit = False + self.downloadDirPicker.setMode(E5PathPickerModes.DirectoryMode) self.ftpProxyTypeCombo.addItem( @@ -60,14 +68,6 @@ self.downloadDirPicker.setText(Preferences.getUI("DownloadPath")) self.requestFilenameCheckBox.setChecked( Preferences.getUI("RequestDownloadFilename")) - policy = Preferences.getHelp("DownloadManagerRemovePolicy") - from Helpviewer.Download.DownloadManager import DownloadManager - if policy == DownloadManager.RemoveNever: - self.cleanupNeverButton.setChecked(True) - elif policy == DownloadManager.RemoveExit: - self.cleanupExitButton.setChecked(True) - else: - self.cleanupSuccessfulButton.setChecked(True) # HTTP proxy self.httpProxyHostEdit.setText( @@ -108,6 +108,48 @@ self.exceptionsEdit.setText( ", ".join(Preferences.getUI("ProxyExceptions").split(","))) + 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 or \ + not self.__configDlg.isUsingWebEngine(): + try: + policy = Preferences.getHelp("DownloadManagerRemovePolicy") + from Helpviewer.Download.DownloadManager import DownloadManager + if policy == DownloadManager.RemoveNever: + self.cleanupNeverButton.setChecked(True) + elif policy == DownloadManager.RemoveExit: + self.cleanupExitButton.setChecked(True) + else: + self.cleanupSuccessfulButton.setChecked(True) + self.__webKit = True + except ImportError: + self.cleanupGroup.hide() + else: + policy = Preferences.getWebBrowser("DownloadManagerRemovePolicy") + from WebBrowser.Download.DownloadManager import DownloadManager + if policy == DownloadManager.RemoveNever: + self.cleanupNeverButton.setChecked(True) + elif policy == DownloadManager.RemoveExit: + self.cleanupExitButton.setChecked(True) + else: + self.cleanupSuccessfulButton.setChecked(True) + self.__webEngine = True + def save(self): """ Public slot to save the Networj configuration. @@ -118,14 +160,24 @@ Preferences.setUI( "RequestDownloadFilename", self.requestFilenameCheckBox.isChecked()) - from Helpviewer.Download.DownloadManager import DownloadManager - if self.cleanupNeverButton.isChecked(): - policy = DownloadManager.RemoveNever - elif self.cleanupExitButton.isChecked(): - policy = DownloadManager.RemoveExit - else: - policy = DownloadManager.RemoveSuccessFullDownload - Preferences.setHelp("DownloadManagerRemovePolicy", policy) + if self.__webKit: + from Helpviewer.Download.DownloadManager import DownloadManager + if self.cleanupNeverButton.isChecked(): + policy = DownloadManager.RemoveNever + elif self.cleanupExitButton.isChecked(): + policy = DownloadManager.RemoveExit + else: + policy = DownloadManager.RemoveSuccessFullDownload + Preferences.setHelp("DownloadManagerRemovePolicy", policy) + elif self.__webEngine: + from WebBrowser.Download.DownloadManager import DownloadManager + if self.cleanupNeverButton.isChecked(): + policy = DownloadManager.RemoveNever + elif self.cleanupExitButton.isChecked(): + policy = DownloadManager.RemoveExit + else: + policy = DownloadManager.RemoveSuccessFullDownload + Preferences.setWebBrowser("DownloadManagerRemovePolicy", policy) Preferences.setUI( "UseProxy", @@ -215,5 +267,5 @@ @param dlg reference to the configuration dialog @return reference to the instantiated page (ConfigurationPageBase) """ - page = NetworkPage() + page = NetworkPage(dlg) return page