8141:27f636beebad | 8143:2c730d5fd177 |
---|---|
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 |
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")) |
3478 self.__indexing = True | 3485 self.__indexing = True |
3479 if self.__indexingProgress is None: | 3486 if self.__indexingProgress is None: |
3480 self.__indexingProgress = QWidget() | 3487 self.__indexingProgress = QWidget() |
3481 layout = QHBoxLayout(self.__indexingProgress) | 3488 layout = QHBoxLayout(self.__indexingProgress) |
3482 layout.setContentsMargins(0, 0, 0, 0) | 3489 layout.setContentsMargins(0, 0, 0, 0) |
3483 sizePolicy = QSizePolicy(QSizePolicy.Preferred, | 3490 sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, |
3484 QSizePolicy.Maximum) | 3491 QSizePolicy.Policy.Maximum) |
3485 | 3492 |
3486 label = QLabel(self.tr("Updating search index")) | 3493 label = QLabel(self.tr("Updating search index")) |
3487 label.setSizePolicy(sizePolicy) | 3494 label.setSizePolicy(sizePolicy) |
3488 layout.addWidget(label) | 3495 layout.addWidget(label) |
3489 | 3496 |
3517 not self.__indexing and | 3524 not self.__indexing and |
3518 self.__searchWord is not None | 3525 self.__searchWord is not None |
3519 ): | 3526 ): |
3520 self.__searchDock.show() | 3527 self.__searchDock.show() |
3521 self.__searchDock.raise_() | 3528 self.__searchDock.raise_() |
3522 query = QHelpSearchQuery(QHelpSearchQuery.DEFAULT, | 3529 query = QHelpSearchQuery(QHelpSearchQuery.FieldName.DEFAULT, |
3523 [self.__searchWord]) | 3530 [self.__searchWord]) |
3524 self.__searchEngine.search([query]) | 3531 self.__searchEngine.search([query]) |
3525 self.__searchWord = None | 3532 self.__searchWord = None |
3526 | 3533 |
3527 def search(self, word): | 3534 def search(self, word): |
3621 """ | 3628 """ |
3622 from .WebBrowserClearPrivateDataDialog import ( | 3629 from .WebBrowserClearPrivateDataDialog import ( |
3623 WebBrowserClearPrivateDataDialog | 3630 WebBrowserClearPrivateDataDialog |
3624 ) | 3631 ) |
3625 dlg = WebBrowserClearPrivateDataDialog(self) | 3632 dlg = WebBrowserClearPrivateDataDialog(self) |
3626 if dlg.exec() == QDialog.Accepted: | 3633 if dlg.exec() == QDialog.DialogCode.Accepted: |
3627 # browsing history, search history, favicons, disk cache, cookies, | 3634 # browsing history, search history, favicons, disk cache, cookies, |
3628 # passwords, web databases, downloads, zoom values, SSL error | 3635 # passwords, web databases, downloads, zoom values, SSL error |
3629 # exceptions, history period | 3636 # exceptions, history period |
3630 (history, searches, favicons, cache, cookies, | 3637 (history, searches, favicons, cache, cookies, |
3631 passwords, databases, downloads, zoomValues, | 3638 passwords, databases, downloads, zoomValues, |
4340 """ | 4347 """ |
4341 Protected method called by a mouse press event. | 4348 Protected method called by a mouse press event. |
4342 | 4349 |
4343 @param evt reference to the mouse event (QMouseEvent) | 4350 @param evt reference to the mouse event (QMouseEvent) |
4344 """ | 4351 """ |
4345 if evt.button() == Qt.XButton1: | 4352 if evt.button() == Qt.MouseButton.XButton1: |
4346 self.currentBrowser().triggerPageAction(QWebEnginePage.Back) | 4353 self.currentBrowser().triggerPageAction( |
4347 elif evt.button() == Qt.XButton2: | 4354 QWebEnginePage.WebAction.Back) |
4348 self.currentBrowser().triggerPageAction(QWebEnginePage.Forward) | 4355 elif evt.button() == Qt.MouseButton.XButton2: |
4356 self.currentBrowser().triggerPageAction( | |
4357 QWebEnginePage.WebAction.Forward) | |
4349 else: | 4358 else: |
4350 super(WebBrowserWindow, self).mousePressEvent(evt) | 4359 super(WebBrowserWindow, self).mousePressEvent(evt) |
4351 | 4360 |
4352 @classmethod | 4361 @classmethod |
4353 def feedsManager(cls): | 4362 def feedsManager(cls): |
4459 @param evt reference to the key press event (QKeyEvent) | 4468 @param evt reference to the key press event (QKeyEvent) |
4460 """ | 4469 """ |
4461 number = -1 | 4470 number = -1 |
4462 key = evt.key() | 4471 key = evt.key() |
4463 | 4472 |
4464 if key == Qt.Key_1: | 4473 if key == Qt.Key.Key_1: |
4465 number = 1 | 4474 number = 1 |
4466 elif key == Qt.Key_2: | 4475 elif key == Qt.Key.Key_2: |
4467 number = 2 | 4476 number = 2 |
4468 elif key == Qt.Key_3: | 4477 elif key == Qt.Key.Key_3: |
4469 number = 3 | 4478 number = 3 |
4470 elif key == Qt.Key_4: | 4479 elif key == Qt.Key.Key_4: |
4471 number = 4 | 4480 number = 4 |
4472 elif key == Qt.Key_5: | 4481 elif key == Qt.Key.Key_5: |
4473 number = 5 | 4482 number = 5 |
4474 elif key == Qt.Key_6: | 4483 elif key == Qt.Key.Key_6: |
4475 number = 6 | 4484 number = 6 |
4476 elif key == Qt.Key_7: | 4485 elif key == Qt.Key.Key_7: |
4477 number = 7 | 4486 number = 7 |
4478 elif key == Qt.Key_8: | 4487 elif key == Qt.Key.Key_8: |
4479 number = 8 | 4488 number = 8 |
4480 elif key == Qt.Key_9: | 4489 elif key == Qt.Key.Key_9: |
4481 number = 9 | 4490 number = 9 |
4482 elif key == Qt.Key_0: | 4491 elif key == Qt.Key.Key_0: |
4483 number = 10 | 4492 number = 10 |
4484 | 4493 |
4485 if number != -1: | 4494 if number != -1: |
4486 if evt.modifiers() == Qt.KeyboardModifiers(Qt.AltModifier): | 4495 if evt.modifiers() == Qt.KeyboardModifiers( |
4496 Qt.KeyboardModifier.AltModifier | |
4497 ): | |
4487 if number == 10: | 4498 if number == 10: |
4488 number = self.__tabWidget.count() | 4499 number = self.__tabWidget.count() |
4489 self.__tabWidget.setCurrentIndex(number - 1) | 4500 self.__tabWidget.setCurrentIndex(number - 1) |
4490 return | 4501 return |
4491 | 4502 |
4492 if evt.modifiers() == Qt.KeyboardModifiers(Qt.MetaModifier): | 4503 if evt.modifiers() == Qt.KeyboardModifiers( |
4504 Qt.KeyboardModifier.MetaModifier | |
4505 ): | |
4493 url = self.speedDial().urlForShortcut(number - 1) | 4506 url = self.speedDial().urlForShortcut(number - 1) |
4494 if url.isValid(): | 4507 if url.isValid(): |
4495 self.__linkActivated(url) | 4508 self.__linkActivated(url) |
4496 return | 4509 return |
4497 | 4510 |
4504 @param evt reference to the event | 4517 @param evt reference to the event |
4505 @type QEvent | 4518 @type QEvent |
4506 @return flag indicating a handled event | 4519 @return flag indicating a handled event |
4507 @rtype bool | 4520 @rtype bool |
4508 """ | 4521 """ |
4509 if evt.type() == QEvent.WindowStateChange: | 4522 if evt.type() == QEvent.Type.WindowStateChange: |
4510 if ( | 4523 if ( |
4511 not bool(evt.oldState() & Qt.WindowFullScreen) and | 4524 not bool(evt.oldState() & Qt.WindowState.WindowFullScreen) and |
4512 bool(self.windowState() & Qt.WindowFullScreen) | 4525 bool(self.windowState() & Qt.WindowState.WindowFullScreen) |
4513 ): | 4526 ): |
4514 # enter full screen mode | 4527 # enter full screen mode |
4515 self.__windowStates = evt.oldState() | 4528 self.__windowStates = evt.oldState() |
4516 self.__toolbarStates = self.saveState() | 4529 self.__toolbarStates = self.saveState() |
4517 self.menuBar().hide() | 4530 self.menuBar().hide() |
4524 toolbar.hide() | 4537 toolbar.hide() |
4525 self.__navigationBar.exitFullScreenButton().setVisible(True) | 4538 self.__navigationBar.exitFullScreenButton().setVisible(True) |
4526 self.__navigationContainer.hide() | 4539 self.__navigationContainer.hide() |
4527 | 4540 |
4528 elif ( | 4541 elif ( |
4529 bool(evt.oldState() & Qt.WindowFullScreen) and | 4542 bool(evt.oldState() & Qt.WindowState.WindowFullScreen) and |
4530 not bool(self.windowState() & Qt.WindowFullScreen) | 4543 not bool(self.windowState() & Qt.WindowState.WindowFullScreen) |
4531 ): | 4544 ): |
4532 # leave full screen mode | 4545 # leave full screen mode |
4533 self.setWindowState(self.__windowStates) | 4546 self.setWindowState(self.__windowStates) |
4534 self.__htmlFullScreen = False | 4547 self.__htmlFullScreen = False |
4535 if Preferences.getWebBrowser("MenuBarVisible"): | 4548 if Preferences.getWebBrowser("MenuBarVisible"): |
4603 """ | 4616 """ |
4604 ip, ok = QInputDialog.getText( | 4617 ip, ok = QInputDialog.getText( |
4605 self, | 4618 self, |
4606 self.tr("IP Address Report"), | 4619 self.tr("IP Address Report"), |
4607 self.tr("Enter a valid IPv4 address in dotted quad notation:"), | 4620 self.tr("Enter a valid IPv4 address in dotted quad notation:"), |
4608 QLineEdit.Normal) | 4621 QLineEdit.EchoMode.Normal) |
4609 if ok and ip: | 4622 if ok and ip: |
4610 if ip.count(".") == 3: | 4623 if ip.count(".") == 3: |
4611 self.__virusTotal.getIpAddressReport(ip) | 4624 self.__virusTotal.getIpAddressReport(ip) |
4612 else: | 4625 else: |
4613 E5MessageBox.information( | 4626 E5MessageBox.information( |
4622 """ | 4635 """ |
4623 domain, ok = QInputDialog.getText( | 4636 domain, ok = QInputDialog.getText( |
4624 self, | 4637 self, |
4625 self.tr("Domain Report"), | 4638 self.tr("Domain Report"), |
4626 self.tr("Enter a valid domain name:"), | 4639 self.tr("Enter a valid domain name:"), |
4627 QLineEdit.Normal) | 4640 QLineEdit.EchoMode.Normal) |
4628 if ok and domain: | 4641 if ok and domain: |
4629 self.__virusTotal.getDomainReport(domain) | 4642 self.__virusTotal.getDomainReport(domain) |
4630 | 4643 |
4631 ########################################################################### | 4644 ########################################################################### |
4632 ## Style sheet handling below ## | 4645 ## Style sheet handling below ## |
4660 if userStyle: | 4673 if userStyle: |
4661 from .WebBrowserPage import WebBrowserPage | 4674 from .WebBrowserPage import WebBrowserPage |
4662 | 4675 |
4663 script = QWebEngineScript() | 4676 script = QWebEngineScript() |
4664 script.setName(name) | 4677 script.setName(name) |
4665 script.setInjectionPoint(QWebEngineScript.DocumentCreation) | 4678 script.setInjectionPoint( |
4679 QWebEngineScript.InjectionPoint.DocumentCreation) | |
4666 script.setWorldId(WebBrowserPage.SafeJsWorld) | 4680 script.setWorldId(WebBrowserPage.SafeJsWorld) |
4667 script.setRunsOnSubFrames(True) | 4681 script.setRunsOnSubFrames(True) |
4668 script.setSourceCode(Scripts.setStyleSheet(userStyle)) | 4682 script.setSourceCode(Scripts.setStyleSheet(userStyle)) |
4669 self.webProfile().scripts().insert(script) | 4683 self.webProfile().scripts().insert(script) |
4670 | 4684 |
4761 cls._webProfile.defaultUserAgent = userAgent | 4775 cls._webProfile.defaultUserAgent = userAgent |
4762 | 4776 |
4763 if not private: | 4777 if not private: |
4764 if Preferences.getWebBrowser("DiskCacheEnabled"): | 4778 if Preferences.getWebBrowser("DiskCacheEnabled"): |
4765 cls._webProfile.setHttpCacheType( | 4779 cls._webProfile.setHttpCacheType( |
4766 QWebEngineProfile.DiskHttpCache) | 4780 QWebEngineProfile.HttpCacheType.DiskHttpCache) |
4767 cls._webProfile.setHttpCacheMaximumSize( | 4781 cls._webProfile.setHttpCacheMaximumSize( |
4768 Preferences.getWebBrowser("DiskCacheSize") * | 4782 Preferences.getWebBrowser("DiskCacheSize") * |
4769 1024 * 1024) | 4783 1024 * 1024) |
4770 cls._webProfile.setCachePath(os.path.join( | 4784 cls._webProfile.setCachePath(os.path.join( |
4771 Utilities.getConfigDir(), "web_browser")) | 4785 Utilities.getConfigDir(), "web_browser")) |
4772 else: | 4786 else: |
4773 cls._webProfile.setHttpCacheType( | 4787 cls._webProfile.setHttpCacheType( |
4774 QWebEngineProfile.MemoryHttpCache) | 4788 QWebEngineProfile.HttpCacheType.MemoryHttpCache) |
4775 cls._webProfile.setHttpCacheMaximumSize(0) | 4789 cls._webProfile.setHttpCacheMaximumSize(0) |
4776 cls._webProfile.setPersistentStoragePath(os.path.join( | 4790 cls._webProfile.setPersistentStoragePath(os.path.join( |
4777 Utilities.getConfigDir(), "web_browser", | 4791 Utilities.getConfigDir(), "web_browser", |
4778 "persistentstorage")) | 4792 "persistentstorage")) |
4779 cls._webProfile.setPersistentCookiesPolicy( | 4793 cls._webProfile.setPersistentCookiesPolicy( |
4780 QWebEngineProfile.AllowPersistentCookies) | 4794 QWebEngineProfile.PersistentCookiesPolicy |
4795 .AllowPersistentCookies) | |
4781 | 4796 |
4782 try: | 4797 try: |
4783 cls._webProfile.setSpellCheckEnabled( | 4798 cls._webProfile.setSpellCheckEnabled( |
4784 Preferences.getWebBrowser("SpellCheckEnabled")) | 4799 Preferences.getWebBrowser("SpellCheckEnabled")) |
4785 cls._webProfile.setSpellCheckLanguages( | 4800 cls._webProfile.setSpellCheckLanguages( |
4792 from .WebBrowserPage import WebBrowserPage | 4807 from .WebBrowserPage import WebBrowserPage |
4793 | 4808 |
4794 # WebChannel for SafeJsWorld | 4809 # WebChannel for SafeJsWorld |
4795 script = QWebEngineScript() | 4810 script = QWebEngineScript() |
4796 script.setName("_eric_webchannel") | 4811 script.setName("_eric_webchannel") |
4797 script.setInjectionPoint(QWebEngineScript.DocumentCreation) | 4812 script.setInjectionPoint( |
4813 QWebEngineScript.InjectionPoint.DocumentCreation) | |
4798 script.setWorldId(WebBrowserPage.SafeJsWorld) | 4814 script.setWorldId(WebBrowserPage.SafeJsWorld) |
4799 script.setRunsOnSubFrames(True) | 4815 script.setRunsOnSubFrames(True) |
4800 script.setSourceCode(Scripts.setupWebChannel(script.worldId())) | 4816 script.setSourceCode(Scripts.setupWebChannel(script.worldId())) |
4801 cls._webProfile.scripts().insert(script) | 4817 cls._webProfile.scripts().insert(script) |
4802 | 4818 |
4803 # WebChannel for UnsafeJsWorld | 4819 # WebChannel for UnsafeJsWorld |
4804 script2 = QWebEngineScript() | 4820 script2 = QWebEngineScript() |
4805 script2.setName("_eric_webchannel2") | 4821 script2.setName("_eric_webchannel2") |
4806 script2.setInjectionPoint(QWebEngineScript.DocumentCreation) | 4822 script2.setInjectionPoint( |
4823 QWebEngineScript.InjectionPoint.DocumentCreation) | |
4807 script2.setWorldId(WebBrowserPage.UnsafeJsWorld) | 4824 script2.setWorldId(WebBrowserPage.UnsafeJsWorld) |
4808 script2.setRunsOnSubFrames(True) | 4825 script2.setRunsOnSubFrames(True) |
4809 script2.setSourceCode(Scripts.setupWebChannel(script2.worldId())) | 4826 script2.setSourceCode(Scripts.setupWebChannel(script2.worldId())) |
4810 cls._webProfile.scripts().insert(script2) | 4827 cls._webProfile.scripts().insert(script2) |
4811 | 4828 |
4812 # document.window object addons | 4829 # document.window object addons |
4813 script3 = QWebEngineScript() | 4830 script3 = QWebEngineScript() |
4814 script3.setName("_eric_window_object") | 4831 script3.setName("_eric_window_object") |
4815 script3.setInjectionPoint(QWebEngineScript.DocumentCreation) | 4832 script3.setInjectionPoint( |
4833 QWebEngineScript.InjectionPoint.DocumentCreation) | |
4816 script3.setWorldId(WebBrowserPage.UnsafeJsWorld) | 4834 script3.setWorldId(WebBrowserPage.UnsafeJsWorld) |
4817 script3.setRunsOnSubFrames(True) | 4835 script3.setRunsOnSubFrames(True) |
4818 script3.setSourceCode(Scripts.setupWindowObject()) | 4836 script3.setSourceCode(Scripts.setupWindowObject()) |
4819 cls._webProfile.scripts().insert(script3) | 4837 cls._webProfile.scripts().insert(script3) |
4820 | 4838 |