Started implementing the embedded help viewer widget. eric7

Wed, 06 Oct 2021 20:00:29 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 06 Oct 2021 20:00:29 +0200
branch
eric7
changeset 8678
85a83e4e7f18
parent 8677
2e3d02a0f0b6
child 8679
fd172973428e

Started implementing the embedded help viewer widget.

eric7.epj file | annotate | diff | comparison | revisions
eric7/HelpViewer/HelpViewerWidget.py file | annotate | diff | comparison | revisions
eric7/HelpViewer/__init__.py file | annotate | diff | comparison | revisions
eric7/UI/UserInterface.py file | annotate | diff | comparison | revisions
eric7/icons/breeze-dark/sbHelpViewer96.svg file | annotate | diff | comparison | revisions
eric7/icons/breeze-light/sbHelpViewer96.svg file | annotate | diff | comparison | revisions
eric7/icons/oxygen/sbHelpViewer96.svg file | annotate | diff | comparison | revisions
--- a/eric7.epj	Wed Oct 06 18:53:50 2021 +0200
+++ b/eric7.epj	Wed Oct 06 20:00:29 2021 +0200
@@ -2279,7 +2279,9 @@
       "eric7/UI/FindFileWidget.py",
       "eric7/VCS/StatusWidget.py",
       "eric7/UI/FindLocationWidget.py",
-      "eric7/JediInterface/RefactoringPreviewDialog.py"
+      "eric7/JediInterface/RefactoringPreviewDialog.py",
+      "eric7/HelpViewer/__init__.py",
+      "eric7/HelpViewer/HelpViewerWidget.py"
     ],
     "SPELLEXCLUDES": "Dictionaries/excludes.dic",
     "SPELLLANGUAGE": "en_US",
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/HelpViewer/HelpViewerWidget.py	Wed Oct 06 20:00:29 2021 +0200
@@ -0,0 +1,83 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing an embedded viewer for QtHelp and local HTML files.
+"""
+
+from PyQt6.QtWidgets import (
+    QWidget, QVBoxLayout, QComboBox, QSizePolicy, QStackedWidget
+)
+
+
+class HelpViewerWidget(QWidget):
+    """
+    Class implementing an embedded viewer for QtHelp and local HTML files.
+    """
+    def __init__(self, parent=None):
+        """
+        Constructor
+        
+        @param parent reference to the parent widget (defaults to None)
+        @type QWidget (optional)
+        """
+        super().__init__(parent)
+        self.setObjectName("HelpViewerWidget")
+        
+        self.__layout = QVBoxLayout()
+        self.__layout.setObjectName("MainLayout")
+        self.__layout.setContentsMargins(0, 3, 0, 0)
+        
+        self.__helpSelector = QComboBox(self)
+        self.__helpSelector.setSizePolicy(
+            QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
+        self.__layout.addWidget(self.__helpSelector)
+        self.__populateHelpSelector()
+        
+        self.__helpStack = QStackedWidget(self)
+        self.__helpStack.setSizePolicy(
+            QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
+        self.__layout.addWidget(self.__helpStack)
+        
+        self.__helpNavigationStack = QStackedWidget(self)
+        self.__helpNavigationStack.setSizePolicy(
+            QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
+        self.__layout.addWidget(self.__helpNavigationStack)
+        self.__populateNavigationStack()
+        
+        self.setLayout(self.__layout)
+    
+    def __populateNavigationStack(self):
+        """
+        Private method to populate the stack of navigation widgets.
+        """
+        # TODO: not yet implemented
+    
+    def __populateHelpSelector(self):
+        """
+        Private method to populate the help selection combo box.
+        """
+        # TODO: not yet implemented
+    
+    def searchQtHelp(self, searchExpression):
+        """
+        Public method to search for a given search expression.
+        
+        @param searchExpression expression to search for
+        @type str
+        """
+        # TODO: not yet implemented
+    
+    def activate(self, searchWord=None):
+        """
+        Public method to activate the widget and search for a given word.
+        
+        @param searchWord word to search for (defaults to None)
+        @type str (optional)
+        """
+        # TODO: not yet implemented
+        
+        if searchWord:
+            self.searchQtHelp(searchWord)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/HelpViewer/__init__.py	Wed Oct 06 20:00:29 2021 +0200
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package implementing an embedded viewer for QtHelp and local HTML files.
+"""
--- a/eric7/UI/UserInterface.py	Wed Oct 06 18:53:50 2021 +0200
+++ b/eric7/UI/UserInterface.py	Wed Oct 06 20:00:29 2021 +0200
@@ -974,6 +974,10 @@
         from VCS.StatusWidget import StatusWidget
         self.__vcsStatusWidget = StatusWidget(
             self.project, self.viewmanager, self)
