src/eric7/WebBrowser/WebBrowserWindow.py

branch
eric7
changeset 9482
a2bc06a54d9d
parent 9473
3f23dbf37dbe
child 9573
9960d19d66b5
--- a/src/eric7/WebBrowser/WebBrowserWindow.py	Sun Nov 06 11:22:39 2022 +0100
+++ b/src/eric7/WebBrowser/WebBrowserWindow.py	Mon Nov 07 17:19:58 2022 +0100
@@ -60,12 +60,14 @@
 from eric7.EricGui.EricAction import EricAction
 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor
 from eric7.EricNetwork.EricNetworkIcon import EricNetworkIcon
+from eric7.EricNetwork.EricSslUtilities import initSSL
 from eric7.EricWidgets import EricErrorMessage, EricFileDialog, EricMessageBox
 from eric7.EricWidgets.EricApplication import ericApp
 from eric7.EricWidgets.EricMainWindow import EricMainWindow
 from eric7.EricWidgets.EricZoomWidget import EricZoomWidget
 from eric7.Globals import getConfig
 from eric7.Preferences import Shortcuts
+from eric7.Preferences.ShortcutsDialog import ShortcutsDialog
 from eric7.UI import Config
 from eric7.UI.Info import Version
 from eric7.UI.NotificationWidget import NotificationTypes
@@ -168,6 +170,21 @@
         @param saname name to be used for the single application server
         @type str
         """
+        from .AdBlock.AdBlockIcon import AdBlockIcon
+        from .Bookmarks.BookmarksToolBar import BookmarksToolBar
+        from .Navigation.NavigationBar import NavigationBar
+        from .Navigation.NavigationContainer import NavigationContainer
+        from .QtHelp.HelpIndexWidget import HelpIndexWidget
+        from .QtHelp.HelpSearchWidget import HelpSearchWidget
+        from .QtHelp.HelpTocWidget import HelpTocWidget
+        from .SearchWidget import SearchWidget
+        from .StatusBar.ImagesIcon import ImagesIcon
+        from .StatusBar.JavaScriptIcon import JavaScriptIcon
+        from .VirusTotal.VirusTotalApi import VirusTotalAPI
+        from .WebBrowserJavaScriptConsole import WebBrowserJavaScriptConsole
+        from .WebBrowserTabWidget import WebBrowserTabWidget
+        from .WebBrowserView import WebBrowserView
+
         self.__hideNavigationTimer = None
 
         super().__init__(parent)
@@ -196,25 +213,9 @@
         self.__windowStates = Qt.WindowState.WindowNoState
         self.__isClosing = False
 
-        from .AdBlock.AdBlockIcon import AdBlockIcon
-        from .Bookmarks.BookmarksToolBar import BookmarksToolBar
-        from .Navigation.NavigationBar import NavigationBar
-        from .Navigation.NavigationContainer import NavigationContainer
-        from .QtHelp.HelpIndexWidget import HelpIndexWidget
-        from .QtHelp.HelpSearchWidget import HelpSearchWidget
-        from .QtHelp.HelpTocWidget import HelpTocWidget
-        from .SearchWidget import SearchWidget
-        from .StatusBar.ImagesIcon import ImagesIcon
-        from .StatusBar.JavaScriptIcon import JavaScriptIcon
-        from .VirusTotal.VirusTotalApi import VirusTotalAPI
-        from .WebBrowserTabWidget import WebBrowserTabWidget
-        from .WebBrowserView import WebBrowserView
-
         self.setStyle(Preferences.getUI("Style"), Preferences.getUI("StyleSheet"))
 
         # initialize some SSL stuff
-        from eric7.EricNetwork.EricSslUtilities import initSSL
-
         initSSL()
 
         if WebBrowserWindow._useQtHelp:
@@ -309,8 +310,6 @@
             self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, self.__searchDock)
 
         # JavaScript Console window
-        from .WebBrowserJavaScriptConsole import WebBrowserJavaScriptConsole
-
         self.__javascriptConsole = WebBrowserJavaScriptConsole(self)
         self.__javascriptConsoleDock = QDockWidget(self.tr("JavaScript Console"))
         self.__javascriptConsoleDock.setObjectName("JavascriptConsole")
@@ -1846,9 +1845,9 @@
         self.__actions.append(self.clearIconsAct)
 
         self.manageIconsAct = EricAction(
-            self.tr("Manage saved Favicons"),
+            self.tr("Manage Saved Favicons"),
             EricPixmapCache.getIcon("icons"),
-            self.tr("Manage saved Favicons"),
+            self.tr("Manage Saved Favicons"),
             0,
             0,
             self,
@@ -1859,7 +1858,7 @@
         )
         self.manageIconsAct.setWhatsThis(
             self.tr(
-                """<b>Manage saved Favicons</b>"""
+                """<b>Manage Saved Favicons</b>"""
                 """<p>This shows a dialog to manage the saved favicons of"""
                 """ previously visited URLs.</p>"""
             )
@@ -2304,6 +2303,10 @@
         """
         Private method to create the menus.
         """
+        from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
+        from .History.HistoryMenu import HistoryMenu
+        from .UserAgent.UserAgentMenu import UserAgentMenu
+
         mb = self.menuBar()
 
         menu = mb.addMenu(self.tr("&File"))
@@ -2373,8 +2376,6 @@
         menu.addAction(self.fullScreenAct)
         self.addActions(menu.actions())
 
-        from .History.HistoryMenu import HistoryMenu
-
         self.historyMenu = HistoryMenu(self, self.__tabWidget)
         self.historyMenu.setTitle(self.tr("H&istory"))
         self.historyMenu.openUrl.connect(self.openUrl)
@@ -2391,8 +2392,6 @@
         self.historyMenu.setInitialActions(historyActions)
         self.addActions(historyActions)
 
-        from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
-
         self.bookmarksMenu = BookmarksMenuBarMenu(self)
         self.bookmarksMenu.setTitle(self.tr("&Bookmarks"))
         self.bookmarksMenu.openUrl.connect(self.openUrl)
@@ -2440,8 +2439,6 @@
         self.__settingsMenu = menu
         self.__settingsMenu.aboutToShow.connect(self.__aboutToShowSettingsMenu)
 
-        from .UserAgent.UserAgentMenu import UserAgentMenu
-
         self.__userAgentMenu = UserAgentMenu(self.tr("Global User Agent"))
         menu.addMenu(self.__userAgentMenu)
         menu.addAction(self.userAgentManagerAct)
@@ -3063,13 +3060,13 @@
         @param res result of the JavaScript
         @type list
         """
