src/eric7/WebBrowser/Navigation/NavigationBar.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
--- a/src/eric7/WebBrowser/Navigation/NavigationBar.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/WebBrowser/Navigation/NavigationBar.py	Wed Jul 13 14:55:47 2022 +0200
@@ -10,7 +10,13 @@
 from PyQt6.QtCore import Qt, QUrl
 from PyQt6.QtGui import QAction
 from PyQt6.QtWidgets import (
-    QWidget, QHBoxLayout, QStyle, QToolButton, QSplitter, QSizePolicy, QMenu
+    QWidget,
+    QHBoxLayout,
+    QStyle,
+    QToolButton,
+    QSplitter,
+    QSizePolicy,
+    QMenu,
 )
 
 from EricWidgets.EricToolButton import EricToolButton
@@ -28,10 +34,11 @@
     """
     Class implementing the navigation bar.
     """
+
     def __init__(self, mainWindow, parent=None):
         """
         Constructor
-        
+
         @param mainWindow reference to the browser main window
         @type WebBrowserWindow
         @param parent reference to the parent widget
@@ -39,106 +46,102 @@
         """
         super().__init__(parent)
         self.setObjectName("navigationbar")
-        
+
         self.__mw = mainWindow
-        
+
         self.__layout = QHBoxLayout(self)
         margin = self.style().pixelMetric(
-            QStyle.PixelMetric.PM_ToolBarItemMargin, None, self)
+            QStyle.PixelMetric.PM_ToolBarItemMargin, None, self
+        )
         self.__layout.setContentsMargins(margin, margin, margin, margin)
         self.__layout.setSpacing(
             self.style().pixelMetric(
-                QStyle.PixelMetric.PM_ToolBarItemSpacing, None, self))
+                QStyle.PixelMetric.PM_ToolBarItemSpacing, None, self
+            )
+        )
         self.setLayout(self.__layout)
-        
+
         self.__backButton = EricToolButton(self)
         self.__backButton.setObjectName("navigation_back_button")
         self.__backButton.setToolTip(self.tr("Move one screen backward"))
-        self.__backButton.setToolButtonStyle(
-            Qt.ToolButtonStyle.ToolButtonIconOnly)
+        self.__backButton.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
         self.__backButton.setFocusPolicy(Qt.FocusPolicy.NoFocus)
         self.__backButton.setAutoRaise(True)
-        self.__backButton.setIcon(
-            UI.PixmapCache.getIcon("back"))
+        self.__backButton.setIcon(UI.PixmapCache.getIcon("back"))
         self.__backButton.setEnabled(False)
-        
+
         self.__forwardButton = EricToolButton(self)
         self.__forwardButton.setObjectName("navigation_forward_button")
         self.__forwardButton.setToolTip(self.tr("Move one screen forward"))
-        self.__forwardButton.setToolButtonStyle(
-            Qt.ToolButtonStyle.ToolButtonIconOnly)
+        self.__forwardButton.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
         self.__forwardButton.setFocusPolicy(Qt.FocusPolicy.NoFocus)
         self.__forwardButton.setAutoRaise(True)
-        self.__forwardButton.setIcon(
-            UI.PixmapCache.getIcon("forward"))
+        self.__forwardButton.setIcon(UI.PixmapCache.getIcon("forward"))
         self.__forwardButton.setEnabled(False)
-        
+
         self.__backNextLayout = QHBoxLayout()
         self.__backNextLayout.setContentsMargins(0, 0, 0, 0)
         self.__backNextLayout.setSpacing(0)
         self.__backNextLayout.addWidget(self.__backButton)
         self.__backNextLayout.addWidget(self.__forwardButton)
-        
+
         self.__reloadStopButton = ReloadStopButton(self)
-        
+
         self.__homeButton = EricToolButton(self)
         self.__homeButton.setObjectName("navigation_home_button")
         self.__homeButton.setToolTip(self.tr("Move to the initial screen"))
-        self.__homeButton.setToolButtonStyle(
-            Qt.ToolButtonStyle.ToolButtonIconOnly)
+        self.__homeButton.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
         self.__homeButton.setFocusPolicy(Qt.FocusPolicy.NoFocus)
         self.__homeButton.setAutoRaise(True)
-        self.__homeButton.setIcon(
-            UI.PixmapCache.getIcon("home"))
-        
+        self.__homeButton.setIcon(UI.PixmapCache.getIcon("home"))
+
         self.__exitFullScreenButton = EricToolButton(self)
-        self.__exitFullScreenButton.setObjectName(
-            "navigation_exitfullscreen_button")
-        self.__exitFullScreenButton.setIcon(
-            UI.PixmapCache.getIcon("windowRestore"))
+        self.__exitFullScreenButton.setObjectName("navigation_exitfullscreen_button")
+        self.__exitFullScreenButton.setIcon(UI.PixmapCache.getIcon("windowRestore"))
         self.__exitFullScreenButton.setToolTip(self.tr("Exit Fullscreen"))
         self.__exitFullScreenButton.setToolButtonStyle(
-            Qt.ToolButtonStyle.ToolButtonIconOnly)
+            Qt.ToolButtonStyle.ToolButtonIconOnly
+        )
         self.__exitFullScreenButton.setFocusPolicy(Qt.FocusPolicy.NoFocus)
         self.__exitFullScreenButton.setAutoRaise(True)
         self.__exitFullScreenButton.clicked.connect(self.__mw.toggleFullScreen)
         self.__exitFullScreenButton.setVisible(False)
