eric7/HelpViewer/OpenPagesWidget.py

branch
eric7
changeset 8895
d66181594630
parent 8881
54e42bc2437a
child 8898
cf11386c25ec
diff -r 7a5d78f8b64b -r d66181594630 eric7/HelpViewer/OpenPagesWidget.py
--- a/eric7/HelpViewer/OpenPagesWidget.py	Sun Jan 02 18:26:03 2022 +0100
+++ b/eric7/HelpViewer/OpenPagesWidget.py	Sun Jan 02 18:36:21 2022 +0100
@@ -9,21 +9,19 @@
 
 from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt, QPoint
 from PyQt6.QtGui import QGuiApplication, QClipboard
-from PyQt6.QtWidgets import (
-    QWidget, QListWidget, QVBoxLayout, QAbstractItemView, QMenu
-)
+from PyQt6.QtWidgets import QListWidget, QVBoxLayout, QAbstractItemView, QMenu
 
 import UI.PixmapCache
 
 
-class OpenPagesWidget(QWidget):
+class OpenPagesWidget(QListWidget):
     """
     Class implementing a widget showing the list of open pages.
     
-    @signal currentChanged(index) emitted to signal a change of the current
+    @signal currentPageChanged(index) emitted to signal a change of the current
         page index
     """
-    currentChanged = pyqtSignal(int)
+    currentPageChanged = pyqtSignal(int)
     
     def __init__(self, stack, parent=None):
         """
@@ -43,17 +41,15 @@
         self.__layout = QVBoxLayout()
         self.__layout.setContentsMargins(0, 0, 0, 0)
         
-        self.__openPagesList = QListWidget(self)
-        self.__openPagesList.setAlternatingRowColors(True)
-        self.__openPagesList.setSelectionMode(
+        self.setAlternatingRowColors(True)
+        self.setSelectionMode(
             QAbstractItemView.SelectionMode.SingleSelection)
-        self.__openPagesList.setContextMenuPolicy(
+        self.setContextMenuPolicy(
             Qt.ContextMenuPolicy.CustomContextMenu)
-        self.__openPagesList.currentRowChanged.connect(
+        self.currentRowChanged.connect(
             self.__currentRowChanged)
-        self.__openPagesList.customContextMenuRequested.connect(
+        self.customContextMenuRequested.connect(
             self.__showContextMenu)
-        self.__layout.addWidget(self.__openPagesList)
         
         self.setLayout(self.__layout)
         
@@ -62,8 +58,8 @@
         
         self.__initContextMenu()
         
-        self.__defaultFont = self.__openPagesList.font()
-        self.__boldFont = self.__openPagesList.font()
+        self.__defaultFont = self.font()
+        self.__boldFont = self.font()
         self.__boldFont.setBold(True)
     
     def __initContextMenu(self):
@@ -94,10 +90,10 @@
         @param point position to open the menu at
         @type QPoint
         """
-        itm = self.__openPagesList.itemAt(point)
+        itm = self.itemAt(point)
         self.__copyUrlAct.setEnabled(bool(itm) and itm.text() != "about:blank")
-        self.closeOthersMenuAct.setEnabled(self.__openPagesList.count() > 1)
-        self.__menu.popup(self.__openPagesList.mapToGlobal(point))
+        self.closeOthersMenuAct.setEnabled(self.count() > 1)
+        self.__menu.popup(self.mapToGlobal(point))
     
     @pyqtSlot(int)
     def __currentPageChanged(self, index):
@@ -107,8 +103,8 @@
         @param index index of the current page
         @type int
         """
-        for row in range(self.__openPagesList.count()):
-            itm = self.__openPagesList.item(row)
+        for row in range(self.count()):
+            itm = self.item(row)
             itm.setFont(
                 self.__boldFont if row == index else self.__defaultFont
             )
@@ -122,7 +118,7 @@
         @type int
         """
         self.__stack.setCurrentIndex(row)
-        self.currentChanged.emit(row)
+        self.currentPageChanged.emit(row)
     
     def addPage(self, viewer, background=False):
         """
@@ -134,14 +130,14 @@
             (defaults to False)
         @type bool (optional)
         """
-        self.__openPagesList.addItem(viewer.pageTitle())
+        self.addItem(viewer.pageTitle())
         viewer.titleChanged.connect(
             lambda: self.__viewerTitleChanged(viewer))
         
         if not background:
-            self.__openPagesList.setCurrentRow(
-                self.__openPagesList.count() - 1)
-        if self.__openPagesList.count() == 1:
+            self.setCurrentRow(
+                self.count() - 1)
+        if self.count() == 1:
             self.__currentPageChanged(0)
     
     def insertPage(self, index, viewer, background=False):
@@ -156,15 +152,15 @@
             (defaults to False)
         @type bool (optional)
         """
-        currentRow = self.__openPagesList.currentRow()
-        self.__openPagesList.insertItem(index, viewer.pageTitle())
+        currentRow = self.currentRow()
+        self.insertItem(index, viewer.pageTitle())
         viewer.titleChanged.connect(
             lambda: self.__viewerTitleChanged(viewer))
         
         if not background:
-            self.__openPagesList.setCurrentRow(index)
+            self.setCurrentRow(index)
         else:
-            self.__openPagesList.setCurrentRow(currentRow)
+            self.setCurrentRow(currentRow)
     
     def __viewerTitleChanged(self, viewer):
         """
@@ -174,9 +170,9 @@
         @type HelpViewerImpl
         """
         index = self.__stack.indexOf(viewer)
-        itm = self.__openPagesList.item(index)
+        itm = self.item(index)
         itm.setText(viewer.pageTitle())
-        self.currentChanged.emit(index)
+        self.currentPageChanged.emit(index)
     
     #######################################################################
     ## Context menu action methods
@@ -208,7 +204,7 @@
         """
         Private slot to copy the URL to the clipboard.
         """
-        row = self.__openPagesList.currentRow()
+        row = self.currentRow()
         viewer = self.__stack.widget(row)
         url = viewer.link()
         if url.isValid():
@@ -231,7 +227,7 @@
         self.__stack.removeWidget(viewer)
         viewer.deleteLater()
         
-        itm = self.__openPagesList.takeItem(row)
+        itm = self.takeItem(row)
         del itm
     
     #######################################################################
@@ -243,10 +239,10 @@
         """
         Public slot to close the current page.
         """
-        row = self.__openPagesList.currentRow()
+        row = self.currentRow()
         self.__removeViewer(row)
         
-        if self.__openPagesList.count() == 0:
+        if self.count() == 0:
             self.__helpViewer.addPage()
     
     @pyqtSlot()
@@ -254,8 +250,8 @@
         """
         Public slot to close all other pages.
         """
-        currentRow = self.__openPagesList.currentRow()
-        for row in range(self.__openPagesList.count() - 1, -1, -1):
+        currentRow = self.currentRow()
+        for row in range(self.count() - 1, -1, -1):
             if row != currentRow:
                 self.__removeViewer(row)
     
@@ -264,6 +260,6 @@
         """
         Public slot to close all pages.
         """
-        while self.__openPagesList.count() != 0:
+        while self.count() != 0:
             self.__removeViewer(0)
         self.__helpViewer.addPage()

eric ide

mercurial