+        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
+
         description = ""
         for meta in res:
             if meta["name"] == "description":
                 description = meta["content"]
 
-        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
-
         dlg = AddBookmarkDialog()
         dlg.setUrl(url)
         dlg.setTitle(title)
@@ -3147,13 +3144,13 @@
         @param res result of the JavaScript
         @type list
         """
+        from .Bookmarks.BookmarkNode import BookmarkNode
+
         description = ""
         for meta in res:
             if meta["name"] == "description":
                 description = meta["content"]
 
-        from .Bookmarks.BookmarkNode import BookmarkNode
-
         bookmark = BookmarkNode(BookmarkNode.Bookmark)
         bookmark.url = url
         bookmark.title = title
@@ -3809,9 +3806,9 @@
 
         @return reference to the network access manager (NetworkManager)
         """
+        from .Network.NetworkManager import NetworkManager
+
         if cls._networkManager is None:
-            from .Network.NetworkManager import NetworkManager
-
             cls._networkManager = NetworkManager(cls.helpEngine())
 
         return cls._networkManager
@@ -3823,9 +3820,9 @@
 
         @return reference to the cookie jar (CookieJar)
         """
+        from .CookieJar.CookieJar import CookieJar
+
         if cls._cookieJar is None:
-            from .CookieJar.CookieJar import CookieJar
-
             cls._cookieJar = CookieJar()
 
         return cls._cookieJar
@@ -3842,7 +3839,7 @@
         """
         Private slot to show a dialog to manage the favicons database.
         """
-        WebIconProvider.instance().showWebIconDialog()
+        WebIconProvider.instance().showWebIconDialog(self)
 
     @pyqtSlot(QUrl)
     def urlHandler(self, url):
@@ -3959,7 +3956,7 @@
         Private slot to manage the QtHelp documentation database.
         """
         if WebBrowserWindow._useQtHelp:
