src/eric7/HelpViewer/OpenPagesWidget.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
--- a/src/eric7/HelpViewer/OpenPagesWidget.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/HelpViewer/OpenPagesWidget.py	Wed Jul 13 14:55:47 2022 +0200
@@ -17,16 +17,17 @@
 class OpenPagesWidget(QListWidget):
     """
     Class implementing a widget showing the list of open pages.
-    
+
     @signal currentPageChanged(index) emitted to signal a change of the current
         page index
     """
+
     currentPageChanged = pyqtSignal(int)
-    
+
     def __init__(self, stack, parent=None):
         """
         Constructor
-        
+
         @param stack reference to the stack widget containing the open
             help pages
         @type QStackedWidget
@@ -35,28 +36,24 @@
         """
         super().__init__(parent)
         self.setObjectName("OpenPagesWidget")
-        
+
         self.__helpViewer = parent
-        
+
         self.setAlternatingRowColors(True)
-        self.setSelectionMode(
-            QAbstractItemView.SelectionMode.SingleSelection)
-        self.setContextMenuPolicy(
-            Qt.ContextMenuPolicy.CustomContextMenu)
-        self.currentRowChanged.connect(
-            self.__currentRowChanged)
-        self.customContextMenuRequested.connect(
-            self.__showContextMenu)
-        
+        self.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
+        self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
+        self.currentRowChanged.connect(self.__currentRowChanged)
+        self.customContextMenuRequested.connect(self.__showContextMenu)
+
         self.__stack = stack
         self.__stack.currentChanged.connect(self.__currentPageChanged)
-        
+
         self.__initContextMenu()
-        
+
         self.__defaultFont = self.font()
         self.__boldFont = self.font()
         self.__boldFont.setBold(True)
-    
+
     def __initContextMenu(self):
         """
         Private method to initialize the context menu.
@@ -64,24 +61,26 @@
         self.__menu = QMenu(self)
         self.__menu.addAction(
             UI.PixmapCache.getIcon("tabClose"),
-            self.tr('Close'), self.__contextMenuClose)
+            self.tr("Close"),
+            self.__contextMenuClose,
+        )
         self.closeOthersMenuAct = self.__menu.addAction(
             UI.PixmapCache.getIcon("tabCloseOther"),
             self.tr("Close Others"),
-            self.__contextMenuCloseOthers)
-        self.__menu.addAction(
-            self.tr('Close All'), self.__contextMenuCloseAll)
+            self.__contextMenuCloseOthers,
+        )
+        self.__menu.addAction(self.tr("Close All"), self.__contextMenuCloseAll)
         self.__menu.addSeparator()
         self.__copyUrlAct = self.__menu.addAction(
-            self.tr("Copy URL to Clipboard"),
-            self.__contextMenuCopyUrlToClipboard)
-    
+            self.tr("Copy URL to Clipboard"), self.__contextMenuCopyUrlToClipboard
+        )
+
     @pyqtSlot(QPoint)
     def __showContextMenu(self, point):
         """
         Private slot to handle the customContextMenuRequested signal of
         the viewlist.
-        
+
         @param point position to open the menu at
         @type QPoint
         """
@@ -89,36 +88,34 @@
         self.__copyUrlAct.setEnabled(bool(itm) and itm.text() != "about:blank")
         self.closeOthersMenuAct.setEnabled(self.count() > 1)
         self.__menu.popup(self.mapToGlobal(point))
-    
+
     @pyqtSlot(int)
     def __currentPageChanged(self, index):
         """
         Private slot to handle a change of the shown page.
-        
+
         @param index index of the current page
         @type int
         """
         for row in range(self.count()):
             itm = self.item(row)
-            itm.setFont(
-                self.__boldFont if row == index else self.__defaultFont
-            )
-    
+            itm.setFont(self.__boldFont if row == index else self.__defaultFont)
+
     @pyqtSlot(int)
     def __currentRowChanged(self, row):
         """
         Private slot handling a change of the current row.
