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 |