-            from .QtHelp.QtHelpDocumentationConfigurationDialog import (
+            from .QtHelp.QtHelpDocumentationConfigurationDialog import (  # __IGNORE_WARNING__
                 QtHelpDocumentationConfigurationDialog,
             )
 
@@ -4057,7 +4054,9 @@
         help database.
         """
         if WebBrowserWindow._useQtHelp:
-            from .QtHelp.HelpDocsInstaller import HelpDocsInstaller
+            from .QtHelp.HelpDocsInstaller import (  # __IGNORE_WARNING_I101__
+                HelpDocsInstaller,
+            )
 
             self.__helpInstaller = HelpDocsInstaller(self.__helpEngine.collectionFile())
             self.__helpInstaller.errorMessage.connect(self.__showInstallationError)
@@ -4192,35 +4191,35 @@
         """
         Private slot to show the certificate errors management dialog.
         """
-        self.networkManager().showSslErrorExceptionsDialog()
+        self.networkManager().showSslErrorExceptionsDialog(self)
 
     @pyqtSlot()
     def __showAdBlockDialog(self):
         """
         Private slot to show the AdBlock configuration dialog.
         """
-        self.adBlockManager().showDialog()
+        self.adBlockManager().showDialog(self)
 
     @pyqtSlot()
     def __showPersonalInformationDialog(self):
         """
         Private slot to show the Personal Information configuration dialog.
         """
-        self.personalInformationManager().showConfigurationDialog()
+        self.personalInformationManager().showConfigurationDialog(parent=self)
 
     @pyqtSlot()
     def __showGreaseMonkeyConfigDialog(self):
         """
         Private slot to show the GreaseMonkey scripts configuration dialog.
         """
-        self.greaseMonkeyManager().showConfigurationDialog()
+        self.greaseMonkeyManager().showConfigurationDialog(parent=self)
 
     @pyqtSlot()
     def __showFeaturePermissionDialog(self):
         """
         Private slot to show the feature permission dialog.
         """
-        self.featurePermissionManager().showFeaturePermissionsDialog()
+        self.featurePermissionManager().showFeaturePermissionsDialog(self)
 
     @pyqtSlot()
     def __showZoomValuesDialog(self):
@@ -4296,9 +4295,9 @@
 
         @return reference to the bookmarks manager (BookmarksManager)
         """
+        from .Bookmarks.BookmarksManager import BookmarksManager
+
         if cls._bookmarksManager is None:
-            from .Bookmarks.BookmarksManager import BookmarksManager
-
             cls._bookmarksManager = BookmarksManager()
 
         return cls._bookmarksManager
@@ -4385,9 +4384,9 @@
 
         @return reference to the history manager (HistoryManager)
         """
+        from .History.HistoryManager import HistoryManager
+
         if cls._historyManager is None:
-            from .History.HistoryManager import HistoryManager
-
             cls._historyManager = HistoryManager()
 
         return cls._historyManager
@@ -4399,9 +4398,9 @@
 
         @return reference to the password manager (PasswordManager)
         """
+        from .Passwords.PasswordManager import PasswordManager
+
         if cls._passwordManager is None:
-            from .Passwords.PasswordManager import PasswordManager
-
             cls._passwordManager = PasswordManager()
 
         return cls._passwordManager
@@ -4413,9 +4412,9 @@
 
         @return reference to the AdBlock manager (AdBlockManager)
         """
+        from .AdBlock.AdBlockManager import AdBlockManager
+
         if cls._adblockManager is None:
-            from .AdBlock.AdBlockManager import AdBlockManager
-
             cls._adblockManager = AdBlockManager()
 
         return cls._adblockManager
@@ -4435,9 +4434,9 @@
 
         @return reference to the download manager (DownloadManager)
         """
+        from .Download.DownloadManager import DownloadManager
+
         if cls._downloadManager is None:
-            from .Download.DownloadManager import DownloadManager
-
             cls._downloadManager = DownloadManager()
 
         return cls._downloadManager
@@ -4450,9 +4449,9 @@
         @return reference to the personal information manager
             (PersonalInformationManager)
         """
+        from .PersonalInformationManager import PersonalInformationManager
+
         if cls._personalInformationManager is None:
-            from .PersonalInformationManager import PersonalInformationManager
-
             cls._personalInformationManager = (
                 PersonalInformationManager.PersonalInformationManager()
             )
@@ -4466,9 +4465,9 @@
 
         @return reference to the GreaseMonkey manager (GreaseMonkeyManager)
         """
+        from .GreaseMonkey.GreaseMonkeyManager import GreaseMonkeyManager
+
         if cls._greaseMonkeyManager is None:
-            from .GreaseMonkey.GreaseMonkeyManager import GreaseMonkeyManager
-
             cls._greaseMonkeyManager = GreaseMonkeyManager()
 
         return cls._greaseMonkeyManager
@@ -4481,11 +4480,11 @@
         @return reference to the feature permission manager
         @rtype FeaturePermissionManager
         """
+        from .FeaturePermissions.FeaturePermissionManager import (
+            FeaturePermissionManager,
+        )
+
         if cls._featurePermissionManager is None:
-            from .FeaturePermissions.FeaturePermissionManager import (
-                FeaturePermissionManager,
-            )
-
             cls._featurePermissionManager = FeaturePermissionManager()
 
         return cls._featurePermissionManager
@@ -4498,9 +4497,9 @@
         @return reference to the image finder object
         @rtype ImageSearchEngine
         """
+        from .ImageSearch.ImageSearchEngine import ImageSearchEngine
+
         if cls._imageSearchEngine is None:
-            from .ImageSearch.ImageSearchEngine import ImageSearchEngine
-
             cls._imageSearchEngine = ImageSearchEngine()
 
         return cls._imageSearchEngine
@@ -4513,9 +4512,9 @@
         @return reference to the auto scroller object
         @rtype AutoScroller
         """
+        from .AutoScroll.AutoScroller import AutoScroller
+
         if cls._autoScroller is None:
-            from .AutoScroll.AutoScroller import AutoScroller
-
             cls._autoScroller = AutoScroller()
 
         return cls._autoScroller
@@ -4528,9 +4527,9 @@
         @return reference to the tab manager widget
         @rtype TabManagerWidget
         """
+        from .TabManager.TabManagerWidget import TabManagerWidget
+
         if cls._tabManager is None:
-            from .TabManager.TabManagerWidget import TabManagerWidget
-
             cls._tabManager = TabManagerWidget(cls.mainWindow())
 
             # do the connections
@@ -4862,9 +4861,9 @@
 
         @return reference to the RSS feeds manager (FeedsManager)
         """
+        from .Feeds.FeedsManager import FeedsManager
+
         if cls._feedsManager is None:
-            from .Feeds.FeedsManager import FeedsManager
-
             cls._feedsManager = FeedsManager()
 
         return cls._feedsManager
@@ -4914,9 +4913,9 @@
 
         @return reference to the user agents manager (UserAgentManager)
         """
+        from .UserAgent.UserAgentManager import UserAgentManager
+
         if cls._userAgentsManager is None:
-            from .UserAgent.UserAgentManager import UserAgentManager
-
             cls._userAgentsManager = UserAgentManager()
 
         return cls._userAgentsManager
@@ -4938,9 +4937,9 @@
 
         @return reference to the data synchronization manager (SyncManager)
         """
+        from .Sync.SyncManager import SyncManager
+
         if cls._syncManager is None:
-            from .Sync.SyncManager import SyncManager
-
             cls._syncManager = SyncManager()
 
         return cls._syncManager
@@ -4959,9 +4958,9 @@
 
         @return reference to the speed dial (SpeedDial)
         """
+        from .SpeedDial.SpeedDial import SpeedDial
+
         if cls._speedDial is None:
-            from .SpeedDial.SpeedDial import SpeedDial
-
             cls._speedDial = SpeedDial()
 
         return cls._speedDial
@@ -5174,6 +5173,8 @@
 
         @param styleSheetFile name of the user style sheet file (string)
         """
+        from .WebBrowserPage import WebBrowserPage
+
         name = "_eric_userstylesheet"
         userStyle = ""
 
@@ -5186,8 +5187,6 @@
             self.webProfile().scripts().remove(scripts[0])
 
         if userStyle:
-            from .WebBrowserPage import WebBrowserPage
-
             script = QWebEngineScript()
             script.setName(name)
             script.setInjectionPoint(QWebEngineScript.InjectionPoint.DocumentCreation)
@@ -5219,9 +5218,9 @@
             (None = use configured timeout, 0 = indefinitely)
         @type int
         """
+        from eric7.UI.NotificationWidget import NotificationWidget
+
         if cls._notification is None:
-            from eric7.UI.NotificationWidget import NotificationWidget
-
             cls._notification = NotificationWidget()
 
         if timeout is None:
@@ -5279,6 +5278,8 @@
         @return reference to the web profile object
         @rtype QWebEngineProfile
         """
+        from .WebBrowserPage import WebBrowserPage
+
         if cls._webProfile is None:
             if private:
                 cls._webProfile = QWebEngineProfile()
@@ -5324,8 +5325,6 @@
                 )
 
             # Setup QWebChannel user scripts
-            from .WebBrowserPage import WebBrowserPage
-
             # WebChannel for SafeJsWorld
             script = QWebEngineScript()
             script.setName("_eric_webchannel")
@@ -5377,9 +5376,9 @@
         @return reference to the session manager
         @rtype SessionManager
         """
+        from .Session.SessionManager import SessionManager
+
         if cls._sessionManager is None and not cls._isPrivate:
-            from .Session.SessionManager import SessionManager
-
             cls._sessionManager = SessionManager()
 
         return cls._sessionManager
@@ -5403,9 +5402,9 @@
         @return reference to the safe browsing manager
         @rtype SafeBrowsingManager
         """
+        from .SafeBrowsing.SafeBrowsingManager import SafeBrowsingManager
+
         if cls._safeBrowsingManager is None:
-            from .SafeBrowsing.SafeBrowsingManager import SafeBrowsingManager
-
             cls._safeBrowsingManager = SafeBrowsingManager()
 
         return cls._safeBrowsingManager
@@ -5429,9 +5428,9 @@
         @return reference to the protocol handler manager
         @rtype ProtocolHandlerManager
         """
+        from .Network.ProtocolHandlerManager import ProtocolHandlerManager
+
         if cls._protocolHandlerManager is None:
-            from .Network.ProtocolHandlerManager import ProtocolHandlerManager
-
             cls._protocolHandlerManager = ProtocolHandlerManager()
 
         return cls._protocolHandlerManager
@@ -5501,8 +5500,6 @@
         Private slot to configure the keyboard shortcuts.
         """
         if self.__shortcutsDialog is None:
-            from eric7.Preferences.ShortcutsDialog import ShortcutsDialog
-
             self.__shortcutsDialog = ShortcutsDialog(self)
         self.__shortcutsDialog.populate(helpViewer=self)
         self.__shortcutsDialog.show()
@@ -5544,8 +5541,6 @@
         )
 
         if ok:
-            from eric7.Preferences import Shortcuts
-
             Shortcuts.exportShortcuts(fn, helpViewer=self)
 
     @pyqtSlot()
@@ -5563,6 +5558,4 @@
         )
 
         if fn:
-            from eric7.Preferences import Shortcuts
-
             Shortcuts.importShortcuts(fn, helpViewer=self)

eric ide

mercurial