20 from E5Network.E5SslErrorHandler import E5SslErrorHandler |
20 from E5Network.E5SslErrorHandler import E5SslErrorHandler |
21 SSL_AVAILABLE = True |
21 SSL_AVAILABLE = True |
22 except ImportError: |
22 except ImportError: |
23 SSL_AVAILABLE = False |
23 SSL_AVAILABLE = False |
24 |
24 |
25 from UI.AuthenticationDialog import AuthenticationDialog |
|
26 |
|
27 from Helpviewer.HelpLanguagesDialog import HelpLanguagesDialog |
|
28 import Helpviewer.HelpWindow |
|
29 |
|
30 from .NetworkProtocolUnknownErrorReply import NetworkProtocolUnknownErrorReply |
|
31 from .NetworkDiskCache import NetworkDiskCache |
|
32 |
|
33 from .QtHelpAccessHandler import QtHelpAccessHandler |
|
34 from .EricAccessHandler import EricAccessHandler |
|
35 from .AboutAccessHandler import AboutAccessHandler |
|
36 from .FtpAccessHandler import FtpAccessHandler |
|
37 from .FileAccessHandler import FileAccessHandler |
|
38 |
|
39 from Helpviewer.AdBlock.AdBlockAccessHandler import AdBlockAccessHandler |
|
40 |
|
41 import Preferences |
25 import Preferences |
42 import Utilities |
26 import Utilities |
43 |
27 |
44 |
28 |
45 class NetworkAccessManager(QNetworkAccessManager): |
29 class NetworkAccessManager(QNetworkAccessManager): |
80 |
64 |
81 self.__doNotTrack = Preferences.getHelp("DoNotTrack") |
65 self.__doNotTrack = Preferences.getHelp("DoNotTrack") |
82 self.__sendReferer = Preferences.getHelp("SendReferer") |
66 self.__sendReferer = Preferences.getHelp("SendReferer") |
83 |
67 |
84 # register scheme handlers |
68 # register scheme handlers |
|
69 from .QtHelpAccessHandler import QtHelpAccessHandler |
85 self.setSchemeHandler("qthelp", QtHelpAccessHandler(engine, self)) |
70 self.setSchemeHandler("qthelp", QtHelpAccessHandler(engine, self)) |
|
71 |
|
72 from .EricAccessHandler import EricAccessHandler |
86 self.setSchemeHandler("eric", EricAccessHandler(self)) |
73 self.setSchemeHandler("eric", EricAccessHandler(self)) |
|
74 |
|
75 from .AboutAccessHandler import AboutAccessHandler |
87 self.setSchemeHandler("about", AboutAccessHandler(self)) |
76 self.setSchemeHandler("about", AboutAccessHandler(self)) |
|
77 |
|
78 from Helpviewer.AdBlock.AdBlockAccessHandler import AdBlockAccessHandler |
88 self.setSchemeHandler("abp", AdBlockAccessHandler(self)) |
79 self.setSchemeHandler("abp", AdBlockAccessHandler(self)) |
|
80 |
|
81 from .FtpAccessHandler import FtpAccessHandler |
89 self.setSchemeHandler("ftp", FtpAccessHandler(self)) |
82 self.setSchemeHandler("ftp", FtpAccessHandler(self)) |
|
83 |
|
84 from .FileAccessHandler import FileAccessHandler |
90 self.setSchemeHandler("file", FileAccessHandler(self)) |
85 self.setSchemeHandler("file", FileAccessHandler(self)) |
91 |
86 |
92 def setSchemeHandler(self, scheme, handler): |
87 def setSchemeHandler(self, scheme, handler): |
93 """ |
88 """ |
94 Public method to register a scheme handler. |
89 Public method to register a scheme handler. |
108 (QIODevice) |
103 (QIODevice) |
109 @return reference to the created reply object (QNetworkReply) |
104 @return reference to the created reply object (QNetworkReply) |
110 """ |
105 """ |
111 scheme = request.url().scheme() |
106 scheme = request.url().scheme() |
112 if scheme == "https" and (not SSL_AVAILABLE or not QSslSocket.supportsSsl()): |
107 if scheme == "https" and (not SSL_AVAILABLE or not QSslSocket.supportsSsl()): |
|
108 from .NetworkProtocolUnknownErrorReply import NetworkProtocolUnknownErrorReply |
113 return NetworkProtocolUnknownErrorReply(scheme, self) |
109 return NetworkProtocolUnknownErrorReply(scheme, self) |
|
110 |
|
111 import Helpviewer.HelpWindow |
114 |
112 |
115 if op == QNetworkAccessManager.PostOperation and outgoingData is not None: |
113 if op == QNetworkAccessManager.PostOperation and outgoingData is not None: |
116 outgoingDataByteArray = outgoingData.peek(1024 * 1024) |
114 outgoingDataByteArray = outgoingData.peek(1024 * 1024) |
117 Helpviewer.HelpWindow.HelpWindow.passwordManager().post( |
115 Helpviewer.HelpWindow.HelpWindow.passwordManager().post( |
118 request, outgoingDataByteArray) |
116 request, outgoingDataByteArray) |
186 info = self.trUtf8("<b>Enter username and password for '{0}', " |
184 info = self.trUtf8("<b>Enter username and password for '{0}', " |
187 "realm '{1}'</b>").format(urlRoot, realm) |
185 "realm '{1}'</b>").format(urlRoot, realm) |
188 else: |
186 else: |
189 info = self.trUtf8("<b>Enter username and password for '{0}'</b>")\ |
187 info = self.trUtf8("<b>Enter username and password for '{0}'</b>")\ |
190 .format(urlRoot) |
188 .format(urlRoot) |
|
189 |
|
190 from UI.AuthenticationDialog import AuthenticationDialog |
|
191 import Helpviewer.HelpWindow |
191 |
192 |
192 dlg = AuthenticationDialog(info, auth.user(), |
193 dlg = AuthenticationDialog(info, auth.user(), |
193 Preferences.getUser("SavePasswords"), |
194 Preferences.getUser("SavePasswords"), |
194 Preferences.getUser("SavePasswords")) |
195 Preferences.getUser("SavePasswords")) |
195 if Preferences.getUser("SavePasswords"): |
196 if Preferences.getUser("SavePasswords"): |
217 |
218 |
218 def languagesChanged(self): |
219 def languagesChanged(self): |
219 """ |
220 """ |
220 Public slot to (re-)load the list of accepted languages. |
221 Public slot to (re-)load the list of accepted languages. |
221 """ |
222 """ |
|
223 from Helpviewer.HelpLanguagesDialog import HelpLanguagesDialog |
222 languages = Preferences.toList( |
224 languages = Preferences.toList( |
223 Preferences.Prefs.settings.value("Help/AcceptLanguages", |
225 Preferences.Prefs.settings.value("Help/AcceptLanguages", |
224 HelpLanguagesDialog.defaultAcceptLanguages())) |
226 HelpLanguagesDialog.defaultAcceptLanguages())) |
225 self.__acceptLanguage = HelpLanguagesDialog.httpString(languages) |
227 self.__acceptLanguage = HelpLanguagesDialog.httpString(languages) |
226 |
228 |
227 def __setDiskCache(self): |
229 def __setDiskCache(self): |
228 """ |
230 """ |
229 Private method to set the disk cache. |
231 Private method to set the disk cache. |
230 """ |
232 """ |
231 if NetworkDiskCache is not None: |
233 if Preferences.getHelp("DiskCacheEnabled"): |
232 if Preferences.getHelp("DiskCacheEnabled"): |
234 from .NetworkDiskCache import NetworkDiskCache |
233 diskCache = NetworkDiskCache(self) |
235 diskCache = NetworkDiskCache(self) |
234 location = os.path.join(Utilities.getConfigDir(), "browser", 'cache') |
236 location = os.path.join(Utilities.getConfigDir(), "browser", 'cache') |
235 size = Preferences.getHelp("DiskCacheSize") * 1024 * 1024 |
237 size = Preferences.getHelp("DiskCacheSize") * 1024 * 1024 |
236 diskCache.setCacheDirectory(location) |
238 diskCache.setCacheDirectory(location) |
237 diskCache.setMaximumCacheSize(size) |
239 diskCache.setMaximumCacheSize(size) |
238 else: |
240 else: |
239 diskCache = None |
241 diskCache = None |
240 self.setCache(diskCache) |
242 self.setCache(diskCache) |