Preferences/ConfigurationPages/NetworkPage.py

branch
QtWebEngine
changeset 4856
15739e8eb6c5
parent 4631
5c1a96925da4
child 4895
3baaf8303a7f
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

eric ide

mercurial