8153:e01ae92db699 | 8176:31965986ecd1 |
---|---|
155 | 155 |
156 WebBrowserWindow._isPrivate = private | 156 WebBrowserWindow._isPrivate = private |
157 | 157 |
158 self.__shortcutsDialog = None | 158 self.__shortcutsDialog = None |
159 | 159 |
160 self.__eventMouseButtons = Qt.NoButton | 160 self.__eventMouseButtons = Qt.MouseButton.NoButton |
161 self.__eventKeyboardModifiers = Qt.NoModifier | 161 self.__eventKeyboardModifiers = Qt.KeyboardModifier.NoModifier |
162 | 162 |
163 WebBrowserWindow.setUseQtHelp(qthelp or bool(searchWord)) | 163 WebBrowserWindow.setUseQtHelp(qthelp or bool(searchWord)) |
164 | 164 |
165 self.webProfile(private) | 165 self.webProfile(private) |
166 self.networkManager() | 166 self.networkManager() |
167 | 167 |
168 self.__htmlFullScreen = False | 168 self.__htmlFullScreen = False |
169 self.__windowStates = Qt.WindowNoState | 169 self.__windowStates = Qt.WindowState.WindowNoState |
170 self.__isClosing = False | 170 self.__isClosing = False |
171 | 171 |
172 from .SearchWidget import SearchWidget | 172 from .SearchWidget import SearchWidget |
173 from .QtHelp.HelpTocWidget import HelpTocWidget | 173 from .QtHelp.HelpTocWidget import HelpTocWidget |
174 from .QtHelp.HelpIndexWidget import HelpIndexWidget | 174 from .QtHelp.HelpIndexWidget import HelpIndexWidget |
242 layout.setSpacing(0) | 242 layout.setSpacing(0) |
243 layout.addWidget(self.__navigationContainer) | 243 layout.addWidget(self.__navigationContainer) |
244 layout.addWidget(self.__tabWidget) | 244 layout.addWidget(self.__tabWidget) |
245 layout.addWidget(self.__searchWidget) | 245 layout.addWidget(self.__searchWidget) |
246 self.__tabWidget.setSizePolicy( | 246 self.__tabWidget.setSizePolicy( |
247 QSizePolicy.Preferred, QSizePolicy.Expanding) | 247 QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) |
248 centralWidget.setLayout(layout) | 248 centralWidget.setLayout(layout) |
249 self.setCentralWidget(centralWidget) | 249 self.setCentralWidget(centralWidget) |
250 self.__searchWidget.hide() | 250 self.__searchWidget.hide() |
251 | 251 |
252 if WebBrowserWindow._useQtHelp: | 252 if WebBrowserWindow._useQtHelp: |
253 # setup the TOC widget | 253 # setup the TOC widget |
254 self.__tocWindow = HelpTocWidget(self.__helpEngine) | 254 self.__tocWindow = HelpTocWidget(self.__helpEngine) |
255 self.__tocDock = QDockWidget(self.tr("Contents"), self) | 255 self.__tocDock = QDockWidget(self.tr("Contents"), self) |
256 self.__tocDock.setObjectName("TocWindow") | 256 self.__tocDock.setObjectName("TocWindow") |
257 self.__tocDock.setWidget(self.__tocWindow) | 257 self.__tocDock.setWidget(self.__tocWindow) |
258 self.addDockWidget(Qt.LeftDockWidgetArea, self.__tocDock) | 258 self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, |
259 self.__tocDock) | |
259 | 260 |
260 # setup the index widget | 261 # setup the index widget |
261 self.__indexWindow = HelpIndexWidget(self.__helpEngine) | 262 self.__indexWindow = HelpIndexWidget(self.__helpEngine) |
262 self.__indexDock = QDockWidget(self.tr("Index"), self) | 263 self.__indexDock = QDockWidget(self.tr("Index"), self) |
263 self.__indexDock.setObjectName("IndexWindow") | 264 self.__indexDock.setObjectName("IndexWindow") |
264 self.__indexDock.setWidget(self.__indexWindow) | 265 self.__indexDock.setWidget(self.__indexWindow) |
265 self.addDockWidget(Qt.LeftDockWidgetArea, self.__indexDock) | 266 self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, |
267 self.__indexDock) | |
266 | 268 |
267 # setup the search widget | 269 # setup the search widget |
268 self.__searchWord = searchWord | 270 self.__searchWord = searchWord |
269 self.__indexing = False | 271 self.__indexing = False |
270 self.__indexingProgress = None | 272 self.__indexingProgress = None |
275 self.__indexingFinished) | 277 self.__indexingFinished) |
276 self.__searchWindow = HelpSearchWidget(self.__searchEngine) | 278 self.__searchWindow = HelpSearchWidget(self.__searchEngine) |
277 self.__searchDock = QDockWidget(self.tr("Search"), self) | 279 self.__searchDock = QDockWidget(self.tr("Search"), self) |
278 self.__searchDock.setObjectName("SearchWindow") | 280 self.__searchDock.setObjectName("SearchWindow") |
279 self.__searchDock.setWidget(self.__searchWindow) | 281 self.__searchDock.setWidget(self.__searchWindow) |
280 self.addDockWidget(Qt.LeftDockWidgetArea, self.__searchDock) | 282 self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, |
283 self.__searchDock) | |
281 | 284 |
282 # JavaScript Console window | 285 # JavaScript Console window |
283 from .WebBrowserJavaScriptConsole import WebBrowserJavaScriptConsole | 286 from .WebBrowserJavaScriptConsole import WebBrowserJavaScriptConsole |
284 self.__javascriptConsole = WebBrowserJavaScriptConsole(self) | 287 self.__javascriptConsole = WebBrowserJavaScriptConsole(self) |
285 self.__javascriptConsoleDock = QDockWidget( | 288 self.__javascriptConsoleDock = QDockWidget( |
286 self.tr("JavaScript Console")) | 289 self.tr("JavaScript Console")) |
287 self.__javascriptConsoleDock.setObjectName("JavascriptConsole") | 290 self.__javascriptConsoleDock.setObjectName("JavascriptConsole") |
288 self.__javascriptConsoleDock.setAllowedAreas( | 291 self.__javascriptConsoleDock.setAllowedAreas( |
289 Qt.BottomDockWidgetArea | Qt.TopDockWidgetArea) | 292 Qt.DockWidgetArea.BottomDockWidgetArea | |
293 Qt.DockWidgetArea.TopDockWidgetArea) | |
290 self.__javascriptConsoleDock.setWidget(self.__javascriptConsole) | 294 self.__javascriptConsoleDock.setWidget(self.__javascriptConsole) |
291 self.addDockWidget(Qt.BottomDockWidgetArea, | 295 self.addDockWidget(Qt.DockWidgetArea.BottomDockWidgetArea, |
292 self.__javascriptConsoleDock) | 296 self.__javascriptConsoleDock) |
293 | 297 |
294 if Preferences.getWebBrowser("SaveGeometry"): | 298 if Preferences.getWebBrowser("SaveGeometry"): |
295 g = Preferences.getGeometry("WebBrowserGeometry") | 299 g = Preferences.getGeometry("WebBrowserGeometry") |
296 else: | 300 else: |
512 Private method to set the global web settings. | 516 Private method to set the global web settings. |
513 """ | 517 """ |
514 settings = self.webSettings() | 518 settings = self.webSettings() |
515 | 519 |
516 settings.setFontFamily( | 520 settings.setFontFamily( |
517 QWebEngineSettings.StandardFont, | 521 QWebEngineSettings.FontFamily.StandardFont, |
518 Preferences.getWebBrowser("StandardFontFamily")) | 522 Preferences.getWebBrowser("StandardFontFamily")) |
519 settings.setFontFamily( | 523 settings.setFontFamily( |
520 QWebEngineSettings.FixedFont, | 524 QWebEngineSettings.FontFamily.FixedFont, |
521 Preferences.getWebBrowser("FixedFontFamily")) | 525 Preferences.getWebBrowser("FixedFontFamily")) |
522 settings.setFontFamily( | 526 settings.setFontFamily( |
523 QWebEngineSettings.SerifFont, | 527 QWebEngineSettings.FontFamily.SerifFont, |
524 Preferences.getWebBrowser("SerifFontFamily")) | 528 Preferences.getWebBrowser("SerifFontFamily")) |
525 settings.setFontFamily( | 529 settings.setFontFamily( |
526 QWebEngineSettings.SansSerifFont, | 530 QWebEngineSettings.FontFamily.SansSerifFont, |
527 Preferences.getWebBrowser("SansSerifFontFamily")) | 531 Preferences.getWebBrowser("SansSerifFontFamily")) |
528 settings.setFontFamily( | 532 settings.setFontFamily( |
529 QWebEngineSettings.CursiveFont, | 533 QWebEngineSettings.FontFamily.CursiveFont, |
530 Preferences.getWebBrowser("CursiveFontFamily")) | 534 Preferences.getWebBrowser("CursiveFontFamily")) |
531 settings.setFontFamily( | 535 settings.setFontFamily( |
532 QWebEngineSettings.FantasyFont, | 536 QWebEngineSettings.FontFamily.FantasyFont, |
533 Preferences.getWebBrowser("FantasyFontFamily")) | 537 Preferences.getWebBrowser("FantasyFontFamily")) |
534 | 538 |
535 settings.setFontSize( | 539 settings.setFontSize( |
536 QWebEngineSettings.DefaultFontSize, | 540 QWebEngineSettings.FontSize.DefaultFontSize, |
537 Preferences.getWebBrowser("DefaultFontSize")) | 541 Preferences.getWebBrowser("DefaultFontSize")) |
538 settings.setFontSize( | 542 settings.setFontSize( |
539 QWebEngineSettings.DefaultFixedFontSize, | 543 QWebEngineSettings.FontSize.DefaultFixedFontSize, |
540 Preferences.getWebBrowser("DefaultFixedFontSize")) | 544 Preferences.getWebBrowser("DefaultFixedFontSize")) |
541 settings.setFontSize( | 545 settings.setFontSize( |
542 QWebEngineSettings.MinimumFontSize, | 546 QWebEngineSettings.FontSize.MinimumFontSize, |
543 Preferences.getWebBrowser("MinimumFontSize")) | 547 Preferences.getWebBrowser("MinimumFontSize")) |
544 settings.setFontSize( | 548 settings.setFontSize( |
545 QWebEngineSettings.MinimumLogicalFontSize, | 549 QWebEngineSettings.FontSize.MinimumLogicalFontSize, |
546 Preferences.getWebBrowser("MinimumLogicalFontSize")) | 550 Preferences.getWebBrowser("MinimumLogicalFontSize")) |
547 | 551 |
548 styleSheet = Preferences.getWebBrowser("UserStyleSheet") | 552 styleSheet = Preferences.getWebBrowser("UserStyleSheet") |
549 self.__setUserStyleSheet(styleSheet) | 553 self.__setUserStyleSheet(styleSheet) |
550 | 554 |
551 settings.setAttribute( | 555 settings.setAttribute( |
552 QWebEngineSettings.AutoLoadImages, | 556 QWebEngineSettings.WebAttribute.AutoLoadImages, |
553 Preferences.getWebBrowser("AutoLoadImages")) | 557 Preferences.getWebBrowser("AutoLoadImages")) |
554 settings.setAttribute( | 558 settings.setAttribute( |
555 QWebEngineSettings.JavascriptEnabled, | 559 QWebEngineSettings.WebAttribute.JavascriptEnabled, |
556 Preferences.getWebBrowser("JavaScriptEnabled")) | 560 Preferences.getWebBrowser("JavaScriptEnabled")) |
557 # JavaScript is needed for the web browser functionality | 561 # JavaScript is needed for the web browser functionality |
558 settings.setAttribute( | 562 settings.setAttribute( |
559 QWebEngineSettings.JavascriptCanOpenWindows, | 563 QWebEngineSettings.WebAttribute.JavascriptCanOpenWindows, |
560 Preferences.getWebBrowser("JavaScriptCanOpenWindows")) | 564 Preferences.getWebBrowser("JavaScriptCanOpenWindows")) |
561 settings.setAttribute( | 565 settings.setAttribute( |
562 QWebEngineSettings.JavascriptCanAccessClipboard, | 566 QWebEngineSettings.WebAttribute.JavascriptCanAccessClipboard, |
563 Preferences.getWebBrowser("JavaScriptCanAccessClipboard")) | 567 Preferences.getWebBrowser("JavaScriptCanAccessClipboard")) |
564 settings.setAttribute( | 568 settings.setAttribute( |
565 QWebEngineSettings.PluginsEnabled, | 569 QWebEngineSettings.WebAttribute.PluginsEnabled, |
566 Preferences.getWebBrowser("PluginsEnabled")) | 570 Preferences.getWebBrowser("PluginsEnabled")) |
567 | 571 |
568 if self.isPrivate(): | 572 if self.isPrivate(): |
569 settings.setAttribute( | 573 settings.setAttribute( |
570 QWebEngineSettings.LocalStorageEnabled, False) | 574 QWebEngineSettings.WebAttribute.LocalStorageEnabled, False) |
571 else: | 575 else: |
572 settings.setAttribute( | 576 settings.setAttribute( |
573 QWebEngineSettings.LocalStorageEnabled, | 577 QWebEngineSettings.WebAttribute.LocalStorageEnabled, |
574 Preferences.getWebBrowser("LocalStorageEnabled")) | 578 Preferences.getWebBrowser("LocalStorageEnabled")) |
575 settings.setDefaultTextEncoding( | 579 settings.setDefaultTextEncoding( |
576 Preferences.getWebBrowser("DefaultTextEncoding")) | 580 Preferences.getWebBrowser("DefaultTextEncoding")) |
577 | 581 |
578 settings.setAttribute( | 582 settings.setAttribute( |
579 QWebEngineSettings.SpatialNavigationEnabled, | 583 QWebEngineSettings.WebAttribute.SpatialNavigationEnabled, |
580 Preferences.getWebBrowser("SpatialNavigationEnabled")) | 584 Preferences.getWebBrowser("SpatialNavigationEnabled")) |
581 settings.setAttribute( | 585 settings.setAttribute( |
582 QWebEngineSettings.LinksIncludedInFocusChain, | 586 QWebEngineSettings.WebAttribute.LinksIncludedInFocusChain, |
583 Preferences.getWebBrowser("LinksIncludedInFocusChain")) | 587 Preferences.getWebBrowser("LinksIncludedInFocusChain")) |
584 settings.setAttribute( | 588 settings.setAttribute( |
585 QWebEngineSettings.LocalContentCanAccessRemoteUrls, | 589 QWebEngineSettings.WebAttribute.LocalContentCanAccessRemoteUrls, |
586 Preferences.getWebBrowser("LocalContentCanAccessRemoteUrls")) | 590 Preferences.getWebBrowser("LocalContentCanAccessRemoteUrls")) |
587 settings.setAttribute( | 591 settings.setAttribute( |
588 QWebEngineSettings.LocalContentCanAccessFileUrls, | 592 QWebEngineSettings.WebAttribute.LocalContentCanAccessFileUrls, |
589 Preferences.getWebBrowser("LocalContentCanAccessFileUrls")) | 593 Preferences.getWebBrowser("LocalContentCanAccessFileUrls")) |
590 settings.setAttribute( | 594 settings.setAttribute( |
591 QWebEngineSettings.XSSAuditingEnabled, | 595 QWebEngineSettings.WebAttribute.XSSAuditingEnabled, |
592 Preferences.getWebBrowser("XSSAuditingEnabled")) | 596 Preferences.getWebBrowser("XSSAuditingEnabled")) |
593 settings.setAttribute( | 597 settings.setAttribute( |
594 QWebEngineSettings.ScrollAnimatorEnabled, | 598 QWebEngineSettings.WebAttribute.ScrollAnimatorEnabled, |
595 Preferences.getWebBrowser("ScrollAnimatorEnabled")) | 599 Preferences.getWebBrowser("ScrollAnimatorEnabled")) |
596 settings.setAttribute( | 600 settings.setAttribute( |
597 QWebEngineSettings.ErrorPageEnabled, | 601 QWebEngineSettings.WebAttribute.ErrorPageEnabled, |
598 Preferences.getWebBrowser("ErrorPageEnabled")) | 602 Preferences.getWebBrowser("ErrorPageEnabled")) |
599 settings.setAttribute( | 603 settings.setAttribute( |
600 QWebEngineSettings.FullScreenSupportEnabled, | 604 QWebEngineSettings.WebAttribute.FullScreenSupportEnabled, |
601 Preferences.getWebBrowser("FullScreenSupportEnabled")) | 605 Preferences.getWebBrowser("FullScreenSupportEnabled")) |
602 settings.setAttribute( | 606 settings.setAttribute( |
603 QWebEngineSettings.ScreenCaptureEnabled, | 607 QWebEngineSettings.WebAttribute.ScreenCaptureEnabled, |
604 Preferences.getWebBrowser("ScreenCaptureEnabled")) | 608 Preferences.getWebBrowser("ScreenCaptureEnabled")) |
605 settings.setAttribute( | 609 settings.setAttribute( |
606 QWebEngineSettings.WebGLEnabled, | 610 QWebEngineSettings.WebAttribute.WebGLEnabled, |
607 Preferences.getWebBrowser("WebGLEnabled")) | 611 Preferences.getWebBrowser("WebGLEnabled")) |
608 settings.setAttribute( | 612 settings.setAttribute( |
609 QWebEngineSettings.FocusOnNavigationEnabled, | 613 QWebEngineSettings.WebAttribute.FocusOnNavigationEnabled, |
610 Preferences.getWebBrowser("FocusOnNavigationEnabled")) | 614 Preferences.getWebBrowser("FocusOnNavigationEnabled")) |
611 settings.setAttribute( | 615 settings.setAttribute( |
612 QWebEngineSettings.PrintElementBackgrounds, | 616 QWebEngineSettings.WebAttribute.PrintElementBackgrounds, |
613 Preferences.getWebBrowser("PrintElementBackgrounds")) | 617 Preferences.getWebBrowser("PrintElementBackgrounds")) |
614 settings.setAttribute( | 618 settings.setAttribute( |
615 QWebEngineSettings.AllowRunningInsecureContent, | 619 QWebEngineSettings.WebAttribute.AllowRunningInsecureContent, |
616 Preferences.getWebBrowser("AllowRunningInsecureContent")) | 620 Preferences.getWebBrowser("AllowRunningInsecureContent")) |
617 settings.setAttribute( | 621 settings.setAttribute( |
618 QWebEngineSettings.AllowGeolocationOnInsecureOrigins, | 622 QWebEngineSettings.WebAttribute.AllowGeolocationOnInsecureOrigins, |
619 Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins")) | 623 Preferences.getWebBrowser("AllowGeolocationOnInsecureOrigins")) |
620 settings.setAttribute( | 624 settings.setAttribute( |
621 QWebEngineSettings.AllowWindowActivationFromJavaScript, | 625 QWebEngineSettings.WebAttribute |
626 .AllowWindowActivationFromJavaScript, | |
622 Preferences.getWebBrowser( | 627 Preferences.getWebBrowser( |
623 "AllowWindowActivationFromJavaScript")) | 628 "AllowWindowActivationFromJavaScript")) |
624 settings.setAttribute( | 629 settings.setAttribute( |
625 QWebEngineSettings.ShowScrollBars, | 630 QWebEngineSettings.WebAttribute.ShowScrollBars, |
626 Preferences.getWebBrowser("ShowScrollBars")) | 631 Preferences.getWebBrowser("ShowScrollBars")) |
627 settings.setAttribute( | 632 settings.setAttribute( |
628 QWebEngineSettings.PlaybackRequiresUserGesture, | 633 QWebEngineSettings.WebAttribute.PlaybackRequiresUserGesture, |
629 Preferences.getWebBrowser( | 634 Preferences.getWebBrowser( |
630 "PlaybackRequiresUserGesture")) | 635 "PlaybackRequiresUserGesture")) |
631 settings.setAttribute( | 636 settings.setAttribute( |
632 QWebEngineSettings.JavascriptCanPaste, | 637 QWebEngineSettings.WebAttribute.JavascriptCanPaste, |
633 Preferences.getWebBrowser( | 638 Preferences.getWebBrowser( |
634 "JavaScriptCanPaste")) | 639 "JavaScriptCanPaste")) |
635 settings.setAttribute( | 640 settings.setAttribute( |
636 QWebEngineSettings.WebRTCPublicInterfacesOnly, | 641 QWebEngineSettings.WebAttribute.WebRTCPublicInterfacesOnly, |
637 Preferences.getWebBrowser( | 642 Preferences.getWebBrowser( |
638 "WebRTCPublicInterfacesOnly")) | 643 "WebRTCPublicInterfacesOnly")) |
639 settings.setAttribute( | 644 settings.setAttribute( |
640 QWebEngineSettings.DnsPrefetchEnabled, | 645 QWebEngineSettings.WebAttribute.DnsPrefetchEnabled, |
641 Preferences.getWebBrowser( | 646 Preferences.getWebBrowser( |
642 "DnsPrefetchEnabled")) | 647 "DnsPrefetchEnabled")) |
643 | 648 |
644 try: | 649 try: |
645 # Qt 5.13 | 650 # Qt 5.13 |
646 settings.setAttribute( | 651 settings.setAttribute( |
647 QWebEngineSettings.PdfViewerEnabled, | 652 QWebEngineSettings.WebAttribute.PdfViewerEnabled, |
648 Preferences.getWebBrowser( | 653 Preferences.getWebBrowser( |
649 "PdfViewerEnabled")) | 654 "PdfViewerEnabled")) |
650 except (AttributeError, KeyError): | 655 except (AttributeError, KeyError): |
651 pass | 656 pass |
652 | 657 |
2301 "ComboBoxWithEnoughWidth") | 2306 "ComboBoxWithEnoughWidth") |
2302 self.filterCombo.setMinimumWidth(comboWidth) | 2307 self.filterCombo.setMinimumWidth(comboWidth) |
2303 filtertb.addWidget(QLabel(self.tr("Filtered by: "))) | 2308 filtertb.addWidget(QLabel(self.tr("Filtered by: "))) |
2304 filtertb.addWidget(self.filterCombo) | 2309 filtertb.addWidget(self.filterCombo) |
2305 self.__helpEngine.setupFinished.connect(self.__setupFilterCombo) | 2310 self.__helpEngine.setupFinished.connect(self.__setupFilterCombo) |
2306 self.filterCombo.activated[str].connect( | 2311 self.filterCombo.activated[int].connect( |
2307 self.__filterQtHelpDocumentation) | 2312 self.__filterQtHelpDocumentation) |
2308 self.__setupFilterCombo() | 2313 self.__setupFilterCombo() |
2309 self.__toolbars["filter"] = (filtertb.windowTitle(), filtertb) | 2314 self.__toolbars["filter"] = (filtertb.windowTitle(), filtertb) |
2310 | 2315 |
2311 settingstb = self.addToolBar(self.tr("Settings")) | 2316 settingstb = self.addToolBar(self.tr("Settings")) |
2337 | 2342 |
2338 self.addToolBarBreak() | 2343 self.addToolBarBreak() |
2339 vttb = self.addToolBar(self.tr("VirusTotal")) | 2344 vttb = self.addToolBar(self.tr("VirusTotal")) |
2340 vttb.setObjectName("VirusTotalToolBar") | 2345 vttb.setObjectName("VirusTotalToolBar") |
2341 vttb.setIconSize(UI.Config.ToolBarIconSize) | 2346 vttb.setIconSize(UI.Config.ToolBarIconSize) |
2342 vttb.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) | 2347 vttb.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) |
2343 vttb.addAction(self.virustotalScanCurrentAct) | 2348 vttb.addAction(self.virustotalScanCurrentAct) |
2344 vttb.addAction(self.virustotalIpReportAct) | 2349 vttb.addAction(self.virustotalIpReportAct) |
2345 vttb.addAction(self.virustotalDomainReportAct) | 2350 vttb.addAction(self.virustotalDomainReportAct) |
2346 self.__toolbars["virustotal"] = (vttb.windowTitle(), vttb) | 2351 self.__toolbars["virustotal"] = (vttb.windowTitle(), vttb) |
2347 | 2352 |
2982 """ | 2987 """ |
2983 Public slot called to toggle the full screen mode. | 2988 Public slot called to toggle the full screen mode. |
2984 """ | 2989 """ |
2985 if self.__htmlFullScreen: | 2990 if self.__htmlFullScreen: |
2986 self.currentBrowser().triggerPageAction( | 2991 self.currentBrowser().triggerPageAction( |
2987 QWebEnginePage.ExitFullScreen) | 2992 QWebEnginePage.WebAction.ExitFullScreen) |
2988 return | 2993 return |
2989 | 2994 |
2990 if self.isFullScreen(): | 2995 if self.isFullScreen(): |
2991 # switch back to normal | 2996 # switch back to normal |
2992 self.showNormal() | 2997 self.showNormal() |
3168 dlg.showConfigurationPageByName(self.__lastConfigurationPageName) | 3173 dlg.showConfigurationPageByName(self.__lastConfigurationPageName) |
3169 else: | 3174 else: |
3170 dlg.showConfigurationPageByName("empty") | 3175 dlg.showConfigurationPageByName("empty") |
3171 dlg.exec() | 3176 dlg.exec() |
3172 QApplication.processEvents() | 3177 QApplication.processEvents() |
3173 if dlg.result() == QDialog.Accepted: | 3178 if dlg.result() == QDialog.DialogCode.Accepted: |
3174 dlg.setPreferences() | 3179 dlg.setPreferences() |
3175 Preferences.syncPreferences() | 3180 Preferences.syncPreferences() |
3176 self.preferencesChanged() | 3181 self.preferencesChanged() |
3177 self.__lastConfigurationPageName = dlg.getConfigurationPageName() | 3182 self.__lastConfigurationPageName = dlg.getConfigurationPageName() |
3178 | 3183 |
3196 self.autoScroller().preferencesChanged() | 3201 self.autoScroller().preferencesChanged() |
3197 | 3202 |
3198 profile = self.webProfile() | 3203 profile = self.webProfile() |
3199 if not self.isPrivate(): | 3204 if not self.isPrivate(): |
3200 if Preferences.getWebBrowser("DiskCacheEnabled"): | 3205 if Preferences.getWebBrowser("DiskCacheEnabled"): |
3201 profile.setHttpCacheType(QWebEngineProfile.DiskHttpCache) | 3206 profile.setHttpCacheType( |
3207 QWebEngineProfile.HttpCacheType.DiskHttpCache) | |
3202 profile.setHttpCacheMaximumSize( | 3208 profile.setHttpCacheMaximumSize( |
3203 Preferences.getWebBrowser("DiskCacheSize") * 1024 * 1024) | 3209 Preferences.getWebBrowser("DiskCacheSize") * 1024 * 1024) |
3204 else: | 3210 else: |
3205 profile.setHttpCacheType(QWebEngineProfile.MemoryHttpCache) | 3211 profile.setHttpCacheType( |
3212 QWebEngineProfile.HttpCacheType.MemoryHttpCache) | |
3206 profile.setHttpCacheMaximumSize(0) | 3213 profile.setHttpCacheMaximumSize(0) |
3207 | 3214 |
3208 try: | 3215 try: |
3209 profile.setSpellCheckEnabled( | 3216 profile.setSpellCheckEnabled( |
3210 Preferences.getWebBrowser("SpellCheckEnabled")) | 3217 Preferences.getWebBrowser("SpellCheckEnabled")) |
3436 idx = self.filterCombo.findText(curFilter) | 3443 idx = self.filterCombo.findText(curFilter) |
3437 if idx < 0: | 3444 if idx < 0: |
3438 idx = 0 | 3445 idx = 0 |
3439 self.filterCombo.setCurrentIndex(idx) | 3446 self.filterCombo.setCurrentIndex(idx) |
3440 | 3447 |
3441 def __filterQtHelpDocumentation(self, customFilter): | 3448 def __filterQtHelpDocumentation(self, index): |
3442 """ | 3449 """ |
3443 Private slot to filter the QtHelp documentation. | 3450 Private slot to filter the QtHelp documentation. |
3444 | 3451 |
3445 @param customFilter name of filter to be applied (string) | 3452 @param index index of the selected entry |
3446 """ | 3453 @type int |
3454 """ | |
3455 customFilter = self.filterCombo.itemText(index) | |
3447 if self.__helpEngine: | 3456 if self.__helpEngine: |
3448 self.__helpEngine.setCurrentFilter(customFilter) | 3457 self.__helpEngine.setCurrentFilter(customFilter) |
3449 | 3458 |
3450 def __manageQtHelpDocumentation(self): | 3459 def __manageQtHelpDocumentation(self): |
3451 """ | 3460 """ |
3478 self.__indexing = True | 3487 self.__indexing = True |
3479 if self.__indexingProgress is None: | 3488 if self.__indexingProgress is None: |
3480 self.__indexingProgress = QWidget() | 3489 self.__indexingProgress = QWidget() |
3481 layout = QHBoxLayout(self.__indexingProgress) | 3490 layout = QHBoxLayout(self.__indexingProgress) |
3482 layout.setContentsMargins(0, 0, 0, 0) | 3491 layout.setContentsMargins(0, 0, 0, 0) |
3483 sizePolicy = QSizePolicy(QSizePolicy.Preferred, | 3492 sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, |
3484 QSizePolicy.Maximum) | 3493 QSizePolicy.Policy.Maximum) |
3485 | 3494 |
3486 label = QLabel(self.tr("Updating search index")) | 3495 label = QLabel(self.tr("Updating search index")) |
3487 label.setSizePolicy(sizePolicy) | 3496 label.setSizePolicy(sizePolicy) |
3488 layout.addWidget(label) | 3497 layout.addWidget(label) |
3489 | 3498 |
3517 not self.__indexing and | 3526 not self.__indexing and |
3518 self.__searchWord is not None | 3527 self.__searchWord is not None |
3519 ): | 3528 ): |
3520 self.__searchDock.show() | 3529 self.__searchDock.show() |
3521 self.__searchDock.raise_() | 3530 self.__searchDock.raise_() |
3522 query = QHelpSearchQuery(QHelpSearchQuery.DEFAULT, | 3531 query = QHelpSearchQuery(QHelpSearchQuery.FieldName.DEFAULT, |
3523 [self.__searchWord]) | 3532 [self.__searchWord]) |
3524 self.__searchEngine.search([query]) | 3533 self.__searchEngine.search([query]) |
3525 self.__searchWord = None | 3534 self.__searchWord = None |
3526 | 3535 |
3527 def search(self, word): | 3536 def search(self, word): |
3621 """ | 3630 """ |
3622 from .WebBrowserClearPrivateDataDialog import ( | 3631 from .WebBrowserClearPrivateDataDialog import ( |
3623 WebBrowserClearPrivateDataDialog | 3632 WebBrowserClearPrivateDataDialog |
3624 ) | 3633 ) |
3625 dlg = WebBrowserClearPrivateDataDialog(self) | 3634 dlg = WebBrowserClearPrivateDataDialog(self) |
3626 if dlg.exec() == QDialog.Accepted: | 3635 if dlg.exec() == QDialog.DialogCode.Accepted: |
3627 # browsing history, search history, favicons, disk cache, cookies, | 3636 # browsing history, search history, favicons, disk cache, cookies, |
3628 # passwords, web databases, downloads, zoom values, SSL error | 3637 # passwords, web databases, downloads, zoom values, SSL error |
3629 # exceptions, history period | 3638 # exceptions, history period |
3630 (history, searches, favicons, cache, cookies, | 3639 (history, searches, favicons, cache, cookies, |
3631 passwords, databases, downloads, zoomValues, | 3640 passwords, databases, downloads, zoomValues, |
4340 """ | 4349 """ |
4341 Protected method called by a mouse press event. | 4350 Protected method called by a mouse press event. |
4342 | 4351 |
4343 @param evt reference to the mouse event (QMouseEvent) | 4352 @param evt reference to the mouse event (QMouseEvent) |
4344 """ | 4353 """ |
4345 if evt.button() == Qt.XButton1: | 4354 if evt.button() == Qt.MouseButton.XButton1: |
4346 self.currentBrowser().triggerPageAction(QWebEnginePage.Back) | 4355 self.currentBrowser().triggerPageAction( |
4347 elif evt.button() == Qt.XButton2: | 4356 QWebEnginePage.WebAction.Back) |
4348 self.currentBrowser().triggerPageAction(QWebEnginePage.Forward) | 4357 elif evt.button() == Qt.MouseButton.XButton2: |
4358 self.currentBrowser().triggerPageAction( | |
4359 QWebEnginePage.WebAction.Forward) | |
4349 else: | 4360 else: |
4350 super(WebBrowserWindow, self).mousePressEvent(evt) | 4361 super(WebBrowserWindow, self).mousePressEvent(evt) |
4351 | 4362 |
4352 @classmethod | 4363 @classmethod |
4353 def feedsManager(cls): | 4364 def feedsManager(cls): |
4459 @param evt reference to the key press event (QKeyEvent) | 4470 @param evt reference to the key press event (QKeyEvent) |
4460 """ | 4471 """ |
4461 number = -1 | 4472 number = -1 |
4462 key = evt.key() | 4473 key = evt.key() |
4463 | 4474 |
4464 if key == Qt.Key_1: | 4475 if key == Qt.Key.Key_1: |
4465 number = 1 | 4476 number = 1 |
4466 elif key == Qt.Key_2: | 4477 elif key == Qt.Key.Key_2: |
4467 number = 2 | 4478 number = 2 |
4468 elif key == Qt.Key_3: | 4479 elif key == Qt.Key.Key_3: |
4469 number = 3 | 4480 number = 3 |
4470 elif key == Qt.Key_4: | 4481 elif key == Qt.Key.Key_4: |
4471 number = 4 | 4482 number = 4 |
4472 elif key == Qt.Key_5: | 4483 elif key == Qt.Key.Key_5: |
4473 number = 5 | 4484 number = 5 |
4474 elif key == Qt.Key_6: | 4485 elif key == Qt.Key.Key_6: |
4475 number = 6 | 4486 number = 6 |
4476 elif key == Qt.Key_7: | 4487 elif key == Qt.Key.Key_7: |
4477 number = 7 | 4488 number = 7 |
4478 elif key == Qt.Key_8: | 4489 elif key == Qt.Key.Key_8: |
4479 number = 8 | 4490 number = 8 |
4480 elif key == Qt.Key_9: | 4491 elif key == Qt.Key.Key_9: |
4481 number = 9 | 4492 number = 9 |
4482 elif key == Qt.Key_0: | 4493 elif key == Qt.Key.Key_0: |
4483 number = 10 | 4494 number = 10 |
4484 | 4495 |
4485 if number != -1: | 4496 if number != -1: |
4486 if evt.modifiers() == Qt.KeyboardModifiers(Qt.AltModifier): | 4497 if evt.modifiers() == Qt.KeyboardModifiers( |
4498 Qt.KeyboardModifier.AltModifier | |
4499 ): | |
4487 if number == 10: | 4500 if number == 10: |
4488 number = self.__tabWidget.count() | 4501 number = self.__tabWidget.count() |
4489 self.__tabWidget.setCurrentIndex(number - 1) | 4502 self.__tabWidget.setCurrentIndex(number - 1) |
4490 return | 4503 return |
4491 | 4504 |
4492 if evt.modifiers() == Qt.KeyboardModifiers(Qt.MetaModifier): | 4505 if evt.modifiers() == Qt.KeyboardModifiers( |
4506 Qt.KeyboardModifier.MetaModifier | |
4507 ): | |
4493 url = self.speedDial().urlForShortcut(number - 1) | 4508 url = self.speedDial().urlForShortcut(number - 1) |
4494 if url.isValid(): | 4509 if url.isValid(): |
4495 self.__linkActivated(url) | 4510 self.__linkActivated(url) |
4496 return | 4511 return |
4497 | 4512 |
4504 @param evt reference to the event | 4519 @param evt reference to the event |
4505 @type QEvent | 4520 @type QEvent |
4506 @return flag indicating a handled event | 4521 @return flag indicating a handled event |
4507 @rtype bool | 4522 @rtype bool |
4508 """ | 4523 """ |
4509 if evt.type() == QEvent.WindowStateChange: | 4524 if evt.type() == QEvent.Type.WindowStateChange: |
4510 if ( | 4525 if ( |
4511 not bool(evt.oldState() & Qt.WindowFullScreen) and | 4526 not bool(evt.oldState() & Qt.WindowState.WindowFullScreen) and |
4512 bool(self.windowState() & Qt.WindowFullScreen) | 4527 bool(self.windowState() & Qt.WindowState.WindowFullScreen) |
4513 ): | 4528 ): |
4514 # enter full screen mode | 4529 # enter full screen mode |
4515 self.__windowStates = evt.oldState() | 4530 self.__windowStates = evt.oldState() |
4516 self.__toolbarStates = self.saveState() | 4531 self.__toolbarStates = self.saveState() |
4517 self.menuBar().hide() | 4532 self.menuBar().hide() |
4524 toolbar.hide() | 4539 toolbar.hide() |
4525 self.__navigationBar.exitFullScreenButton().setVisible(True) | 4540 self.__navigationBar.exitFullScreenButton().setVisible(True) |
4526 self.__navigationContainer.hide() | 4541 self.__navigationContainer.hide() |
4527 | 4542 |
4528 elif ( | 4543 elif ( |
4529 bool(evt.oldState() & Qt.WindowFullScreen) and | 4544 bool(evt.oldState() & Qt.WindowState.WindowFullScreen) and |
4530 not bool(self.windowState() & Qt.WindowFullScreen) | 4545 not bool(self.windowState() & Qt.WindowState.WindowFullScreen) |
4531 ): | 4546 ): |
4532 # leave full screen mode | 4547 # leave full screen mode |
4533 self.setWindowState(self.__windowStates) | 4548 self.setWindowState(self.__windowStates) |
4534 self.__htmlFullScreen = False | 4549 self.__htmlFullScreen = False |
4535 if Preferences.getWebBrowser("MenuBarVisible"): | 4550 if Preferences.getWebBrowser("MenuBarVisible"): |
4603 """ | 4618 """ |
4604 ip, ok = QInputDialog.getText( | 4619 ip, ok = QInputDialog.getText( |
4605 self, | 4620 self, |
4606 self.tr("IP Address Report"), | 4621 self.tr("IP Address Report"), |
4607 self.tr("Enter a valid IPv4 address in dotted quad notation:"), | 4622 self.tr("Enter a valid IPv4 address in dotted quad notation:"), |
4608 QLineEdit.Normal) | 4623 QLineEdit.EchoMode.Normal) |
4609 if ok and ip: | 4624 if ok and ip: |
4610 if ip.count(".") == 3: | 4625 if ip.count(".") == 3: |
4611 self.__virusTotal.getIpAddressReport(ip) | 4626 self.__virusTotal.getIpAddressReport(ip) |
4612 else: | 4627 else: |
4613 E5MessageBox.information( | 4628 E5MessageBox.information( |
4622 """ | 4637 """ |
4623 domain, ok = QInputDialog.getText( | 4638 domain, ok = QInputDialog.getText( |
4624 self, | 4639 self, |
4625 self.tr("Domain Report"), | 4640 self.tr("Domain Report"), |
4626 self.tr("Enter a valid domain name:"), | 4641 self.tr("Enter a valid domain name:"), |
4627 QLineEdit.Normal) | 4642 QLineEdit.EchoMode.Normal) |
4628 if ok and domain: | 4643 if ok and domain: |
4629 self.__virusTotal.getDomainReport(domain) | 4644 self.__virusTotal.getDomainReport(domain) |
4630 | 4645 |
4631 ########################################################################### | 4646 ########################################################################### |
4632 ## Style sheet handling below ## | 4647 ## Style sheet handling below ## |
4660 if userStyle: | 4675 if userStyle: |
4661 from .WebBrowserPage import WebBrowserPage | 4676 from .WebBrowserPage import WebBrowserPage |
4662 | 4677 |
4663 script = QWebEngineScript() | 4678 script = QWebEngineScript() |
4664 script.setName(name) | 4679 script.setName(name) |
4665 script.setInjectionPoint(QWebEngineScript.DocumentCreation) | 4680 script.setInjectionPoint( |
4681 QWebEngineScript.InjectionPoint.DocumentCreation) | |
4666 script.setWorldId(WebBrowserPage.SafeJsWorld) | 4682 script.setWorldId(WebBrowserPage.SafeJsWorld) |
4667 script.setRunsOnSubFrames(True) | 4683 script.setRunsOnSubFrames(True) |
4668 script.setSourceCode(Scripts.setStyleSheet(userStyle)) | 4684 script.setSourceCode(Scripts.setStyleSheet(userStyle)) |
4669 self.webProfile().scripts().insert(script) | 4685 self.webProfile().scripts().insert(script) |
4670 | 4686 |
4761 cls._webProfile.defaultUserAgent = userAgent | 4777 cls._webProfile.defaultUserAgent = userAgent |
4762 | 4778 |
4763 if not private: | 4779 if not private: |
4764 if Preferences.getWebBrowser("DiskCacheEnabled"): | 4780 if Preferences.getWebBrowser("DiskCacheEnabled"): |
4765 cls._webProfile.setHttpCacheType( | 4781 cls._webProfile.setHttpCacheType( |
4766 QWebEngineProfile.DiskHttpCache) | 4782 QWebEngineProfile.HttpCacheType.DiskHttpCache) |
4767 cls._webProfile.setHttpCacheMaximumSize( | 4783 cls._webProfile.setHttpCacheMaximumSize( |
4768 Preferences.getWebBrowser("DiskCacheSize") * | 4784 Preferences.getWebBrowser("DiskCacheSize") * |
4769 1024 * 1024) | 4785 1024 * 1024) |
4770 cls._webProfile.setCachePath(os.path.join( | 4786 cls._webProfile.setCachePath(os.path.join( |
4771 Utilities.getConfigDir(), "web_browser")) | 4787 Utilities.getConfigDir(), "web_browser")) |
4772 else: | 4788 else: |
4773 cls._webProfile.setHttpCacheType( | 4789 cls._webProfile.setHttpCacheType( |
4774 QWebEngineProfile.MemoryHttpCache) | 4790 QWebEngineProfile.HttpCacheType.MemoryHttpCache) |
4775 cls._webProfile.setHttpCacheMaximumSize(0) | 4791 cls._webProfile.setHttpCacheMaximumSize(0) |
4776 cls._webProfile.setPersistentStoragePath(os.path.join( | 4792 cls._webProfile.setPersistentStoragePath(os.path.join( |
4777 Utilities.getConfigDir(), "web_browser", | 4793 Utilities.getConfigDir(), "web_browser", |
4778 "persistentstorage")) | 4794 "persistentstorage")) |
4779 cls._webProfile.setPersistentCookiesPolicy( | 4795 cls._webProfile.setPersistentCookiesPolicy( |
4780 QWebEngineProfile.AllowPersistentCookies) | 4796 QWebEngineProfile.PersistentCookiesPolicy |
4797 .AllowPersistentCookies) | |
4781 | 4798 |
4782 try: | 4799 try: |
4783 cls._webProfile.setSpellCheckEnabled( | 4800 cls._webProfile.setSpellCheckEnabled( |
4784 Preferences.getWebBrowser("SpellCheckEnabled")) | 4801 Preferences.getWebBrowser("SpellCheckEnabled")) |
4785 cls._webProfile.setSpellCheckLanguages( | 4802 cls._webProfile.setSpellCheckLanguages( |
4792 from .WebBrowserPage import WebBrowserPage | 4809 from .WebBrowserPage import WebBrowserPage |
4793 | 4810 |
4794 # WebChannel for SafeJsWorld | 4811 # WebChannel for SafeJsWorld |
4795 script = QWebEngineScript() | 4812 script = QWebEngineScript() |
4796 script.setName("_eric_webchannel") | 4813 script.setName("_eric_webchannel") |
4797 script.setInjectionPoint(QWebEngineScript.DocumentCreation) | 4814 script.setInjectionPoint( |
4815 QWebEngineScript.InjectionPoint.DocumentCreation) | |
4798 script.setWorldId(WebBrowserPage.SafeJsWorld) | 4816 script.setWorldId(WebBrowserPage.SafeJsWorld) |
4799 script.setRunsOnSubFrames(True) | 4817 script.setRunsOnSubFrames(True) |
4800 script.setSourceCode(Scripts.setupWebChannel(script.worldId())) | 4818 script.setSourceCode(Scripts.setupWebChannel(script.worldId())) |
4801 cls._webProfile.scripts().insert(script) | 4819 cls._webProfile.scripts().insert(script) |
4802 | 4820 |
4803 # WebChannel for UnsafeJsWorld | 4821 # WebChannel for UnsafeJsWorld |
4804 script2 = QWebEngineScript() | 4822 script2 = QWebEngineScript() |
4805 script2.setName("_eric_webchannel2") | 4823 script2.setName("_eric_webchannel2") |
4806 script2.setInjectionPoint(QWebEngineScript.DocumentCreation) | 4824 script2.setInjectionPoint( |
4825 QWebEngineScript.InjectionPoint.DocumentCreation) | |
4807 script2.setWorldId(WebBrowserPage.UnsafeJsWorld) | 4826 script2.setWorldId(WebBrowserPage.UnsafeJsWorld) |
4808 script2.setRunsOnSubFrames(True) | 4827 script2.setRunsOnSubFrames(True) |
4809 script2.setSourceCode(Scripts.setupWebChannel(script2.worldId())) | 4828 script2.setSourceCode(Scripts.setupWebChannel(script2.worldId())) |
4810 cls._webProfile.scripts().insert(script2) | 4829 cls._webProfile.scripts().insert(script2) |
4811 | 4830 |
4812 # document.window object addons | 4831 # document.window object addons |
4813 script3 = QWebEngineScript() | 4832 script3 = QWebEngineScript() |
4814 script3.setName("_eric_window_object") | 4833 script3.setName("_eric_window_object") |
4815 script3.setInjectionPoint(QWebEngineScript.DocumentCreation) | 4834 script3.setInjectionPoint( |
4835 QWebEngineScript.InjectionPoint.DocumentCreation) | |
4816 script3.setWorldId(WebBrowserPage.UnsafeJsWorld) | 4836 script3.setWorldId(WebBrowserPage.UnsafeJsWorld) |
4817 script3.setRunsOnSubFrames(True) | 4837 script3.setRunsOnSubFrames(True) |
4818 script3.setSourceCode(Scripts.setupWindowObject()) | 4838 script3.setSourceCode(Scripts.setupWindowObject()) |
4819 cls._webProfile.scripts().insert(script3) | 4839 cls._webProfile.scripts().insert(script3) |
4820 | 4840 |