+        
+        # Create the embedded help viewer
+        from HelpViewer.HelpViewerWidget import HelpViewerWidget
+        self.__helpViewerWidget = HelpViewerWidget(self)
     
     def __createLayout(self):
         """
@@ -1058,23 +1062,31 @@
         ## Populate the left toolbox
         ####################################################
         
+        self.lToolbox.addItem(self.multiProjectBrowser,
+                              UI.PixmapCache.getIcon("multiProjectViewer"),
+                              self.tr("Multiproject-Viewer"))
+        
         self.lToolbox.addItem(self.projectBrowser,
                               UI.PixmapCache.getIcon("projectViewer"),
                               self.tr("Project-Viewer"))
-
+        
+        self.lToolbox.addItem(self.__findFileWidget,
+                              UI.PixmapCache.getIcon("find"),
+                              self.tr("Find/Replace In Files"))
+        
+        self.lToolbox.addItem(self.__findLocationWidget,
+                              UI.PixmapCache.getIcon("findLocation"),
+                              self.tr("Find File"))
+        
         self.lToolbox.addItem(self.__vcsStatusWidget,
                               UI.PixmapCache.getIcon("tbVcsStatus"),
                               self.tr("VCS Status"))
-
-        self.lToolbox.addItem(self.multiProjectBrowser,
-                              UI.PixmapCache.getIcon("multiProjectViewer"),
-                              self.tr("Multiproject-Viewer"))
         
         if self.templateViewer:
             self.lToolbox.addItem(self.templateViewer,
                                   UI.PixmapCache.getIcon("templateViewer"),
                                   self.tr("Template-Viewer"))
-
+        
         if self.browser:
             self.lToolbox.addItem(self.browser,
                                   UI.PixmapCache.getIcon("browser"),
@@ -1089,22 +1101,18 @@
         ## Populate the right toolbox
         ####################################################
         
+        self.rToolbox.addItem(self.debugViewer,
+                              UI.PixmapCache.getIcon("debugViewer"),
+                              self.tr("Debug-Viewer"))
+        
         if self.codeDocumentationViewer:
             self.rToolbox.addItem(self.codeDocumentationViewer,
                                   UI.PixmapCache.getIcon("codeDocuViewer"),
                                   self.tr("Code Documentation Viewer"))
         
-        self.rToolbox.addItem(self.debugViewer,
-                              UI.PixmapCache.getIcon("debugViewer"),
-                              self.tr("Debug-Viewer"))
-        
-        self.rToolbox.addItem(self.__findFileWidget,
-                              UI.PixmapCache.getIcon("find"),
-                              self.tr("Find/Replace In Files"))
-        
-        self.rToolbox.addItem(self.__findLocationWidget,
-                              UI.PixmapCache.getIcon("findLocation"),
-                              self.tr("Find File"))
+        self.rToolbox.addItem(self.__helpViewerWidget,
+                              UI.PixmapCache.getIcon("help"),
+                              self.tr("Help Viewer"))
         
         self.rToolbox.addItem(self.pluginRepositoryViewer,
                               UI.PixmapCache.getIcon("pluginRepository"),
@@ -1113,6 +1121,7 @@
         self.rToolbox.addItem(self.__virtualenvManagerWidget,
                               UI.PixmapCache.getIcon("virtualenv"),
                               self.tr("Virtual Environments"))
+        
         if self.pipWidget:
             self.rToolbox.addItem(self.pipWidget,
                                   UI.PixmapCache.getIcon("pypi"),
@@ -1206,26 +1215,36 @@
         ####################################################
         
         self.leftSidebar.addTab(
+            self.multiProjectBrowser,
+            UI.PixmapCache.getIcon("sbMultiProjectViewer96"),
+            self.tr("Multiproject-Viewer"))
+        
+        self.leftSidebar.addTab(
             self.projectBrowser,
             UI.PixmapCache.getIcon("sbProjectViewer96"),
             self.tr("Project-Viewer"))
-
+        
+        self.leftSidebar.addTab(
+            self.__findFileWidget,
+            UI.PixmapCache.getIcon("sbFind96"),
+            self.tr("Find/Replace In Files"))
+        
+        self.leftSidebar.addTab(
+            self.__findLocationWidget,
+            UI.PixmapCache.getIcon("sbFindLocation96"),
+            self.tr("Find File"))
+        
         self.leftSidebar.addTab(
             self.__vcsStatusWidget,
             UI.PixmapCache.getIcon("sbVcsStatus96"),
             self.tr("VCS Status"))
-
-        self.leftSidebar.addTab(
-            self.multiProjectBrowser,
-            UI.PixmapCache.getIcon("sbMultiProjectViewer96"),
-            self.tr("Multiproject-Viewer"))
-
+        
         if self.templateViewer:
             self.leftSidebar.addTab(
                 self.templateViewer,
                 UI.PixmapCache.getIcon("sbTemplateViewer96"),
                 self.tr("Template-Viewer"))
-
+        
         if self.browser:
             self.leftSidebar.addTab(
                 self.browser,
@@ -1242,6 +1261,11 @@
         ## Populate the right side bar
         ####################################################
         
+        self.rightSidebar.addTab(
+            self.debugViewer,
+            UI.PixmapCache.getIcon("sbDebugViewer96"),
+            self.tr("Debug-Viewer"))
+        
         if self.codeDocumentationViewer:
             self.rightSidebar.addTab(
                 self.codeDocumentationViewer,
@@ -1249,19 +1273,9 @@
                 self.tr("Code Documentation Viewer"))
         
         self.rightSidebar.addTab(
-            self.debugViewer,
-            UI.PixmapCache.getIcon("sbDebugViewer96"),
-            self.tr("Debug-Viewer"))
-        
-        self.rightSidebar.addTab(
-            self.__findFileWidget,
-            UI.PixmapCache.getIcon("sbFind96"),
-            self.tr("Find/Replace In Files"))
-        
-        self.rightSidebar.addTab(
-            self.__findLocationWidget,
-            UI.PixmapCache.getIcon("sbFindLocation96"),
-            self.tr("Find File"))
+            self.__helpViewerWidget,
+            UI.PixmapCache.getIcon("sbHelpViewer96"),
+            self.tr("Help Viewer"))
         
         self.rightSidebar.addTab(
             self.pluginRepositoryViewer,
@@ -2322,6 +2336,26 @@
         self.actions.append(self.vcsStatusListActivateAct)
         self.addAction(self.vcsStatusListActivateAct)
         
+        self.helpViewerActivateAct = EricAction(
+            self.tr("Help Viewer"),
+            self.tr("Help Viewer"),
+            QKeySequence(self.tr("Alt+Shift+H")),
+            0, self,
+            'help_viewer_activate')
+        self.helpViewerActivateAct.setStatusTip(self.tr(
+            "Switch the input focus to the embedded Help Viewer window."))
+        self.helpViewerActivateAct.setWhatsThis(self.tr(
+            """<b>Help Viewer</b>"""
+            """<p>This switches the input focus to the embedded Help Viewer"""
+            """ window. It will show HTML help files and help from Qt help"""
+            """ collections.</p><p>If called with a word selected, this word"""
+            """ is searched in the Qt help collection.</p>"""
+        ))
+        self.helpViewerActivateAct.triggered.connect(
+            self.__activateHelpViewerWidget)
+        self.actions.append(self.helpViewerActivateAct)
+        self.addAction(self.helpViewerActivateAct)
+        
         self.whatsThisAct = EricAction(
             self.tr('What\'s This?'),
             UI.PixmapCache.getIcon("whatsThis"),
@@ -2355,7 +2389,7 @@
             """ has the capability to navigate to links, set bookmarks,"""
             """ print the displayed help and some more features. You may"""
             """ use it to browse the internet as well</p><p>If called"""
-            """ with a word selected, this word is search in the Qt help"""
+            """ with a word selected, this word is searched in the Qt help"""
             """ collection.</p>"""
         ))
         self.helpviewerAct.triggered.connect(self.__helpViewer)
@@ -3396,9 +3430,11 @@
         self.__menus["subwindow"].addSection(self.tr("Left Side"))
         if self.__shellPosition == "left":
             self.__menus["subwindow"].addAction(self.shellActivateAct)
+        self.__menus["subwindow"].addAction(self.mpbActivateAct)
         self.__menus["subwindow"].addAction(self.pbActivateAct)
+        self.__menus["subwindow"].addAction(self.findFileActivateAct)
+        self.__menus["subwindow"].addAction(self.findLocationActivateAct)
         self.__menus["subwindow"].addAction(self.vcsStatusListActivateAct)
-        self.__menus["subwindow"].addAction(self.mpbActivateAct)
         if self.templateViewer is not None:
             self.__menus["subwindow"].addAction(self.templateViewerActivateAct)
         if self.browser is not None:
@@ -3419,12 +3455,12 @@
         self.__menus["subwindow"].addSection(self.tr("Right Side"))
         if self.__shellPosition == "right":
             self.__menus["subwindow"].addAction(self.shellActivateAct)
+        self.__menus["subwindow"].addAction(self.debugViewerActivateAct)
         if self.codeDocumentationViewer is not None:
             self.__menus["subwindow"].addAction(
                 self.codeDocumentationViewerActivateAct)
-        self.__menus["subwindow"].addAction(self.debugViewerActivateAct)
-        self.__menus["subwindow"].addAction(self.findFileActivateAct)
-        self.__menus["subwindow"].addAction(self.findLocationActivateAct)
+        self.__menus["subwindow"].addAction(
+            self.helpViewerActivateAct)
         self.__menus["subwindow"].addAction(
             self.pluginRepositoryViewerActivateAct)
         self.__menus["subwindow"].addAction(self.virtualenvManagerActivateAct)
@@ -3440,6 +3476,8 @@
         if self.microPythonWidget is not None:
             self.__menus["subwindow"].addAction(
                 self.microPythonWidgetActivateAct)
+        
+        # plug-in provided windows
         self.__menus["subwindow"].addSection(self.tr("Plug-ins"))
         
         ##############################################################
@@ -6949,11 +6987,11 @@
         Private slot to activate the Find In Files widget.
         """
         if self.__layoutType == "Toolboxes":