-        
+
         self.__downloadManagerButton = DownloadManagerButton(self)
-        
+
         self.__superMenuButton = EricToolButton(self)
-        self.__superMenuButton.setObjectName(
-            "navigation_supermenu_button")
+        self.__superMenuButton.setObjectName("navigation_supermenu_button")
         self.__superMenuButton.setIcon(UI.PixmapCache.getIcon("superMenu"))
         self.__superMenuButton.setToolTip(self.tr("Main Menu"))
         self.__superMenuButton.setPopupMode(
-            QToolButton.ToolButtonPopupMode.InstantPopup)
-        self.__superMenuButton.setToolButtonStyle(
-            Qt.ToolButtonStyle.ToolButtonIconOnly)
+            QToolButton.ToolButtonPopupMode.InstantPopup
+        )
+        self.__superMenuButton.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
         self.__superMenuButton.setFocusPolicy(Qt.FocusPolicy.NoFocus)
         self.__superMenuButton.setAutoRaise(True)
         self.__superMenuButton.setShowMenuInside(True)
-        
+
         self.__navigationSplitter = QSplitter(self)
         urlBar = self.__mw.tabWidget().stackedUrlBar()
         self.__navigationSplitter.addWidget(urlBar)
-        
-        from WebBrowser.WebBrowserWebSearchWidget import (
-            WebBrowserWebSearchWidget
+
+        from WebBrowser.WebBrowserWebSearchWidget import WebBrowserWebSearchWidget
+
+        self.__searchEdit = WebBrowserWebSearchWidget(self.__mw, self)
+        sizePolicy = QSizePolicy(
+            QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred
         )
-        self.__searchEdit = WebBrowserWebSearchWidget(self.__mw, self)
-        sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding,
-                                 QSizePolicy.Policy.Preferred)
         sizePolicy.setHorizontalStretch(2)
         sizePolicy.setVerticalStretch(0)
         self.__searchEdit.setSizePolicy(sizePolicy)
         self.__searchEdit.search.connect(self.__mw.openUrl)
         self.__navigationSplitter.addWidget(self.__searchEdit)
-        
+
         self.__navigationSplitter.setSizePolicy(
-            QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Maximum)
+            QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Maximum
+        )
         self.__navigationSplitter.setCollapsible(0, False)
-        
+
         self.__layout.addLayout(self.__backNextLayout)
         self.__layout.addWidget(self.__reloadStopButton)
         self.__layout.addWidget(self.__homeButton)
@@ -146,21 +149,20 @@
         self.__layout.addWidget(self.__downloadManagerButton)
         self.__layout.addWidget(self.__exitFullScreenButton)
         self.__layout.addWidget(self.__superMenuButton)
-        
+
         self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
         self.customContextMenuRequested.connect(self.__contextMenuRequested)
-        
+
         self.__backMenu = QMenu(self)
         self.__backMenu.triggered.connect(self.__navigationMenuActionTriggered)
         self.__backButton.setMenu(self.__backMenu)
         self.__backButton.aboutToShowMenu.connect(self.__showBackMenu)
-        
+
         self.__forwardMenu = QMenu(self)
-        self.__forwardMenu.triggered.connect(
-            self.__navigationMenuActionTriggered)
+        self.__forwardMenu.triggered.connect(self.__navigationMenuActionTriggered)
         self.__forwardButton.setMenu(self.__forwardMenu)
         self.__forwardButton.aboutToShowMenu.connect(self.__showForwardMenu)
-        
+
         self.__backButton.clicked.connect(self.__goBack)
         self.__backButton.middleClicked.connect(self.__goBackInNewTab)
         self.__backButton.controlClicked.connect(self.__goBackInNewTab)
@@ -172,61 +174,61 @@
         self.__homeButton.clicked.connect(self.__goHome)
         self.__homeButton.middleClicked.connect(self.__goHomeInNewTab)
         self.__homeButton.controlClicked.connect(self.__goHomeInNewTab)
-    
+
     def superMenuButton(self):
         """
         Public method to get a reference to the super menu button.
-        
+
         @return reference to the super menu button
         @rtype QToolButton
         """
         return self.__superMenuButton
-    
+
     def backButton(self):
         """
         Public method to get a reference to the back button.
-        
+
         @return reference to the back button
         @rtype QToolButton
         """
         return self.__backButton
-    
+
     def forwardButton(self):
         """
         Public method to get a reference to the forward button.
-        
+
         @return reference to the forward button
         @rtype QToolButton
         """
         return self.__forwardButton
-    
+
     def reloadStopButton(self):
         """
         Public method to get a reference to the reload/stop button.
-        
+
         @return reference to the reload/stop button
         @rtype QToolButton
         """
         return self.__reloadStopButton
