eric6/Preferences/ConfigurationPages/WebBrowserPage.py

changeset 7945
76daafe10009
parent 7923
91e843545d9a
child 8143
2c730d5fd177
equal deleted inserted replaced
7941:cf988a30ba47 7945:76daafe10009
9 9
10 from PyQt5.QtCore import pyqtSlot, QLocale 10 from PyQt5.QtCore import pyqtSlot, QLocale
11 11
12 from .ConfigurationPageBase import ConfigurationPageBase 12 from .ConfigurationPageBase import ConfigurationPageBase
13 from .Ui_WebBrowserPage import Ui_WebBrowserPage 13 from .Ui_WebBrowserPage import Ui_WebBrowserPage
14
15 from Globals import qVersionTuple
16 14
17 import UI.PixmapCache 15 import UI.PixmapCache
18 import Preferences 16 import Preferences
19 17
20 18
62 Preferences.getWebBrowser("ErrorPageEnabled")) 60 Preferences.getWebBrowser("ErrorPageEnabled"))
63 self.scrollingCheckBox.setChecked( 61 self.scrollingCheckBox.setChecked(
64 Preferences.getWebBrowser("ScrollAnimatorEnabled")) 62 Preferences.getWebBrowser("ScrollAnimatorEnabled"))
65 self.fullscreenCheckBox.setChecked( 63 self.fullscreenCheckBox.setChecked(
66 Preferences.getWebBrowser("FullScreenSupportEnabled")) 64 Preferences.getWebBrowser("FullScreenSupportEnabled"))
67 try: 65 self.screenCaptureCheckBox.setChecked(
68 # Qt 5.7+ 66 Preferences.getWebBrowser("ScreenCaptureEnabled"))
69 self.screenCaptureCheckBox.setChecked( 67 self.webGLCheckBox.setChecked(
70 Preferences.getWebBrowser("ScreenCaptureEnabled")) 68 Preferences.getWebBrowser("WebGLEnabled"))
71 self.webGLCheckBox.setChecked( 69 self.autoplayMediaCheckBox.setChecked(
72 Preferences.getWebBrowser("WebGLEnabled")) 70 Preferences.getWebBrowser("PlaybackRequiresUserGesture"))
73 except KeyError: 71 self.webRtcPublicOnlyCheckBox.setChecked(
74 self.screenCaptureCheckBox.setEnabled(False) 72 Preferences.getWebBrowser("WebRTCPublicInterfacesOnly"))
75 self.webGLCheckBox.setEnabled(False) 73 self.dnsPrefetchCheckBox.setChecked(
76 try: 74 Preferences.getWebBrowser("DnsPrefetchEnabled"))
77 # Qt 5.11
78 self.autoplayMediaCheckBox.setChecked(
79 Preferences.getWebBrowser("PlaybackRequiresUserGesture"))
80 self.webRtcPublicOnlyCheckBox.setChecked(
81 Preferences.getWebBrowser("WebRTCPublicInterfacesOnly"))
82 except KeyError:
83 self.autoplayMediaCheckBox.setEnabled(False)
84 self.webRtcPublicOnlyCheckBox.setEnabled(False)
85 try:
86 # Qt 5.12
87 self.dnsPrefetchCheckBox.setChecked(
88 Preferences.getWebBrowser("DnsPrefetchEnabled"))
89 except KeyError:
90 self.dnsPrefetchCheckBox.setEnabled(False)
91 75
92 self.javaScriptGroup.setChecked( 76 self.javaScriptGroup.setChecked(
93 Preferences.getWebBrowser("JavaScriptEnabled")) 77 Preferences.getWebBrowser("JavaScriptEnabled"))
94 self.jsOpenWindowsCheckBox.setChecked( 78 self.jsOpenWindowsCheckBox.setChecked(
95 Preferences.getWebBrowser("JavaScriptCanOpenWindows")) 79 Preferences.getWebBrowser("JavaScriptCanOpenWindows"))
96 try: 80 self.jsActivateWindowsCheckBox.setChecked(
97 # Qt 5.10 81 Preferences.getWebBrowser("AllowWindowActivationFromJavaScript"))
98 self.jsActivateWindowsCheckBox.setChecked(
99 Preferences.getWebBrowser(
100 "AllowWindowActivationFromJavaScript"))
101 except KeyError:
102 self.jsActivateWindowsCheckBox.setEnabled(False)
103 self.jsClipboardCheckBox.setChecked( 82 self.jsClipboardCheckBox.setChecked(
104 Preferences.getWebBrowser("JavaScriptCanAccessClipboard")) 83 Preferences.getWebBrowser("JavaScriptCanAccessClipboard"))
105 try: 84 self.jsPasteCheckBox.setChecked(
106 # Qt 5.11 85 Preferences.getWebBrowser("JavaScriptCanPaste"))
107 self.jsPasteCheckBox.setChecked(
108 Preferences.getWebBrowser("JavaScriptCanPaste"))
109 except KeyError:
110 self.jsPasteCheckBox.setEnabled(False)
111 self.doNotTrackCheckBox.setChecked( 86 self.doNotTrackCheckBox.setChecked(
112 Preferences.getWebBrowser("DoNotTrack")) 87 Preferences.getWebBrowser("DoNotTrack"))
113 self.refererSendComboBox.setCurrentIndex( 88 self.refererSendComboBox.setCurrentIndex(
114 Preferences.getWebBrowser("RefererSendReferer")) 89 Preferences.getWebBrowser("RefererSendReferer"))
115 self.refererDefaultPolicyCcomboBox.setCurrentIndex( 90 self.refererDefaultPolicyCcomboBox.setCurrentIndex(
198 173
199 self.spatialCheckBox.setChecked( 174 self.spatialCheckBox.setChecked(
200 Preferences.getWebBrowser("SpatialNavigationEnabled")) 175 Preferences.getWebBrowser("SpatialNavigationEnabled"))
201 self.linksInFocusChainCheckBox.setChecked( 176 self.linksInFocusChainCheckBox.setChecked(
202 Preferences.getWebBrowser("LinksIncludedInFocusChain")) 177 Preferences.getWebBrowser("LinksIncludedInFocusChain"))
203 try: 178 self.focusOnNavigationCheckBox.setChecked(
204 # Qt 5.8 179 Preferences.getWebBrowser("FocusOnNavigationEnabled"))
205 self.focusOnNavigationCheckBox.setChecked(
206 Preferences.getWebBrowser("FocusOnNavigationEnabled"))
207 except KeyError:
208 self.focusOnNavigationCheckBox.setEnabled(False)
209 180
210 self.xssAuditingCheckBox.setChecked( 181 self.xssAuditingCheckBox.setChecked(
211 Preferences.getWebBrowser("XSSAuditingEnabled")) 182 Preferences.getWebBrowser("XSSAuditingEnabled"))
212 try: 183 self.insecureContentsCheckBox.setChecked(
213 # Qt 5.8 184 Preferences.getWebBrowser("AllowRunningInsecureContent"))
214 self.insecureContentsCheckBox.setChecked( 185 self.insecureGeolocationCheckBox.setChecked(
215 Preferences.getWebBrowser("AllowRunningInsecureContent")) 186 Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins"))
216 except KeyError: 187
217 self.insecureContentsCheckBox.setEnabled(False) 188 self.printBackgroundCheckBox.setChecked(
218 try: 189 Preferences.getWebBrowser("PrintElementBackgrounds"))
219 # Qt 5.9
220 self.insecureGeolocationCheckBox.setChecked(
221 Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins"))
222 except KeyError:
223 self.insecureGeolocationCheckBox.setEnabled(False)
224
225 try:
226 # Qt 5.8
227 self.printBackgroundCheckBox.setChecked(
228 Preferences.getWebBrowser("PrintElementBackgrounds"))
229 except KeyError:
230 self.printBackgroundCheckBox.setEnabled(False)
231 190
232 self.autoScrollGroupBox.setChecked( 191 self.autoScrollGroupBox.setChecked(
233 Preferences.getWebBrowser("AutoScrollEnabled")) 192 Preferences.getWebBrowser("AutoScrollEnabled"))
234 self.autoScrollDividerSpinBox.setValue( 193 self.autoScrollDividerSpinBox.setValue(
235 Preferences.getWebBrowser("AutoScrollDivider")) 194 Preferences.getWebBrowser("AutoScrollDivider"))
236 195
237 if qVersionTuple() < (5, 11, 0): 196 self.protocolHandlerComboBox.setCurrentIndex(
238 self.webInspectorGroup.setChecked( 197 Preferences.getWebBrowser("AcceptProtocolHandlerRequest"))
239 Preferences.getWebBrowser("WebInspectorEnabled")) 198 self.requestQuotaComboBox.setCurrentIndex(
240 self.webInspectorPortSpinBox.setValue( 199 Preferences.getWebBrowser("AcceptQuotaRequest"))
241 Preferences.getWebBrowser("WebInspectorPort"))
242 else:
243 self.webInspectorGroup.hide()
244
245 if qVersionTuple() >= (5, 11, 0):
246 self.protocolHandlerComboBox.setCurrentIndex(
247 Preferences.getWebBrowser("AcceptProtocolHandlerRequest"))
248 self.requestQuotaComboBox.setCurrentIndex(
249 Preferences.getWebBrowser("AcceptQuotaRequest"))
250 else:
251 self.protocolHandlerComboBox.setEnabled(False)
252 self.requestQuotaComboBox.setEnabled(False)
253 200
254 def save(self): 201 def save(self):
255 """ 202 """
256 Public slot to save the Help Viewers configuration. 203 Public slot to save the Help Viewers configuration.
257 """ 204 """
275 self.scrollingCheckBox.isChecked()) 222 self.scrollingCheckBox.isChecked())
276 Preferences.setWebBrowser( 223 Preferences.setWebBrowser(
277 "FullScreenSupportEnabled", 224 "FullScreenSupportEnabled",
278 self.fullscreenCheckBox.isChecked()) 225 self.fullscreenCheckBox.isChecked())
279 226
280 if self.screenCaptureCheckBox.isEnabled(): 227 Preferences.setWebBrowser(
281 Preferences.setWebBrowser( 228 "ScreenCaptureEnabled",
282 "ScreenCaptureEnabled", 229 self.screenCaptureCheckBox.isChecked())
283 self.screenCaptureCheckBox.isChecked()) 230 Preferences.setWebBrowser(
284 Preferences.setWebBrowser( 231 "WebGLEnabled",
285 "WebGLEnabled", 232 self.webGLCheckBox.isChecked())
286 self.webGLCheckBox.isChecked()) 233
287 234 Preferences.setWebBrowser(
288 if self.autoplayMediaCheckBox.isEnabled(): 235 "PlaybackRequiresUserGesture",
289 Preferences.setWebBrowser( 236 self.autoplayMediaCheckBox.isChecked())
290 "PlaybackRequiresUserGesture", 237 Preferences.setWebBrowser(
291 self.autoplayMediaCheckBox.isChecked()) 238 "WebRTCPublicInterfacesOnly",
292 Preferences.setWebBrowser( 239 self.webRtcPublicOnlyCheckBox.isChecked())
293 "WebRTCPublicInterfacesOnly", 240
294 self.webRtcPublicOnlyCheckBox.isChecked()) 241 Preferences.setWebBrowser(
295 242 "DnsPrefetchEnabled",
296 if self.dnsPrefetchCheckBox.isEnabled(): 243 self.dnsPrefetchCheckBox.isChecked())
297 Preferences.setWebBrowser(
298 "DnsPrefetchEnabled",
299 self.dnsPrefetchCheckBox.isChecked())
300 244
301 Preferences.setWebBrowser( 245 Preferences.setWebBrowser(
302 "JavaScriptEnabled", 246 "JavaScriptEnabled",
303 self.javaScriptGroup.isChecked()) 247 self.javaScriptGroup.isChecked())
304 Preferences.setWebBrowser( 248 Preferences.setWebBrowser(
305 "JavaScriptCanOpenWindows", 249 "JavaScriptCanOpenWindows",
306 self.jsOpenWindowsCheckBox.isChecked()) 250 self.jsOpenWindowsCheckBox.isChecked())
307 if self.jsActivateWindowsCheckBox.isEnabled(): 251 Preferences.setWebBrowser(
308 Preferences.setWebBrowser( 252 "AllowWindowActivationFromJavaScript",
309 "AllowWindowActivationFromJavaScript", 253 self.jsActivateWindowsCheckBox.isChecked())
310 self.jsActivateWindowsCheckBox.isChecked())
311 Preferences.setWebBrowser( 254 Preferences.setWebBrowser(
312 "JavaScriptCanAccessClipboard", 255 "JavaScriptCanAccessClipboard",
313 self.jsClipboardCheckBox.isChecked()) 256 self.jsClipboardCheckBox.isChecked())
314 if self.jsPasteCheckBox.isEnabled(): 257 Preferences.setWebBrowser(
315 Preferences.setWebBrowser( 258 "JavaScriptCanPaste",
316 "JavaScriptCanPaste", 259 self.jsPasteCheckBox.isChecked())
317 self.jsPasteCheckBox.isChecked())
318 260
319 Preferences.setWebBrowser( 261 Preferences.setWebBrowser(
320 "PluginsEnabled", 262 "PluginsEnabled",
321 self.pluginsGroup.isChecked()) 263 self.pluginsGroup.isChecked())
322 if self.pdfViewerCheckBox.isEnabled(): 264 if self.pdfViewerCheckBox.isEnabled():
401 "SpatialNavigationEnabled", 343 "SpatialNavigationEnabled",
402 self.spatialCheckBox.isChecked()) 344 self.spatialCheckBox.isChecked())
403 Preferences.setWebBrowser( 345 Preferences.setWebBrowser(
404 "LinksIncludedInFocusChain", 346 "LinksIncludedInFocusChain",
405 self.linksInFocusChainCheckBox.isChecked()) 347 self.linksInFocusChainCheckBox.isChecked())
406 if self.focusOnNavigationCheckBox.isEnabled(): 348 Preferences.setWebBrowser(
407 Preferences.setWebBrowser( 349 "FocusOnNavigationEnabled",
408 "FocusOnNavigationEnabled", 350 self.focusOnNavigationCheckBox.isChecked())
409 self.focusOnNavigationCheckBox.isChecked())
410 351
411 Preferences.setWebBrowser( 352 Preferences.setWebBrowser(
412 "XSSAuditingEnabled", 353 "XSSAuditingEnabled",
413 self.xssAuditingCheckBox.isChecked()) 354 self.xssAuditingCheckBox.isChecked())
414 if self.insecureContentsCheckBox.isEnabled(): 355 Preferences.setWebBrowser(
415 Preferences.setWebBrowser( 356 "AllowRunningInsecureContent",
416 "AllowRunningInsecureContent", 357 self.insecureContentsCheckBox.isChecked())
417 self.insecureContentsCheckBox.isChecked()) 358 Preferences.setWebBrowser(
418 if self.insecureGeolocationCheckBox.isEnabled(): 359 "AllowGeolocationOnInsecureOrigins",
419 Preferences.setWebBrowser( 360 self.insecureGeolocationCheckBox.isChecked())
420 "AllowGeolocationOnInsecureOrigins", 361
421 self.insecureGeolocationCheckBox.isChecked()) 362 Preferences.setWebBrowser(
422 363 "PrintElementBackgrounds",
423 if self.printBackgroundCheckBox.isEnabled(): 364 self.printBackgroundCheckBox.isChecked())
424 Preferences.setWebBrowser(
425 "PrintElementBackgrounds",
426 self.printBackgroundCheckBox.isChecked())
427 365
428 Preferences.setWebBrowser( 366 Preferences.setWebBrowser(
429 "AutoScrollEnabled", 367 "AutoScrollEnabled",
430 self.autoScrollGroupBox.isChecked()) 368 self.autoScrollGroupBox.isChecked())
431 Preferences.setWebBrowser( 369 Preferences.setWebBrowser(
432 "AutoScrollDivider", 370 "AutoScrollDivider",
433 self.autoScrollDividerSpinBox.value()) 371 self.autoScrollDividerSpinBox.value())
434 372
435 if qVersionTuple() < (5, 11, 0): 373 Preferences.setWebBrowser(
436 Preferences.setWebBrowser( 374 "AcceptProtocolHandlerRequest",
437 "WebInspectorEnabled", 375 self.protocolHandlerComboBox.currentIndex())
438 self.webInspectorGroup.isChecked()) 376 Preferences.setWebBrowser(
439 Preferences.setWebBrowser( 377 "AcceptQuotaRequest",
440 "WebInspectorPort", 378 self.requestQuotaComboBox.currentIndex())
441 self.webInspectorPortSpinBox.value())
442
443 if self.protocolHandlerComboBox.isEnabled():
444 Preferences.setWebBrowser(
445 "AcceptProtocolHandlerRequest",
446 self.protocolHandlerComboBox.currentIndex())
447 Preferences.setWebBrowser(
448 "AcceptQuotaRequest",
449 self.requestQuotaComboBox.currentIndex())
450 379
451 @pyqtSlot() 380 @pyqtSlot()
452 def on_setCurrentPageButton_clicked(self): 381 def on_setCurrentPageButton_clicked(self):
453 """ 382 """
454 Private slot to set the current page as the home page. 383 Private slot to set the current page as the home page.

eric ide

mercurial