-            self.rToolboxDock.show()
-            self.rToolbox.setCurrentWidget(self.__findFileWidget)
+            self.lToolboxDock.show()
+            self.lToolbox.setCurrentWidget(self.__findFileWidget)
         elif self.__layoutType == "Sidebars":
-            self.rightSidebar.show()
-            self.rightSidebar.setCurrentWidget(self.__findFileWidget)
+            self.leftSidebar.show()
+            self.leftSidebar.setCurrentWidget(self.__findFileWidget)
         self.__findFileWidget.setFocus(
             Qt.FocusReason.ActiveWindowFocusReason)
         
@@ -6970,11 +7008,11 @@
         Private method to activate the Find File widget.
         """
         if self.__layoutType == "Toolboxes":
-            self.rToolboxDock.show()
-            self.rToolbox.setCurrentWidget(self.__findLocationWidget)
+            self.lToolboxDock.show()
+            self.lToolbox.setCurrentWidget(self.__findLocationWidget)
         elif self.__layoutType == "Sidebars":
-            self.rightSidebar.show()
-            self.rightSidebar.setCurrentWidget(self.__findLocationWidget)
+            self.leftSidebar.show()
+            self.leftSidebar.setCurrentWidget(self.__findLocationWidget)
         self.__findLocationWidget.setFocus(
             Qt.FocusReason.ActiveWindowFocusReason)
         
@@ -6993,6 +7031,24 @@
         self.__vcsStatusWidget.setFocus(
             Qt.FocusReason.ActiveWindowFocusReason)
     
+    def __activateHelpViewerWidget(self):
+        """
+        Private method to activate the embedded Help Viewer window.
+        """
+        if self.__layoutType == "Toolboxes":
+            self.rToolboxDock.show()
+            self.rToolbox.setCurrentWidget(self.__helpViewerWidget)
+        elif self.__layoutType == "Sidebars":
+            self.rightSidebar.show()
+            self.rightSidebar.setCurrentWidget(self.__helpViewerWidget)
+        self.__helpViewerWidget.setFocus(
+            Qt.FocusReason.ActiveWindowFocusReason)
+            
+        searchWord = self.viewmanager.textForFind(False)
+        if searchWord == "":
+            searchWord = None
+        self.__helpViewerWidget.activate(searchWord=searchWord)
+    
     ##########################################################
     ## Below are slots to handle StdOut and StdErr
     ##########################################################
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/icons/breeze-dark/sbHelpViewer96.svg	Wed Oct 06 20:00:29 2021 +0200
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   viewBox="0 0 96 96"
+   id="svg8"
+   sodipodi:docname="sbHelpViewer96.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+   width="96"
+   height="96">
+  <metadata
+     id="metadata12">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1636"
+     inkscape:window-height="1043"
+     id="namedview10"
+     showgrid="false"
+     inkscape:zoom="8.125"
+     inkscape:cx="49.905789"
+     inkscape:cy="48.695447"
+     inkscape:window-x="335"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg8" />
+  <defs
+     id="defs4">
+    <style
+       type="text/css"
+       id="style2">.ColorScheme-Text {
+        color:#eff0f1;
+      }</style>
+  </defs>
+  <path
+     class="ColorScheme-Text"
+     d="m 47.99996,6 c -9.859929,0 -18.884058,3.3864632 -26.034565,9.033789 -0.02684,0.02117 -0.05528,0.04028 -0.08203,0.06152 -0.278498,0.221047 -0.557928,0.438565 -0.830551,0.666499 L 16.54117,11.250169 H 6 v 10.54117 l 5.475545,5.475545 C 8.0094919,33.38083 6,40.442717 6,48.000204 6,55.558111 8.0095339,62.619578 11.475545,68.733523 L 6,74.209069 v 10.54117 h 10.54117 l 4.511644,-4.511645 c 0.272648,0.227893 0.552091,0.445453 0.830551,0.666499 0.02675,0.021 0.05522,0.04032 0.08203,0.06153 7.150927,5.647325 16.174636,9.033789 26.034565,9.033789 10.28203,0 19.661899,-3.671224 26.947226,-9.76165 l 4.511644,4.511645 H 90 V 74.209237 L 84.524455,68.733691 C 87.990508,62.619746 90,55.557859 90,48.000372 90,40.442465 87.990466,33.380998 84.524455,27.267052 L 90,21.791507 V 11.250337 H 79.45883 l -4.511644,4.511644 c -0.272623,-0.22793 -0.552049,-0.445452 -0.830551,-0.666499 -0.02688,-0.02121 -0.05519,-0.04036 -0.08207,-0.06153 C 66.88406,9.3866312 57.859931,6.000168 48.000002,6.000168 Z m 0,5.250005 c 6.512526,0 12.609672,1.687184 17.903357,4.634704 L 53.865266,27.922761 c -1.871354,-0.543397 -3.814024,-0.922867 -5.865306,-0.922867 -2.051282,0 -3.99391,0.379428 -5.865305,0.922867 L 30.096603,15.884709 c 5.293685,-2.947604 11.390831,-4.634704 17.903357,-4.634704 z m -35.170833,3.711922 4.429744,4.429744 c -0.749449,0.805308 -1.478822,1.628971 -2.16359,2.491694 -0.02121,0.0268 -0.04036,0.05522 -0.06153,0.08203 -0.211932,0.268355 -0.40979,0.546673 -0.615217,0.820303 L 9.7120139,18.079174 Z m 70.341667,0 3.1172,3.1172 -4.706524,4.706525 c -0.887755,-1.182427 -1.83494,-2.31374 -2.840337,-3.394065 z M 15.88253,30.096641 27.920581,42.134692 c -0.543396,1.871312 -0.922867,3.813982 -0.922867,5.865306 0,2.051324 0.379429,3.99391 0.922867,5.865305 L 15.88253,65.903355 C 12.934925,60.60967 11.247825,54.512524 11.247825,47.999998 c 0,-6.512526 1.687184,-12.609672 4.634705,-17.903357 z m 64.230661,0 c 2.947604,5.293685 4.634704,11.390831 4.634704,17.903357 0,6.512526 -1.687184,12.609672 -4.634704,17.903357 L 68.075139,53.865303 c 0.543397,-1.871353 0.922867,-3.814023 0.922867,-5.865305 0,-2.051282 -0.379428,-3.99391 -0.922867,-5.865306 z M 47.99786,32.249983 c 0.478633,0 0.927025,0.102144 1.394527,0.143514 2.072408,0.183498 4.012768,0.747811 5.772906,1.650896 2.924337,1.500367 5.287805,3.863751 6.788046,6.788046 0.903085,1.76018 1.467398,3.70054 1.650896,5.772906 0.04158,0.467544 0.143556,0.915936 0.143556,1.394569 0,0.478632 -0.102144,0.927025 -0.143514,1.394527 -0.183498,2.072408 -0.747811,4.012768 -1.650896,5.772906 -1.500367,2.924336 -3.863793,5.287805 -6.788046,6.788046 -1.76018,0.903085 -3.70054,1.467398 -5.772906,1.650896 -0.467544,0.04158 -0.915936,0.143556 -1.394569,0.143556 -0.478632,0 -0.927025,-0.102144 -1.394527,-0.143556 -2.072408,-0.183498 -4.012768,-0.747811 -5.772906,-1.650896 -2.924336,-1.500367 -5.287805,-3.863752 -6.788046,-6.788046 -0.903085,-1.76018 -1.467398,-3.70054 -1.650896,-5.772906 -0.04158,-0.467502 -0.143556,-0.915895 -0.143556,-1.394527 0,-0.478633 0.102144,-0.927025 0.143556,-1.394527 0.183498,-2.072408 0.747811,-4.012768 1.650896,-5.772906 1.500367,-2.924337 3.863752,-5.287805 6.788046,-6.788046 1.76018,-0.903085 3.70054,-1.467398 5.772906,-1.650896 0.467502,-0.04158 0.915895,-0.143556 1.394527,-0.143556 z m -5.865305,35.827294 c 1.871311,0.543396 3.814023,0.922867 5.865305,0.922867 2.051282,0 3.99391,-0.379429 5.865306,-0.922867 l 12.038051,12.038051 c -5.293685,2.947605 -11.390831,4.634705 -17.903357,4.634705 -6.512526,0 -12.609672,-1.687184 -17.903357,-4.634705 l 5.865306,-5.865305 z m -27.716247,5.137025 c 0.887755,1.182427 1.83494,2.31374 2.840337,3.394065 L 12.826901,81.038111 9.7096997,77.92091 Z m 67.162264,0 4.706524,4.706524 -3.1172,3.117201 -4.429745,-4.429744 c 1.005397,-1.080325 1.952582,-2.211596 2.840337,-3.394065 z"
+     color="#eff0f1"
+     fill="currentColor"
+     id="path6"
+     style="stroke-width:4.2" />
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/icons/breeze-light/sbHelpViewer96.svg	Wed Oct 06 20:00:29 2021 +0200
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   viewBox="0 0 96 96"
+   id="svg8"
+   sodipodi:docname="sbHelpViewer96.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+   width="96"
+   height="96">
+  <metadata
+     id="metadata12">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1636"
+     inkscape:window-height="1043"
+     id="namedview10"
+     showgrid="false"
+     inkscape:zoom="8.125"
+     inkscape:cx="49.905789"
+     inkscape:cy="48.695447"
+     inkscape:window-x="335"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg8" />
+  <defs
+     id="defs4">
+    <style
+       type="text/css"
+       id="style2">.ColorScheme-Text {
+        color:#eff0f1;
+      }</style>
+  </defs>
+  <path
+     class="ColorScheme-Text"
+     d="m 47.99996,6 c -9.859929,0 -18.884058,3.3864632 -26.034565,9.033789 -0.02684,0.02117 -0.05528,0.04028 -0.08203,0.06152 -0.278498,0.221047 -0.557928,0.438565 -0.830551,0.666499 L 16.54117,11.250169 H 6 v 10.54117 l 5.475545,5.475545 C 8.0094919,33.38083 6,40.442717 6,48.000204 6,55.558111 8.0095339,62.619578 11.475545,68.733523 L 6,74.209069 v 10.54117 h 10.54117 l 4.511644,-4.511645 c 0.272648,0.227893 0.552091,0.445453 0.830551,0.666499 0.02675,0.021 0.05522,0.04032 0.08203,0.06153 7.150927,5.647325 16.174636,9.033789 26.034565,9.033789 10.28203,0 19.661899,-3.671224 26.947226,-9.76165 l 4.511644,4.511645 H 90 V 74.209237 L 84.524455,68.733691 C 87.990508,62.619746 90,55.557859 90,48.000372 90,40.442465 87.990466,33.380998 84.524455,27.267052 L 90,21.791507 V 11.250337 H 79.45883 l -4.511644,4.511644 c -0.272623,-0.22793 -0.552049,-0.445452 -0.830551,-0.666499 -0.02688,-0.02121 -0.05519,-0.04036 -0.08207,-0.06153 C 66.88406,9.3866312 57.859931,6.000168 48.000002,6.000168 Z m 0,5.250005 c 6.512526,0 12.609672,1.687184 17.903357,4.634704 L 53.865266,27.922761 c -1.871354,-0.543397 -3.814024,-0.922867 -5.865306,-0.922867 -2.051282,0 -3.99391,0.379428 -5.865305,0.922867 L 30.096603,15.884709 c 5.293685,-2.947604 11.390831,-4.634704 17.903357,-4.634704 z m -35.170833,3.711922 4.429744,4.429744 c -0.749449,0.805308 -1.478822,1.628971 -2.16359,2.491694 -0.02121,0.0268 -0.04036,0.05522 -0.06153,0.08203 -0.211932,0.268355 -0.40979,0.546673 -0.615217,0.820303 L 9.7120139,18.079174 Z m 70.341667,0 3.1172,3.1172 -4.706524,4.706525 c -0.887755,-1.182427 -1.83494,-2.31374 -2.840337,-3.394065 z M 15.88253,30.096641 27.920581,42.134692 c -0.543396,1.871312 -0.922867,3.813982 -0.922867,5.865306 0,2.051324 0.379429,3.99391 0.922867,5.865305 L 15.88253,65.903355 C 12.934925,60.60967 11.247825,54.512524 11.247825,47.999998 c 0,-6.512526 1.687184,-12.609672 4.634705,-17.903357 z m 64.230661,0 c 2.947604,5.293685 4.634704,11.390831 4.634704,17.903357 0,6.512526 -1.687184,12.609672 -4.634704,17.903357 L 68.075139,53.865303 c 0.543397,-1.871353 0.922867,-3.814023 0.922867,-5.865305 0,-2.051282 -0.379428,-3.99391 -0.922867,-5.865306 z M 47.99786,32.249983 c 0.478633,0 0.927025,0.102144 1.394527,0.143514 2.072408,0.183498 4.012768,0.747811 5.772906,1.650896 2.924337,1.500367 5.287805,3.863751 6.788046,6.788046 0.903085,1.76018 1.467398,3.70054 1.650896,5.772906 0.04158,0.467544 0.143556,0.915936 0.143556,1.394569 0,0.478632 -0.102144,0.927025 -0.143514,1.394527 -0.183498,2.072408 -0.747811,4.012768 -1.650896,5.772906 -1.500367,2.924336 -3.863793,5.287805 -6.788046,6.788046 -1.76018,0.903085 -3.70054,1.467398 -5.772906,1.650896 -0.467544,0.04158 -0.915936,0.143556 -1.394569,0.143556 -0.478632,0 -0.927025,-0.102144 -1.394527,-0.143556 -2.072408,-0.183498 -4.012768,-0.747811 -5.772906,-1.650896 -2.924336,-1.500367 -5.287805,-3.863752 -6.788046,-6.788046 -0.903085,-1.76018 -1.467398,-3.70054 -1.650896,-5.772906 -0.04158,-0.467502 -0.143556,-0.915895 -0.143556,-1.394527 0,-0.478633 0.102144,-0.927025 0.143556,-1.394527 0.183498,-2.072408 0.747811,-4.012768 1.650896,-5.772906 1.500367,-2.924337 3.863752,-5.287805 6.788046,-6.788046 1.76018,-0.903085 3.70054,-1.467398 5.772906,-1.650896 0.467502,-0.04158 0.915895,-0.143556 1.394527,-0.143556 z m -5.865305,35.827294 c 1.871311,0.543396 3.814023,0.922867 5.865305,0.922867 2.051282,0 3.99391,-0.379429 5.865306,-0.922867 l 12.038051,12.038051 c -5.293685,2.947605 -11.390831,4.634705 -17.903357,4.634705 -6.512526,0 -12.609672,-1.687184 -17.903357,-4.634705 l 5.865306,-5.865305 z m -27.716247,5.137025 c 0.887755,1.182427 1.83494,2.31374 2.840337,3.394065 L 12.826901,81.038111 9.7096997,77.92091 Z m 67.162264,0 4.706524,4.706524 -3.1172,3.117201 -4.429745,-4.429744 c 1.005397,-1.080325 1.952582,-2.211596 2.840337,-3.394065 z"
+     color="#eff0f1"
+     fill="currentColor"
+     id="path6"
+     style="stroke-width:4.2" />
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/icons/oxygen/sbHelpViewer96.svg	Wed Oct 06 20:00:29 2021 +0200
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   viewBox="0 0 96 96"
+   id="svg8"
+   sodipodi:docname="sbHelpViewer96.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+   width="96"
+   height="96">
+  <metadata
+     id="metadata12">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1636"
+     inkscape:window-height="1043"
+     id="namedview10"
+     showgrid="false"
+     inkscape:zoom="8.125"
+     inkscape:cx="49.905789"
+     inkscape:cy="48.695447"
+     inkscape:window-x="335"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg8" />
+  <defs
+     id="defs4">
+    <style
+       type="text/css"
+       id="style2">.ColorScheme-Text {
+        color:#eff0f1;
+      }</style>
+  </defs>
+  <path
+     class="ColorScheme-Text"
+     d="m 47.99996,6 c -9.859929,0 -18.884058,3.3864632 -26.034565,9.033789 -0.02684,0.02117 -0.05528,0.04028 -0.08203,0.06152 -0.278498,0.221047 -0.557928,0.438565 -0.830551,0.666499 L 16.54117,11.250169 H 6 v 10.54117 l 5.475545,5.475545 C 8.0094919,33.38083 6,40.442717 6,48.000204 6,55.558111 8.0095339,62.619578 11.475545,68.733523 L 6,74.209069 v 10.54117 h 10.54117 l 4.511644,-4.511645 c 0.272648,0.227893 0.552091,0.445453 0.830551,0.666499 0.02675,0.021 0.05522,0.04032 0.08203,0.06153 7.150927,5.647325 16.174636,9.033789 26.034565,9.033789 10.28203,0 19.661899,-3.671224 26.947226,-9.76165 l 4.511644,4.511645 H 90 V 74.209237 L 84.524455,68.733691 C 87.990508,62.619746 90,55.557859 90,48.000372 90,40.442465 87.990466,33.380998 84.524455,27.267052 L 90,21.791507 V 11.250337 H 79.45883 l -4.511644,4.511644 c -0.272623,-0.22793 -0.552049,-0.445452 -0.830551,-0.666499 -0.02688,-0.02121 -0.05519,-0.04036 -0.08207,-0.06153 C 66.88406,9.3866312 57.859931,6.000168 48.000002,6.000168 Z m 0,5.250005 c 6.512526,0 12.609672,1.687184 17.903357,4.634704 L 53.865266,27.922761 c -1.871354,-0.543397 -3.814024,-0.922867 -5.865306,-0.922867 -2.051282,0 -3.99391,0.379428 -5.865305,0.922867 L 30.096603,15.884709 c 5.293685,-2.947604 11.390831,-4.634704 17.903357,-4.634704 z m -35.170833,3.711922 4.429744,4.429744 c -0.749449,0.805308 -1.478822,1.628971 -2.16359,2.491694 -0.02121,0.0268 -0.04036,0.05522 -0.06153,0.08203 -0.211932,0.268355 -0.40979,0.546673 -0.615217,0.820303 L 9.7120139,18.079174 Z m 70.341667,0 3.1172,3.1172 -4.706524,4.706525 c -0.887755,-1.182427 -1.83494,-2.31374 -2.840337,-3.394065 z M 15.88253,30.096641 27.920581,42.134692 c -0.543396,1.871312 -0.922867,3.813982 -0.922867,5.865306 0,2.051324 0.379429,3.99391 0.922867,5.865305 L 15.88253,65.903355 C 12.934925,60.60967 11.247825,54.512524 11.247825,47.999998 c 0,-6.512526 1.687184,-12.609672 4.634705,-17.903357 z m 64.230661,0 c 2.947604,5.293685 4.634704,11.390831 4.634704,17.903357 0,6.512526 -1.687184,12.609672 -4.634704,17.903357 L 68.075139,53.865303 c 0.543397,-1.871353 0.922867,-3.814023 0.922867,-5.865305 0,-2.051282 -0.379428,-3.99391 -0.922867,-5.865306 z M 47.99786,32.249983 c 0.478633,0 0.927025,0.102144 1.394527,0.143514 2.072408,0.183498 4.012768,0.747811 5.772906,1.650896 2.924337,1.500367 5.287805,3.863751 6.788046,6.788046 0.903085,1.76018 1.467398,3.70054 1.650896,5.772906 0.04158,0.467544 0.143556,0.915936 0.143556,1.394569 0,0.478632 -0.102144,0.927025 -0.143514,1.394527 -0.183498,2.072408 -0.747811,4.012768 -1.650896,5.772906 -1.500367,2.924336 -3.863793,5.287805 -6.788046,6.788046 -1.76018,0.903085 -3.70054,1.467398 -5.772906,1.650896 -0.467544,0.04158 -0.915936,0.143556 -1.394569,0.143556 -0.478632,0 -0.927025,-0.102144 -1.394527,-0.143556 -2.072408,-0.183498 -4.012768,-0.747811 -5.772906,-1.650896 -2.924336,-1.500367 -5.287805,-3.863752 -6.788046,-6.788046 -0.903085,-1.76018 -1.467398,-3.70054 -1.650896,-5.772906 -0.04158,-0.467502 -0.143556,-0.915895 -0.143556,-1.394527 0,-0.478633 0.102144,-0.927025 0.143556,-1.394527 0.183498,-2.072408 0.747811,-4.012768 1.650896,-5.772906 1.500367,-2.924337 3.863752,-5.287805 6.788046,-6.788046 1.76018,-0.903085 3.70054,-1.467398 5.772906,-1.650896 0.467502,-0.04158 0.915895,-0.143556 1.394527,-0.143556 z m -5.865305,35.827294 c 1.871311,0.543396 3.814023,0.922867 5.865305,0.922867 2.051282,0 3.99391,-0.379429 5.865306,-0.922867 l 12.038051,12.038051 c -5.293685,2.947605 -11.390831,4.634705 -17.903357,4.634705 -6.512526,0 -12.609672,-1.687184 -17.903357,-4.634705 l 5.865306,-5.865305 z m -27.716247,5.137025 c 0.887755,1.182427 1.83494,2.31374 2.840337,3.394065 L 12.826901,81.038111 9.7096997,77.92091 Z m 67.162264,0 4.706524,4.706524 -3.1172,3.117201 -4.429745,-4.429744 c 1.005397,-1.080325 1.952582,-2.211596 2.840337,-3.394065 z"
+     color="#eff0f1"
+     fill="currentColor"
+     id="path6"
+     style="stroke-width:4.2" />
+</svg>

eric ide

mercurial