-    
+
     def exitFullScreenButton(self):
         """
         Public method to get a reference to the exit full screen button.
-        
+
         @return reference to the exit full screen button
         @rtype QToolButton
         """
         return self.__exitFullScreenButton
-    
+
     def searchEdit(self):
         """
         Public method to get a reference to the web search edit.
-        
+
         @return reference to the web search edit
         @rtype WebBrowserWebSearchWidget
         """
         return self.__searchEdit
-    
+
     def __showBackMenu(self):
         """
         Private slot showing the backwards navigation menu.
@@ -235,7 +237,7 @@
         history = self.__mw.currentBrowser().history()
         backItems = history.backItems(20)
         # show max. 20 items
-        
+
         for item in reversed(backItems):
             act = QAction(self)
             act.setData(item)
@@ -243,11 +245,10 @@
             act.setIcon(icon)
             act.setText(item.title())
             self.__backMenu.addAction(act)
-        
+
         self.__backMenu.addSeparator()
-        self.__backMenu.addAction(self.tr("Clear History"),
-                                  self.__clearHistory)
-    
+        self.__backMenu.addAction(self.tr("Clear History"), self.__clearHistory)
+
     def __showForwardMenu(self):
         """
         Private slot showing the forwards navigation menu.
@@ -256,7 +257,7 @@
         history = self.__mw.currentBrowser().history()
         forwardItems = history.forwardItems(20)
         # show max. 20 items
-        
+
         for item in forwardItems:
             act = QAction(self)
             act.setData(item)
@@ -264,15 +265,14 @@
             act.setIcon(icon)
             act.setText(item.title())
             self.__forwardMenu.addAction(act)
-        
+
         self.__forwardMenu.addSeparator()
-        self.__forwardMenu.addAction(self.tr("Clear History"),
-                                     self.__clearHistory)
-    
+        self.__forwardMenu.addAction(self.tr("Clear History"), self.__clearHistory)
+
     def __navigationMenuActionTriggered(self, act):
         """
         Private slot to go to the selected page.
-        
+
         @param act reference to the action selected in the navigation menu
             (QAction)
         """
@@ -280,13 +280,13 @@
         if historyItem is not None:
             history = self.__mw.currentBrowser().history()
             history.goToItem(historyItem)
-    
+
     def __goBack(self):
         """
         Private slot called to handle the backward button.
         """
         self.__mw.currentBrowser().backward()
-    
+
     def __goBackInNewTab(self):
         """
         Private slot handling a middle click or Ctrl left click of the
@@ -295,16 +295,18 @@
         history = self.__mw.currentBrowser().history()
         if history.canGoBack():
             backItem = history.backItem()
-            self.__mw.newTab(link=backItem.url(),
-                             addNextTo=self.__mw.currentBrowser(),
-                             background=True)
-    
+            self.__mw.newTab(
+                link=backItem.url(),
+                addNextTo=self.__mw.currentBrowser(),
+                background=True,
+            )
+
     def __goForward(self):
         """
         Private slot called to handle the forward button.
         """
         self.__mw.currentBrowser().forward()
-    
+
     def __goForwardInNewTab(self):
         """
         Private slot handling a middle click or Ctrl left click of the
@@ -313,38 +315,40 @@
         history = self.__mw.currentBrowser().history()
         if history.canGoForward():
             forwardItem = history.forwardItem()
-            self.__mw.newTab(link=forwardItem.url(),
-                             addNextTo=self.__mw.currentBrowser(),
-                             background=True)
-    
+            self.__mw.newTab(
+                link=forwardItem.url(),
+                addNextTo=self.__mw.currentBrowser(),
+                background=True,
+            )
+
     def __goHome(self):
         """
         Private slot called to handle the home button.
         """
         self.__mw.currentBrowser().home()
-    
+
     def __goHomeInNewTab(self):
         """
         Private slot handling a middle click or Ctrl left click of the
         home button.
         """
         homeUrl = QUrl(Preferences.getWebBrowser("HomePage"))
-        self.__mw.newTab(link=homeUrl,
-                         addNextTo=self.__mw.currentBrowser(),
-                         background=True)
-    
+        self.__mw.newTab(
+            link=homeUrl, addNextTo=self.__mw.currentBrowser(), background=True
+        )
+
     def __reload(self):
         """
         Private slot called to handle the reload button.
         """
         self.__mw.currentBrowser().reloadBypassingCache()
-    
+
     def __stopLoad(self):
         """
         Private slot called to handle loading of the current page.
         """
         self.__mw.currentBrowser().stop()
-    
+
     def __clearHistory(self):
         """
         Private slot to clear the history of the current web browser tab.
@@ -354,11 +358,11 @@
             cb.history().clear()
             self.__mw.setForwardAvailable(cb.isForwardAvailable())
             self.__mw.setBackwardAvailable(cb.isBackwardAvailable())
-    
+
     def __contextMenuRequested(self, pos):
         """
         Private method to handle a context menu request.
-        
+
         @param pos position of the request
         @type QPoint
         """

eric ide

mercurial