src/eric7/HelpViewer/HelpViewerWidget.py

branch
eric7
changeset 9413
80c06d472826
parent 9221
bf71ee032bb4
child 9473
3f23dbf37dbe
equal deleted inserted replaced
9412:45e7bb09c120 9413:80c06d472826
34 34
35 WEBENGINE_AVAILABLE = True 35 WEBENGINE_AVAILABLE = True
36 except ImportError: 36 except ImportError:
37 WEBENGINE_AVAILABLE = False 37 WEBENGINE_AVAILABLE = False
38 38
39 from EricWidgets import EricFileDialog, EricMessageBox 39 from eric7.EricWidgets import EricFileDialog, EricMessageBox
40 from EricWidgets.EricApplication import ericApp 40 from eric7.EricWidgets.EricApplication import ericApp
41 from EricWidgets.EricTextEditSearchWidget import ( 41 from eric7.EricWidgets.EricTextEditSearchWidget import (
42 EricTextEditSearchWidget, 42 EricTextEditSearchWidget,
43 EricTextEditType, 43 EricTextEditType,
44 ) 44 )
45 45
46 import UI.PixmapCache 46 from eric7.EricGui import EricPixmapCache
47 import Utilities 47 from eric7 import Preferences, Utilities
48 import Preferences
49 48
50 from .OpenPagesWidget import OpenPagesWidget 49 from .OpenPagesWidget import OpenPagesWidget
51 from .HelpBookmarksWidget import HelpBookmarksWidget 50 from .HelpBookmarksWidget import HelpBookmarksWidget
52 51
53 from WebBrowser.QtHelp.HelpTocWidget import HelpTocWidget 52 from eric7.WebBrowser.QtHelp.HelpTocWidget import HelpTocWidget
54 from WebBrowser.QtHelp.HelpIndexWidget import HelpIndexWidget 53 from eric7.WebBrowser.QtHelp.HelpIndexWidget import HelpIndexWidget
55 from WebBrowser.QtHelp.HelpSearchWidget import HelpSearchWidget 54 from eric7.WebBrowser.QtHelp.HelpSearchWidget import HelpSearchWidget
56 55
57 56
58 class HelpViewerWidget(QWidget): 57 class HelpViewerWidget(QWidget):
59 """ 58 """
60 Class implementing an embedded viewer for QtHelp and local HTML files. 59 Class implementing an embedded viewer for QtHelp and local HTML files.
126 self.__selectorLayout.addWidget(self.__helpSelector) 125 self.__selectorLayout.addWidget(self.__helpSelector)
127 self.__populateHelpSelector() 126 self.__populateHelpSelector()
128 self.__helpSelector.activated.connect(self.__helpTopicSelected) 127 self.__helpSelector.activated.connect(self.__helpTopicSelected)
129 128
130 self.__openButton = QToolButton(self) 129 self.__openButton = QToolButton(self)
131 self.__openButton.setIcon(UI.PixmapCache.getIcon("open")) 130 self.__openButton.setIcon(EricPixmapCache.getIcon("open"))
132 self.__openButton.setToolTip(self.tr("Open a local file")) 131 self.__openButton.setToolTip(self.tr("Open a local file"))
133 self.__openButton.clicked.connect(self.__openFile) 132 self.__openButton.clicked.connect(self.__openFile)
134 self.__selectorLayout.addWidget(self.__openButton) 133 self.__selectorLayout.addWidget(self.__openButton)
135 134
136 self.__actionsButton = QToolButton(self) 135 self.__actionsButton = QToolButton(self)
137 self.__actionsButton.setIcon(UI.PixmapCache.getIcon("actionsToolButton")) 136 self.__actionsButton.setIcon(EricPixmapCache.getIcon("actionsToolButton"))
138 self.__actionsButton.setToolTip(self.tr("Select action from menu")) 137 self.__actionsButton.setToolTip(self.tr("Select action from menu"))
139 self.__actionsButton.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) 138 self.__actionsButton.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup)
140 self.__selectorLayout.addWidget(self.__actionsButton) 139 self.__selectorLayout.addWidget(self.__actionsButton)
141 140
142 self.__layout.addLayout(self.__selectorLayout) 141 self.__layout.addLayout(self.__selectorLayout)
148 self.__navButtonsLayout = QHBoxLayout() 147 self.__navButtonsLayout = QHBoxLayout()
149 148
150 self.__navButtonsLayout.addStretch() 149 self.__navButtonsLayout.addStretch()
151 150
152 self.__backwardButton = QToolButton(self) 151 self.__backwardButton = QToolButton(self)
153 self.__backwardButton.setIcon(UI.PixmapCache.getIcon("back")) 152 self.__backwardButton.setIcon(EricPixmapCache.getIcon("back"))
154 self.__backwardButton.setToolTip(self.tr("Move one page backward")) 153 self.__backwardButton.setToolTip(self.tr("Move one page backward"))
155 self.__backwardButton.clicked.connect(self.__backward) 154 self.__backwardButton.clicked.connect(self.__backward)
156 155
157 self.__forwardButton = QToolButton(self) 156 self.__forwardButton = QToolButton(self)
158 self.__forwardButton.setIcon(UI.PixmapCache.getIcon("forward")) 157 self.__forwardButton.setIcon(EricPixmapCache.getIcon("forward"))
159 self.__forwardButton.setToolTip(self.tr("Move one page forward")) 158 self.__forwardButton.setToolTip(self.tr("Move one page forward"))
160 self.__forwardButton.clicked.connect(self.__forward) 159 self.__forwardButton.clicked.connect(self.__forward)
161 160
162 self.__backForButtonLayout = QHBoxLayout() 161 self.__backForButtonLayout = QHBoxLayout()
163 self.__backForButtonLayout.setContentsMargins(0, 0, 0, 0) 162 self.__backForButtonLayout.setContentsMargins(0, 0, 0, 0)
165 self.__backForButtonLayout.addWidget(self.__backwardButton) 164 self.__backForButtonLayout.addWidget(self.__backwardButton)
166 self.__backForButtonLayout.addWidget(self.__forwardButton) 165 self.__backForButtonLayout.addWidget(self.__forwardButton)
167 self.__navButtonsLayout.addLayout(self.__backForButtonLayout) 166 self.__navButtonsLayout.addLayout(self.__backForButtonLayout)
168 167
169 self.__reloadButton = QToolButton(self) 168 self.__reloadButton = QToolButton(self)
170 self.__reloadButton.setIcon(UI.PixmapCache.getIcon("reload")) 169 self.__reloadButton.setIcon(EricPixmapCache.getIcon("reload"))
171 self.__reloadButton.setToolTip(self.tr("Reload the current page")) 170 self.__reloadButton.setToolTip(self.tr("Reload the current page"))
172 self.__reloadButton.clicked.connect(self.__reload) 171 self.__reloadButton.clicked.connect(self.__reload)
173 self.__navButtonsLayout.addWidget(self.__reloadButton) 172 self.__navButtonsLayout.addWidget(self.__reloadButton)
174 173
175 self.__buttonLine1 = QFrame(self) 174 self.__buttonLine1 = QFrame(self)
176 self.__buttonLine1.setFrameShape(QFrame.Shape.VLine) 175 self.__buttonLine1.setFrameShape(QFrame.Shape.VLine)
177 self.__buttonLine1.setFrameShadow(QFrame.Shadow.Sunken) 176 self.__buttonLine1.setFrameShadow(QFrame.Shadow.Sunken)
178 self.__navButtonsLayout.addWidget(self.__buttonLine1) 177 self.__navButtonsLayout.addWidget(self.__buttonLine1)
179 178
180 self.__zoomInButton = QToolButton(self) 179 self.__zoomInButton = QToolButton(self)
181 self.__zoomInButton.setIcon(UI.PixmapCache.getIcon("zoomIn")) 180 self.__zoomInButton.setIcon(EricPixmapCache.getIcon("zoomIn"))
182 self.__zoomInButton.setToolTip(self.tr("Zoom in on the current page")) 181 self.__zoomInButton.setToolTip(self.tr("Zoom in on the current page"))
183 self.__zoomInButton.clicked.connect(self.__zoomIn) 182 self.__zoomInButton.clicked.connect(self.__zoomIn)
184 self.__navButtonsLayout.addWidget(self.__zoomInButton) 183 self.__navButtonsLayout.addWidget(self.__zoomInButton)
185 184
186 self.__zoomOutButton = QToolButton(self) 185 self.__zoomOutButton = QToolButton(self)
187 self.__zoomOutButton.setIcon(UI.PixmapCache.getIcon("zoomOut")) 186 self.__zoomOutButton.setIcon(EricPixmapCache.getIcon("zoomOut"))
188 self.__zoomOutButton.setToolTip(self.tr("Zoom out on the current page")) 187 self.__zoomOutButton.setToolTip(self.tr("Zoom out on the current page"))
189 self.__zoomOutButton.clicked.connect(self.__zoomOut) 188 self.__zoomOutButton.clicked.connect(self.__zoomOut)
190 self.__navButtonsLayout.addWidget(self.__zoomOutButton) 189 self.__navButtonsLayout.addWidget(self.__zoomOutButton)
191 190
192 self.__zoomResetButton = QToolButton(self) 191 self.__zoomResetButton = QToolButton(self)
193 self.__zoomResetButton.setIcon(UI.PixmapCache.getIcon("zoomReset")) 192 self.__zoomResetButton.setIcon(EricPixmapCache.getIcon("zoomReset"))
194 self.__zoomResetButton.setToolTip( 193 self.__zoomResetButton.setToolTip(
195 self.tr("Reset the zoom level of the current page") 194 self.tr("Reset the zoom level of the current page")
196 ) 195 )
197 self.__zoomResetButton.clicked.connect(self.__zoomReset) 196 self.__zoomResetButton.clicked.connect(self.__zoomReset)
198 self.__navButtonsLayout.addWidget(self.__zoomResetButton) 197 self.__navButtonsLayout.addWidget(self.__zoomResetButton)
201 self.__buttonLine2.setFrameShape(QFrame.Shape.VLine) 200 self.__buttonLine2.setFrameShape(QFrame.Shape.VLine)
202 self.__buttonLine2.setFrameShadow(QFrame.Shadow.Sunken) 201 self.__buttonLine2.setFrameShadow(QFrame.Shadow.Sunken)
203 self.__navButtonsLayout.addWidget(self.__buttonLine2) 202 self.__navButtonsLayout.addWidget(self.__buttonLine2)
204 203
205 self.__addPageButton = QToolButton(self) 204 self.__addPageButton = QToolButton(self)
206 self.__addPageButton.setIcon(UI.PixmapCache.getIcon("plus")) 205 self.__addPageButton.setIcon(EricPixmapCache.getIcon("plus"))
207 self.__addPageButton.setToolTip(self.tr("Add a new empty page")) 206 self.__addPageButton.setToolTip(self.tr("Add a new empty page"))
208 self.__addPageButton.clicked.connect(self.__addNewPage) 207 self.__addPageButton.clicked.connect(self.__addNewPage)
209 self.__navButtonsLayout.addWidget(self.__addPageButton) 208 self.__navButtonsLayout.addWidget(self.__addPageButton)
210 209
211 self.__closePageButton = QToolButton(self) 210 self.__closePageButton = QToolButton(self)
212 self.__closePageButton.setIcon(UI.PixmapCache.getIcon("minus")) 211 self.__closePageButton.setIcon(EricPixmapCache.getIcon("minus"))
213 self.__closePageButton.setToolTip(self.tr("Close the current page")) 212 self.__closePageButton.setToolTip(self.tr("Close the current page"))
214 self.__closePageButton.clicked.connect(self.closeCurrentPage) 213 self.__closePageButton.clicked.connect(self.closeCurrentPage)
215 self.__navButtonsLayout.addWidget(self.__closePageButton) 214 self.__navButtonsLayout.addWidget(self.__closePageButton)
216 215
217 self.__buttonLine3 = QFrame(self) 216 self.__buttonLine3 = QFrame(self)
218 self.__buttonLine3.setFrameShape(QFrame.Shape.VLine) 217 self.__buttonLine3.setFrameShape(QFrame.Shape.VLine)
219 self.__buttonLine3.setFrameShadow(QFrame.Shadow.Sunken) 218 self.__buttonLine3.setFrameShadow(QFrame.Shadow.Sunken)
220 self.__navButtonsLayout.addWidget(self.__buttonLine3) 219 self.__navButtonsLayout.addWidget(self.__buttonLine3)
221 220
222 self.__searchButton = QToolButton(self) 221 self.__searchButton = QToolButton(self)
223 self.__searchButton.setIcon(UI.PixmapCache.getIcon("find")) 222 self.__searchButton.setIcon(EricPixmapCache.getIcon("find"))
224 self.__searchButton.setToolTip(self.tr("Show or hide the search pane")) 223 self.__searchButton.setToolTip(self.tr("Show or hide the search pane"))
225 self.__searchButton.setCheckable(True) 224 self.__searchButton.setCheckable(True)
226 self.__searchButton.setChecked(False) 225 self.__searchButton.setChecked(False)
227 self.__searchButton.clicked.connect(self.showHideSearch) 226 self.__searchButton.clicked.connect(self.showHideSearch)
228 self.__navButtonsLayout.addWidget(self.__searchButton) 227 self.__navButtonsLayout.addWidget(self.__searchButton)
354 @type str 353 @type str
355 @return reference to the created button 354 @return reference to the created button
356 @rtype QToolButton 355 @rtype QToolButton
357 """ 356 """
358 button = QToolButton(self) 357 button = QToolButton(self)
359 button.setIcon(UI.PixmapCache.getIcon(iconName)) 358 button.setIcon(EricPixmapCache.getIcon(iconName))
360 button.setToolTip(toolTip) 359 button.setToolTip(toolTip)
361 button.setCheckable(True) 360 button.setCheckable(True)
362 self.__buttonGroup.addButton(button) 361 self.__buttonGroup.addButton(button)
363 self.__buttonLayout.addWidget(button) 362 self.__buttonLayout.addWidget(button)
364 363
712 def __lookForNewDocumentation(self): 711 def __lookForNewDocumentation(self):
713 """ 712 """
714 Private slot to look for new documentation to be loaded into the 713 Private slot to look for new documentation to be loaded into the
715 help database. 714 help database.
716 """ 715 """
717 from WebBrowser.QtHelp.HelpDocsInstaller import HelpDocsInstaller 716 from eric7.WebBrowser.QtHelp.HelpDocsInstaller import HelpDocsInstaller
718 717
719 self.__helpInstaller = HelpDocsInstaller(self.__helpEngine.collectionFile()) 718 self.__helpInstaller = HelpDocsInstaller(self.__helpEngine.collectionFile())
720 self.__helpInstaller.errorMessage.connect(self.__showInstallationError) 719 self.__helpInstaller.errorMessage.connect(self.__showInstallationError)
721 self.__helpInstaller.docsInstalled.connect(self.__docsInstalled) 720 self.__helpInstaller.docsInstalled.connect(self.__docsInstalled)
722 721
772 @pyqtSlot() 771 @pyqtSlot()
773 def __manageQtHelpDocuments(self): 772 def __manageQtHelpDocuments(self):
774 """ 773 """
775 Private slot to manage the QtHelp documentation database. 774 Private slot to manage the QtHelp documentation database.
776 """ 775 """
777 from WebBrowser.QtHelp.QtHelpDocumentationConfigurationDialog import ( 776 from eric7.WebBrowser.QtHelp.QtHelpDocumentationConfigurationDialog import (
778 QtHelpDocumentationConfigurationDialog, 777 QtHelpDocumentationConfigurationDialog,
779 ) 778 )
780 779
781 dlg = QtHelpDocumentationConfigurationDialog(self.__helpEngine, self) 780 dlg = QtHelpDocumentationConfigurationDialog(self.__helpEngine, self)
782 dlg.exec() 781 dlg.exec()
1109 ) 1108 )
1110 self.__webProfile.setHttpCacheMaximumSize(0) 1109 self.__webProfile.setHttpCacheMaximumSize(0)
1111 1110
1112 self.__initQWebEngineSettings() 1111 self.__initQWebEngineSettings()
1113 1112
1114 from WebBrowser.Network.QtHelpSchemeHandler import QtHelpSchemeHandler 1113 from eric7.WebBrowser.Network.QtHelpSchemeHandler import QtHelpSchemeHandler
1115 1114
1116 self.__qtHelpSchemeHandler = QtHelpSchemeHandler(self.__helpEngine) 1115 self.__qtHelpSchemeHandler = QtHelpSchemeHandler(self.__helpEngine)
1117 self.__webProfile.installUrlSchemeHandler( 1116 self.__webProfile.installUrlSchemeHandler(
1118 QByteArray(b"qthelp"), self.__qtHelpSchemeHandler 1117 QByteArray(b"qthelp"), self.__qtHelpSchemeHandler
1119 ) 1118 )

eric ide

mercurial