eric6/WebBrowser/WebBrowserWindow.py

changeset 8143
2c730d5fd177
parent 8069
1176a936efa4
child 8151
8c1445825e7b
equal deleted inserted replaced
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

eric ide

mercurial