src/eric7/Preferences/ConfigurationPages/WebBrowserPage.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9350
8d2b507f8588
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
18 18
19 class WebBrowserPage(ConfigurationPageBase, Ui_WebBrowserPage): 19 class WebBrowserPage(ConfigurationPageBase, Ui_WebBrowserPage):
20 """ 20 """
21 Class implementing the Web Browser configuration page. 21 Class implementing the Web Browser configuration page.
22 """ 22 """
23
23 def __init__(self, configDialog): 24 def __init__(self, configDialog):
24 """ 25 """
25 Constructor 26 Constructor
26 27
27 @param configDialog reference to the configuration dialog 28 @param configDialog reference to the configuration dialog
28 (ConfigurationDialog) 29 (ConfigurationDialog)
29 """ 30 """
30 super().__init__() 31 super().__init__()
31 self.setupUi(self) 32 self.setupUi(self)
32 self.setObjectName("WebBrowserPage") 33 self.setObjectName("WebBrowserPage")
33 34
34 self.__configDlg = configDialog 35 self.__configDlg = configDialog
35 mw = configDialog.parent().parent() 36 mw = configDialog.parent().parent()
36 if hasattr(mw, "helpWindow") and mw.helpWindow is not None: 37 if hasattr(mw, "helpWindow") and mw.helpWindow is not None:
37 # IDE 38 # IDE
38 self.__browserWindow = mw.helpWindow 39 self.__browserWindow = mw.helpWindow
41 self.__browserWindow = mw 42 self.__browserWindow = mw
42 else: 43 else:
43 self.__browserWindow = None 44 self.__browserWindow = None
44 self.setCurrentPageButton.setEnabled(self.__browserWindow is not None) 45 self.setCurrentPageButton.setEnabled(self.__browserWindow is not None)
45 self.imageSearchGroup.setEnabled(self.__browserWindow is not None) 46 self.imageSearchGroup.setEnabled(self.__browserWindow is not None)
46 47
47 defaultSchemes = ["file://", "http://", "https://"] 48 defaultSchemes = ["file://", "http://", "https://"]
48 self.defaultSchemeCombo.addItems(defaultSchemes) 49 self.defaultSchemeCombo.addItems(defaultSchemes)
49 50
50 # set initial values 51 # set initial values
51 self.singleHelpWindowCheckBox.setChecked( 52 self.singleHelpWindowCheckBox.setChecked(
52 Preferences.getWebBrowser("SingleWebBrowserWindow")) 53 Preferences.getWebBrowser("SingleWebBrowserWindow")
53 self.saveGeometryCheckBox.setChecked( 54 )
54 Preferences.getWebBrowser("SaveGeometry")) 55 self.saveGeometryCheckBox.setChecked(Preferences.getWebBrowser("SaveGeometry"))
55 self.webSuggestionsCheckBox.setChecked( 56 self.webSuggestionsCheckBox.setChecked(
56 Preferences.getWebBrowser("WebSearchSuggestions")) 57 Preferences.getWebBrowser("WebSearchSuggestions")
57 self.showTabPreviews.setChecked( 58 )
58 Preferences.getWebBrowser("ShowPreview")) 59 self.showTabPreviews.setChecked(Preferences.getWebBrowser("ShowPreview"))
59 self.errorPageCheckBox.setChecked( 60 self.errorPageCheckBox.setChecked(Preferences.getWebBrowser("ErrorPageEnabled"))
60 Preferences.getWebBrowser("ErrorPageEnabled"))
61 self.scrollingCheckBox.setChecked( 61 self.scrollingCheckBox.setChecked(
62 Preferences.getWebBrowser("ScrollAnimatorEnabled")) 62 Preferences.getWebBrowser("ScrollAnimatorEnabled")
63 )
63 self.fullscreenCheckBox.setChecked( 64 self.fullscreenCheckBox.setChecked(
64 Preferences.getWebBrowser("FullScreenSupportEnabled")) 65 Preferences.getWebBrowser("FullScreenSupportEnabled")
66 )
65 self.screenCaptureCheckBox.setChecked( 67 self.screenCaptureCheckBox.setChecked(
66 Preferences.getWebBrowser("ScreenCaptureEnabled")) 68 Preferences.getWebBrowser("ScreenCaptureEnabled")
67 self.webGLCheckBox.setChecked( 69 )
68 Preferences.getWebBrowser("WebGLEnabled")) 70 self.webGLCheckBox.setChecked(Preferences.getWebBrowser("WebGLEnabled"))
69 self.accelerated2dCanvasCheckBox.setChecked( 71 self.accelerated2dCanvasCheckBox.setChecked(
70 Preferences.getWebBrowser("Accelerated2dCanvasEnabled")) 72 Preferences.getWebBrowser("Accelerated2dCanvasEnabled")
73 )
71 self.autoloadIconsCheckBox.setChecked( 74 self.autoloadIconsCheckBox.setChecked(
72 Preferences.getWebBrowser("AutoLoadIconsForPage")) 75 Preferences.getWebBrowser("AutoLoadIconsForPage")
76 )
73 self.autoplayMediaCheckBox.setChecked( 77 self.autoplayMediaCheckBox.setChecked(
74 Preferences.getWebBrowser("PlaybackRequiresUserGesture")) 78 Preferences.getWebBrowser("PlaybackRequiresUserGesture")
79 )
75 self.webRtcPublicOnlyCheckBox.setChecked( 80 self.webRtcPublicOnlyCheckBox.setChecked(
76 Preferences.getWebBrowser("WebRTCPublicInterfacesOnly")) 81 Preferences.getWebBrowser("WebRTCPublicInterfacesOnly")
82 )
77 self.dnsPrefetchCheckBox.setChecked( 83 self.dnsPrefetchCheckBox.setChecked(
78 Preferences.getWebBrowser("DnsPrefetchEnabled")) 84 Preferences.getWebBrowser("DnsPrefetchEnabled")
79 85 )
80 self.javaScriptGroup.setChecked( 86
81 Preferences.getWebBrowser("JavaScriptEnabled")) 87 self.javaScriptGroup.setChecked(Preferences.getWebBrowser("JavaScriptEnabled"))
82 self.jsOpenWindowsCheckBox.setChecked( 88 self.jsOpenWindowsCheckBox.setChecked(
83 Preferences.getWebBrowser("JavaScriptCanOpenWindows")) 89 Preferences.getWebBrowser("JavaScriptCanOpenWindows")
90 )
84 self.jsActivateWindowsCheckBox.setChecked( 91 self.jsActivateWindowsCheckBox.setChecked(
85 Preferences.getWebBrowser("AllowWindowActivationFromJavaScript")) 92 Preferences.getWebBrowser("AllowWindowActivationFromJavaScript")
93 )
86 self.jsClipboardCheckBox.setChecked( 94 self.jsClipboardCheckBox.setChecked(
87 Preferences.getWebBrowser("JavaScriptCanAccessClipboard")) 95 Preferences.getWebBrowser("JavaScriptCanAccessClipboard")
88 self.jsPasteCheckBox.setChecked( 96 )
89 Preferences.getWebBrowser("JavaScriptCanPaste")) 97 self.jsPasteCheckBox.setChecked(Preferences.getWebBrowser("JavaScriptCanPaste"))
90 self.doNotTrackCheckBox.setChecked( 98 self.doNotTrackCheckBox.setChecked(Preferences.getWebBrowser("DoNotTrack"))
91 Preferences.getWebBrowser("DoNotTrack"))
92 self.refererSendComboBox.setCurrentIndex( 99 self.refererSendComboBox.setCurrentIndex(
93 Preferences.getWebBrowser("RefererSendReferer")) 100 Preferences.getWebBrowser("RefererSendReferer")
101 )
94 self.refererDefaultPolicyCcomboBox.setCurrentIndex( 102 self.refererDefaultPolicyCcomboBox.setCurrentIndex(
95 Preferences.getWebBrowser("RefererDefaultPolicy")) 103 Preferences.getWebBrowser("RefererDefaultPolicy")
104 )
96 self.refererTrimmingPolicyComboBox.setCurrentIndex( 105 self.refererTrimmingPolicyComboBox.setCurrentIndex(
97 Preferences.getWebBrowser("RefererTrimmingPolicy")) 106 Preferences.getWebBrowser("RefererTrimmingPolicy")
98 107 )
99 self.pluginsGroup.setChecked( 108
100 Preferences.getWebBrowser("PluginsEnabled")) 109 self.pluginsGroup.setChecked(Preferences.getWebBrowser("PluginsEnabled"))
101 try: 110 try:
102 # Qt 5.13 111 # Qt 5.13
103 self.pdfViewerCheckBox.setChecked( 112 self.pdfViewerCheckBox.setChecked(
104 Preferences.getWebBrowser("PdfViewerEnabled")) 113 Preferences.getWebBrowser("PdfViewerEnabled")
114 )
105 except KeyError: 115 except KeyError:
106 self.pdfViewerCheckBox.setEnabled(False) 116 self.pdfViewerCheckBox.setEnabled(False)
107 117
108 self.diskCacheCheckBox.setChecked( 118 self.diskCacheCheckBox.setChecked(Preferences.getWebBrowser("DiskCacheEnabled"))
109 Preferences.getWebBrowser("DiskCacheEnabled")) 119 self.cacheSizeSpinBox.setValue(Preferences.getWebBrowser("DiskCacheSize"))
110 self.cacheSizeSpinBox.setValue( 120
111 Preferences.getWebBrowser("DiskCacheSize")) 121 self.startupCombo.setCurrentIndex(Preferences.getWebBrowser("StartupBehavior"))
112 122 self.newTabCombo.setCurrentIndex(Preferences.getWebBrowser("NewTabBehavior"))
113 self.startupCombo.setCurrentIndex( 123 self.homePageEdit.setText(Preferences.getWebBrowser("HomePage"))
114 Preferences.getWebBrowser("StartupBehavior"))
115 self.newTabCombo.setCurrentIndex(
116 Preferences.getWebBrowser("NewTabBehavior"))
117 self.homePageEdit.setText(
118 Preferences.getWebBrowser("HomePage"))
119 self.loadTabOnActivationCheckBox.setChecked( 124 self.loadTabOnActivationCheckBox.setChecked(
120 Preferences.getWebBrowser("LoadTabOnActivation")) 125 Preferences.getWebBrowser("LoadTabOnActivation")
121 126 )
127
122 self.saveSessionCheckBox.setChecked( 128 self.saveSessionCheckBox.setChecked(
123 Preferences.getWebBrowser("SessionAutoSave")) 129 Preferences.getWebBrowser("SessionAutoSave")
130 )
124 self.sessionTimerSpinBox.setValue( 131 self.sessionTimerSpinBox.setValue(
125 Preferences.getWebBrowser("SessionAutoSaveInterval")) 132 Preferences.getWebBrowser("SessionAutoSaveInterval")
126 133 )
134
127 self.defaultSchemeCombo.setCurrentIndex( 135 self.defaultSchemeCombo.setCurrentIndex(
128 self.defaultSchemeCombo.findText( 136 self.defaultSchemeCombo.findText(Preferences.getWebBrowser("DefaultScheme"))
129 Preferences.getWebBrowser("DefaultScheme"))) 137 )
130 138
131 historyLimit = Preferences.getWebBrowser("HistoryLimit") 139 historyLimit = Preferences.getWebBrowser("HistoryLimit")
132 idx = 0 140 idx = 0
133 if historyLimit == 1: 141 if historyLimit == 1:
134 idx = 0 142 idx = 0
135 elif historyLimit == 7: 143 elif historyLimit == 7:
145 elif historyLimit == -2: 153 elif historyLimit == -2:
146 idx = 6 154 idx = 6
147 else: 155 else:
148 idx = 5 156 idx = 5
149 self.expireHistory.setCurrentIndex(idx) 157 self.expireHistory.setCurrentIndex(idx)
150 158
151 for language in QLocale.Language: 159 for language in QLocale.Language:
152 if language == QLocale.Language.C: 160 if language == QLocale.Language.C:
153 continue 161 continue
154 162
155 countries = [ 163 countries = [
156 loc.country() 164 loc.country()
157 for loc in QLocale.matchingLocales( 165 for loc in QLocale.matchingLocales(
158 language, QLocale.Script.AnyScript, 166 language, QLocale.Script.AnyScript, QLocale.Country.AnyCountry
159 QLocale.Country.AnyCountry
160 ) 167 )
161 ] 168 ]
162 if len(countries) > 0: 169 if len(countries) > 0:
163 self.languageCombo.addItem( 170 self.languageCombo.addItem(QLocale.languageToString(language), language)
164 QLocale.languageToString(language), language)
165 self.languageCombo.model().sort(0) 171 self.languageCombo.model().sort(0)
166 self.languageCombo.insertSeparator(0) 172 self.languageCombo.insertSeparator(0)
167 self.languageCombo.insertItem( 173 self.languageCombo.insertItem(
168 0, QLocale.languageToString(QLocale.Language.AnyLanguage), 0) 174 0, QLocale.languageToString(QLocale.Language.AnyLanguage), 0
169 index = self.languageCombo.findData( 175 )
170 Preferences.getWebBrowser("SearchLanguage")) 176 index = self.languageCombo.findData(Preferences.getWebBrowser("SearchLanguage"))
171 if index > -1: 177 if index > -1:
172 self.languageCombo.setCurrentIndex(index) 178 self.languageCombo.setCurrentIndex(index)
173 179
174 if self.__browserWindow: 180 if self.__browserWindow:
175 for engineName in ( 181 for (
176 self.__browserWindow.imageSearchEngine().searchEngineNames() 182 engineName
177 ): 183 ) in self.__browserWindow.imageSearchEngine().searchEngineNames():
178 self.imageSearchComboBox.addItem( 184 self.imageSearchComboBox.addItem(
179 UI.PixmapCache.getIcon( 185 UI.PixmapCache.getIcon("{0}".format(engineName.lower())), engineName
180 "{0}".format(engineName.lower())), 186 )
181 engineName)
182 index = self.imageSearchComboBox.findText( 187 index = self.imageSearchComboBox.findText(
183 Preferences.getWebBrowser("ImageSearchEngine")) 188 Preferences.getWebBrowser("ImageSearchEngine")
189 )
184 if index > -1: 190 if index > -1:
185 self.imageSearchComboBox.setCurrentIndex(index) 191 self.imageSearchComboBox.setCurrentIndex(index)
186 192
187 self.spatialCheckBox.setChecked( 193 self.spatialCheckBox.setChecked(
188 Preferences.getWebBrowser("SpatialNavigationEnabled")) 194 Preferences.getWebBrowser("SpatialNavigationEnabled")
195 )
189 self.linksInFocusChainCheckBox.setChecked( 196 self.linksInFocusChainCheckBox.setChecked(
190 Preferences.getWebBrowser("LinksIncludedInFocusChain")) 197 Preferences.getWebBrowser("LinksIncludedInFocusChain")
198 )
191 self.focusOnNavigationCheckBox.setChecked( 199 self.focusOnNavigationCheckBox.setChecked(
192 Preferences.getWebBrowser("FocusOnNavigationEnabled")) 200 Preferences.getWebBrowser("FocusOnNavigationEnabled")
193 201 )
202
194 self.xssAuditingCheckBox.setChecked( 203 self.xssAuditingCheckBox.setChecked(
195 Preferences.getWebBrowser("XSSAuditingEnabled")) 204 Preferences.getWebBrowser("XSSAuditingEnabled")
205 )
196 self.insecureContentsCheckBox.setChecked( 206 self.insecureContentsCheckBox.setChecked(
197 Preferences.getWebBrowser("AllowRunningInsecureContent")) 207 Preferences.getWebBrowser("AllowRunningInsecureContent")
208 )
198 self.insecureGeolocationCheckBox.setChecked( 209 self.insecureGeolocationCheckBox.setChecked(
199 Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins")) 210 Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins")
200 211 )
212
201 self.printBackgroundCheckBox.setChecked( 213 self.printBackgroundCheckBox.setChecked(
202 Preferences.getWebBrowser("PrintElementBackgrounds")) 214 Preferences.getWebBrowser("PrintElementBackgrounds")
203 215 )
216
204 self.autoScrollGroupBox.setChecked( 217 self.autoScrollGroupBox.setChecked(
205 Preferences.getWebBrowser("AutoScrollEnabled")) 218 Preferences.getWebBrowser("AutoScrollEnabled")
219 )
206 self.autoScrollDividerSpinBox.setValue( 220 self.autoScrollDividerSpinBox.setValue(
207 Preferences.getWebBrowser("AutoScrollDivider")) 221 Preferences.getWebBrowser("AutoScrollDivider")
208 222 )
223
209 self.protocolHandlerComboBox.setCurrentIndex( 224 self.protocolHandlerComboBox.setCurrentIndex(
210 Preferences.getWebBrowser("AcceptProtocolHandlerRequest")) 225 Preferences.getWebBrowser("AcceptProtocolHandlerRequest")
226 )
211 self.requestQuotaComboBox.setCurrentIndex( 227 self.requestQuotaComboBox.setCurrentIndex(
212 Preferences.getWebBrowser("AcceptQuotaRequest")) 228 Preferences.getWebBrowser("AcceptQuotaRequest")
213 229 )
230
214 def save(self): 231 def save(self):
215 """ 232 """
216 Public slot to save the Help Viewers configuration. 233 Public slot to save the Help Viewers configuration.
217 """ 234 """
218 Preferences.setWebBrowser( 235 Preferences.setWebBrowser(
219 "SingleWebBrowserWindow", 236 "SingleWebBrowserWindow", self.singleHelpWindowCheckBox.isChecked()
220 self.singleHelpWindowCheckBox.isChecked()) 237 )
221 Preferences.setWebBrowser( 238 Preferences.setWebBrowser("SaveGeometry", self.saveGeometryCheckBox.isChecked())
222 "SaveGeometry", 239 Preferences.setWebBrowser(
223 self.saveGeometryCheckBox.isChecked()) 240 "WebSearchSuggestions", self.webSuggestionsCheckBox.isChecked()
224 Preferences.setWebBrowser( 241 )
225 "WebSearchSuggestions", 242 Preferences.setWebBrowser("ShowPreview", self.showTabPreviews.isChecked())
226 self.webSuggestionsCheckBox.isChecked()) 243 Preferences.setWebBrowser(
227 Preferences.setWebBrowser( 244 "ErrorPageEnabled", self.errorPageCheckBox.isChecked()
228 "ShowPreview", 245 )
229 self.showTabPreviews.isChecked()) 246 Preferences.setWebBrowser(
230 Preferences.setWebBrowser( 247 "ScrollAnimatorEnabled", self.scrollingCheckBox.isChecked()
231 "ErrorPageEnabled", 248 )
232 self.errorPageCheckBox.isChecked()) 249 Preferences.setWebBrowser(
233 Preferences.setWebBrowser( 250 "FullScreenSupportEnabled", self.fullscreenCheckBox.isChecked()
234 "ScrollAnimatorEnabled", 251 )
235 self.scrollingCheckBox.isChecked()) 252
236 Preferences.setWebBrowser( 253 Preferences.setWebBrowser(
237 "FullScreenSupportEnabled", 254 "ScreenCaptureEnabled", self.screenCaptureCheckBox.isChecked()
238 self.fullscreenCheckBox.isChecked()) 255 )
239 256 Preferences.setWebBrowser("WebGLEnabled", self.webGLCheckBox.isChecked())
240 Preferences.setWebBrowser( 257 Preferences.setWebBrowser(
241 "ScreenCaptureEnabled", 258 "Accelerated2dCanvasEnabled", self.accelerated2dCanvasCheckBox.isChecked()
242 self.screenCaptureCheckBox.isChecked()) 259 ),
243 Preferences.setWebBrowser( 260
244 "WebGLEnabled", 261 Preferences.setWebBrowser(
245 self.webGLCheckBox.isChecked()) 262 "AutoLoadIconsForPage", self.autoloadIconsCheckBox.isChecked()
246 Preferences.setWebBrowser( 263 ),
247 "Accelerated2dCanvasEnabled", 264 Preferences.setWebBrowser(
248 self.accelerated2dCanvasCheckBox.isChecked()), 265 "PlaybackRequiresUserGesture", self.autoplayMediaCheckBox.isChecked()
249 266 )
250 Preferences.setWebBrowser( 267 Preferences.setWebBrowser(
251 "AutoLoadIconsForPage", 268 "WebRTCPublicInterfacesOnly", self.webRtcPublicOnlyCheckBox.isChecked()
252 self.autoloadIconsCheckBox.isChecked()), 269 )
253 Preferences.setWebBrowser( 270
254 "PlaybackRequiresUserGesture", 271 Preferences.setWebBrowser(
255 self.autoplayMediaCheckBox.isChecked()) 272 "DnsPrefetchEnabled", self.dnsPrefetchCheckBox.isChecked()
256 Preferences.setWebBrowser( 273 )
257 "WebRTCPublicInterfacesOnly", 274
258 self.webRtcPublicOnlyCheckBox.isChecked()) 275 Preferences.setWebBrowser("JavaScriptEnabled", self.javaScriptGroup.isChecked())
259 276 Preferences.setWebBrowser(
260 Preferences.setWebBrowser( 277 "JavaScriptCanOpenWindows", self.jsOpenWindowsCheckBox.isChecked()
261 "DnsPrefetchEnabled", 278 )
262 self.dnsPrefetchCheckBox.isChecked())
263
264 Preferences.setWebBrowser(
265 "JavaScriptEnabled",
266 self.javaScriptGroup.isChecked())
267 Preferences.setWebBrowser(
268 "JavaScriptCanOpenWindows",
269 self.jsOpenWindowsCheckBox.isChecked())
270 Preferences.setWebBrowser( 279 Preferences.setWebBrowser(
271 "AllowWindowActivationFromJavaScript", 280 "AllowWindowActivationFromJavaScript",
272 self.jsActivateWindowsCheckBox.isChecked()) 281 self.jsActivateWindowsCheckBox.isChecked(),
273 Preferences.setWebBrowser( 282 )
274 "JavaScriptCanAccessClipboard", 283 Preferences.setWebBrowser(
275 self.jsClipboardCheckBox.isChecked()) 284 "JavaScriptCanAccessClipboard", self.jsClipboardCheckBox.isChecked()
276 Preferences.setWebBrowser( 285 )
277 "JavaScriptCanPaste", 286 Preferences.setWebBrowser(
278 self.jsPasteCheckBox.isChecked()) 287 "JavaScriptCanPaste", self.jsPasteCheckBox.isChecked()
279 288 )
280 Preferences.setWebBrowser( 289
281 "PluginsEnabled", 290 Preferences.setWebBrowser("PluginsEnabled", self.pluginsGroup.isChecked())
282 self.pluginsGroup.isChecked())
283 if self.pdfViewerCheckBox.isEnabled(): 291 if self.pdfViewerCheckBox.isEnabled():
284 Preferences.setWebBrowser( 292 Preferences.setWebBrowser(
285 "PdfViewerEnabled", 293 "PdfViewerEnabled", self.pdfViewerCheckBox.isChecked()
286 self.pdfViewerCheckBox.isChecked()) 294 )
287 295
288 Preferences.setWebBrowser( 296 Preferences.setWebBrowser("DoNotTrack", self.doNotTrackCheckBox.isChecked())
289 "DoNotTrack", 297 Preferences.setWebBrowser(
290 self.doNotTrackCheckBox.isChecked()) 298 "RefererSendReferer", self.refererSendComboBox.currentIndex()
291 Preferences.setWebBrowser( 299 )
292 "RefererSendReferer", 300 Preferences.setWebBrowser(
293 self.refererSendComboBox.currentIndex()) 301 "RefererDefaultPolicy", self.refererDefaultPolicyCcomboBox.currentIndex()
294 Preferences.setWebBrowser( 302 )
295 "RefererDefaultPolicy", 303 Preferences.setWebBrowser(
296 self.refererDefaultPolicyCcomboBox.currentIndex()) 304 "RefererTrimmingPolicy", self.refererTrimmingPolicyComboBox.currentIndex()
297 Preferences.setWebBrowser( 305 )
298 "RefererTrimmingPolicy", 306
299 self.refererTrimmingPolicyComboBox.currentIndex()) 307 Preferences.setWebBrowser(
300 308 "DiskCacheEnabled", self.diskCacheCheckBox.isChecked()
301 Preferences.setWebBrowser( 309 )
302 "DiskCacheEnabled", 310 Preferences.setWebBrowser("DiskCacheSize", self.cacheSizeSpinBox.value())
303 self.diskCacheCheckBox.isChecked()) 311
304 Preferences.setWebBrowser( 312 Preferences.setWebBrowser("StartupBehavior", self.startupCombo.currentIndex())
305 "DiskCacheSize", 313 Preferences.setWebBrowser("NewTabBehavior", self.newTabCombo.currentIndex())
306 self.cacheSizeSpinBox.value()) 314 Preferences.setWebBrowser("HomePage", self.homePageEdit.text())
307 315 Preferences.setWebBrowser(
308 Preferences.setWebBrowser( 316 "LoadTabOnActivation", self.loadTabOnActivationCheckBox.isChecked()
309 "StartupBehavior", 317 )
310 self.startupCombo.currentIndex()) 318
311 Preferences.setWebBrowser( 319 Preferences.setWebBrowser(
312 "NewTabBehavior", 320 "SessionAutoSave", self.saveSessionCheckBox.isChecked()
313 self.newTabCombo.currentIndex()) 321 )
314 Preferences.setWebBrowser( 322 Preferences.setWebBrowser(
315 "HomePage", 323 "SessionAutoSaveInterval", self.sessionTimerSpinBox.value()
316 self.homePageEdit.text()) 324 )
317 Preferences.setWebBrowser( 325
318 "LoadTabOnActivation", 326 Preferences.setWebBrowser(
319 self.loadTabOnActivationCheckBox.isChecked()) 327 "DefaultScheme", self.defaultSchemeCombo.currentText()
320 328 )
321 Preferences.setWebBrowser( 329
322 "SessionAutoSave",
323 self.saveSessionCheckBox.isChecked())
324 Preferences.setWebBrowser(
325 "SessionAutoSaveInterval",
326 self.sessionTimerSpinBox.value())
327
328 Preferences.setWebBrowser(
329 "DefaultScheme",
330 self.defaultSchemeCombo.currentText())
331
332 idx = self.expireHistory.currentIndex() 330 idx = self.expireHistory.currentIndex()
333 if idx == 0: 331 if idx == 0:
334 historyLimit = 1 332 historyLimit = 1
335 elif idx == 1: 333 elif idx == 1:
336 historyLimit = 7 334 historyLimit = 7
343 elif idx == 5: 341 elif idx == 5:
344 historyLimit = -1 342 historyLimit = -1
345 elif idx == 6: 343 elif idx == 6:
346 historyLimit = -2 344 historyLimit = -2
347 Preferences.setWebBrowser("HistoryLimit", historyLimit) 345 Preferences.setWebBrowser("HistoryLimit", historyLimit)
348 346
349 languageIndex = self.languageCombo.currentIndex() 347 languageIndex = self.languageCombo.currentIndex()
350 language = ( 348 language = (
351 self.languageCombo.itemData(languageIndex) 349 self.languageCombo.itemData(languageIndex)
352 if languageIndex > -1 else 350 if languageIndex > -1
351 else
353 # fall back to system default 352 # fall back to system default
354 QLocale.system().language() 353 QLocale.system().language()
355 ) 354 )
356 Preferences.setWebBrowser("SearchLanguage", language) 355 Preferences.setWebBrowser("SearchLanguage", language)
357 356
358 Preferences.setWebBrowser( 357 Preferences.setWebBrowser(
359 "ImageSearchEngine", 358 "ImageSearchEngine", self.imageSearchComboBox.currentText()
360 self.imageSearchComboBox.currentText()) 359 )
361 360
362 Preferences.setWebBrowser( 361 Preferences.setWebBrowser(
363 "SpatialNavigationEnabled", 362 "SpatialNavigationEnabled", self.spatialCheckBox.isChecked()
364 self.spatialCheckBox.isChecked()) 363 )
365 Preferences.setWebBrowser( 364 Preferences.setWebBrowser(
366 "LinksIncludedInFocusChain", 365 "LinksIncludedInFocusChain", self.linksInFocusChainCheckBox.isChecked()
367 self.linksInFocusChainCheckBox.isChecked()) 366 )
368 Preferences.setWebBrowser( 367 Preferences.setWebBrowser(
369 "FocusOnNavigationEnabled", 368 "FocusOnNavigationEnabled", self.focusOnNavigationCheckBox.isChecked()
370 self.focusOnNavigationCheckBox.isChecked()) 369 )
371 370
372 Preferences.setWebBrowser( 371 Preferences.setWebBrowser(
373 "XSSAuditingEnabled", 372 "XSSAuditingEnabled", self.xssAuditingCheckBox.isChecked()
374 self.xssAuditingCheckBox.isChecked()) 373 )
375 Preferences.setWebBrowser( 374 Preferences.setWebBrowser(
376 "AllowRunningInsecureContent", 375 "AllowRunningInsecureContent", self.insecureContentsCheckBox.isChecked()
377 self.insecureContentsCheckBox.isChecked()) 376 )
378 Preferences.setWebBrowser( 377 Preferences.setWebBrowser(
379 "AllowGeolocationOnInsecureOrigins", 378 "AllowGeolocationOnInsecureOrigins",
380 self.insecureGeolocationCheckBox.isChecked()) 379 self.insecureGeolocationCheckBox.isChecked(),
381 380 )
382 Preferences.setWebBrowser( 381
383 "PrintElementBackgrounds", 382 Preferences.setWebBrowser(
384 self.printBackgroundCheckBox.isChecked()) 383 "PrintElementBackgrounds", self.printBackgroundCheckBox.isChecked()
385 384 )
386 Preferences.setWebBrowser( 385
387 "AutoScrollEnabled", 386 Preferences.setWebBrowser(
388 self.autoScrollGroupBox.isChecked()) 387 "AutoScrollEnabled", self.autoScrollGroupBox.isChecked()
389 Preferences.setWebBrowser( 388 )
390 "AutoScrollDivider", 389 Preferences.setWebBrowser(
391 self.autoScrollDividerSpinBox.value()) 390 "AutoScrollDivider", self.autoScrollDividerSpinBox.value()
392 391 )
393 Preferences.setWebBrowser( 392
394 "AcceptProtocolHandlerRequest", 393 Preferences.setWebBrowser(
395 self.protocolHandlerComboBox.currentIndex()) 394 "AcceptProtocolHandlerRequest", self.protocolHandlerComboBox.currentIndex()
396 Preferences.setWebBrowser( 395 )
397 "AcceptQuotaRequest", 396 Preferences.setWebBrowser(
398 self.requestQuotaComboBox.currentIndex()) 397 "AcceptQuotaRequest", self.requestQuotaComboBox.currentIndex()
399 398 )
399
400 @pyqtSlot() 400 @pyqtSlot()
401 def on_setCurrentPageButton_clicked(self): 401 def on_setCurrentPageButton_clicked(self):
402 """ 402 """
403 Private slot to set the current page as the home page. 403 Private slot to set the current page as the home page.
404 """ 404 """
405 url = self.__browserWindow.currentBrowser().url() 405 url = self.__browserWindow.currentBrowser().url()
406 self.homePageEdit.setText(bytes(url.toEncoded()).decode()) 406 self.homePageEdit.setText(bytes(url.toEncoded()).decode())
407 407
408 @pyqtSlot() 408 @pyqtSlot()
409 def on_defaultHomeButton_clicked(self): 409 def on_defaultHomeButton_clicked(self):
410 """ 410 """
411 Private slot to set the default home page. 411 Private slot to set the default home page.
412 """ 412 """
413 self.homePageEdit.setText(Preferences.Prefs.helpDefaults["HomePage"]) 413 self.homePageEdit.setText(Preferences.Prefs.helpDefaults["HomePage"])
414 414
415 @pyqtSlot() 415 @pyqtSlot()
416 def on_setSpeedDialPageButton_clicked(self): 416 def on_setSpeedDialPageButton_clicked(self):
417 """ 417 """
418 Private slot documentation goes here. 418 Private slot documentation goes here.
419 """ 419 """
420 self.homePageEdit.setText("eric:speeddial") 420 self.homePageEdit.setText("eric:speeddial")
421 421
422 @pyqtSlot(int) 422 @pyqtSlot(int)
423 def on_startupCombo_currentIndexChanged(self, index): 423 def on_startupCombo_currentIndexChanged(self, index):
424 """ 424 """
425 Private slot to enable elements depending on the selected startup 425 Private slot to enable elements depending on the selected startup
426 entry. 426 entry.
427 427
428 @param index index of the selected entry (integer) 428 @param index index of the selected entry (integer)
429 """ 429 """
430 # set state of the session related items 430 # set state of the session related items
431 self.loadTabOnActivationCheckBox.setEnabled( 431 self.loadTabOnActivationCheckBox.setEnabled(index in [3, 4])
432 index in [3, 4]) 432
433
434 @pyqtSlot() 433 @pyqtSlot()
435 def on_refererWhitelistButton_clicked(self): 434 def on_refererWhitelistButton_clicked(self):
436 """ 435 """
437 Private slot to edit the referer whitelist. 436 Private slot to edit the referer whitelist.
438 """ 437 """
439 from WebBrowser.Network.SendRefererWhitelistDialog import ( 438 from WebBrowser.Network.SendRefererWhitelistDialog import (
440 SendRefererWhitelistDialog 439 SendRefererWhitelistDialog,
441 ) 440 )
441
442 SendRefererWhitelistDialog(self).exec() 442 SendRefererWhitelistDialog(self).exec()
443 443
444 444
445 def create(dlg): 445 def create(dlg):
446 """ 446 """
447 Module function to create the configuration page. 447 Module function to create the configuration page.
448 448
449 @param dlg reference to the configuration dialog 449 @param dlg reference to the configuration dialog
450 @return reference to the instantiated page (ConfigurationPageBase) 450 @return reference to the instantiated page (ConfigurationPageBase)
451 """ 451 """
452 page = WebBrowserPage(dlg) 452 page = WebBrowserPage(dlg)
453 return page 453 return page

eric ide

mercurial