-        
+
         @param row current row
         @type int
         """
         self.__stack.setCurrentIndex(row)
         self.currentPageChanged.emit(row)
-    
+
     def addPage(self, viewer, background=False):
         """
         Public method to add a viewer page to our list.
-        
+
         @param viewer reference to the viewer object
         @type HelpViewerImpl
         @param background flag indicating to not change the current page
@@ -126,19 +123,17 @@
         @type bool (optional)
         """
         self.addItem(viewer.pageTitle())
-        viewer.titleChanged.connect(
-            lambda: self.__viewerTitleChanged(viewer))
-        
+        viewer.titleChanged.connect(lambda: self.__viewerTitleChanged(viewer))
+
         if not background:
-            self.setCurrentRow(
-                self.count() - 1)
+            self.setCurrentRow(self.count() - 1)
         if self.count() == 1:
             self.__currentPageChanged(0)
-    
+
     def insertPage(self, index, viewer, background=False):
         """
         Public method to insert a viewer page into our list.
-        
+
         @param index index to insert at
         @type int
         @param viewer reference to the viewer object
@@ -149,18 +144,17 @@
         """
         currentRow = self.currentRow()
         self.insertItem(index, viewer.pageTitle())
-        viewer.titleChanged.connect(
-            lambda: self.__viewerTitleChanged(viewer))
-        
+        viewer.titleChanged.connect(lambda: self.__viewerTitleChanged(viewer))
+
         if not background:
             self.setCurrentRow(index)
         else:
             self.setCurrentRow(currentRow)
-    
+
     def __viewerTitleChanged(self, viewer):
         """
         Private method to handle the change of a viewer title.
-        
+
         @param viewer reference to the viewer that change title
         @type HelpViewerImpl
         """
@@ -168,32 +162,32 @@
         itm = self.item(index)
         itm.setText(viewer.pageTitle())
         self.currentPageChanged.emit(index)
-    
+
     #######################################################################
     ## Context menu action methods
     #######################################################################
-    
+
     @pyqtSlot()
     def __contextMenuClose(self):
         """
         Private slot to close a page via the context menu.
         """
         self.closeCurrentPage()
-    
+
     @pyqtSlot()
     def __contextMenuCloseOthers(self):
         """
         Private slot to close all other pages via the context menu.
         """
         self.closeOtherPages()
-    
+
     @pyqtSlot()
     def __contextMenuCloseAll(self):
         """
         Private slot to close all pages via the context menu.
         """
         self.closeAllPages()
-    
+
     @pyqtSlot()
     def __contextMenuCopyUrlToClipboard(self):
         """
@@ -204,31 +198,29 @@
         url = viewer.link()
         if url.isValid():
             urlStr = url.toString()
-            
+
             # copy the URL to both clipboard areas
-            QGuiApplication.clipboard().setText(
-                urlStr, QClipboard.Mode.Clipboard)
-            QGuiApplication.clipboard().setText(
-                urlStr, QClipboard.Mode.Selection)
-    
+            QGuiApplication.clipboard().setText(urlStr, QClipboard.Mode.Clipboard)
+            QGuiApplication.clipboard().setText(urlStr, QClipboard.Mode.Selection)
+
     def __removeViewer(self, row):
         """
         Private method to remove a viewer page.
-        
+
         @param row row associated with the viewer
         @type int
         """
         viewer = self.__stack.widget(row)
         self.__stack.removeWidget(viewer)
         viewer.deleteLater()
-        
+
         itm = self.takeItem(row)
         del itm
-    
+
     #######################################################################
     ## Slots for external access below
     #######################################################################
-    
+
     @pyqtSlot()
     def closeCurrentPage(self):
         """
@@ -236,10 +228,10 @@
         """
         row = self.currentRow()
         self.__removeViewer(row)
-        
+
         if self.count() == 0:
             self.__helpViewer.addPage()
-    
+
     @pyqtSlot()
     def closeOtherPages(self):
         """
@@ -249,7 +241,7 @@
         for row in range(self.count() - 1, -1, -1):
             if row != currentRow:
                 self.__removeViewer(row)
-    
+
     @pyqtSlot()
     def closeAllPages(self):
         """

eric ide

mercurial