eric6/UI/CodeDocumentationViewer.py

changeset 8268
6b8128e0c9d1
parent 8243
cc717c2ae956
equal deleted inserted replaced
8267:6baca884c73a 8268:6b8128e0c9d1
13 from PyQt5.QtWidgets import ( 13 from PyQt5.QtWidgets import (
14 QWidget, QVBoxLayout, QHBoxLayout, QLabel, QComboBox, QSizePolicy, 14 QWidget, QVBoxLayout, QHBoxLayout, QLabel, QComboBox, QSizePolicy,
15 QLineEdit, QTextBrowser, QToolTip 15 QLineEdit, QTextBrowser, QToolTip
16 ) 16 )
17 17
18 from E5Gui.E5TextEditSearchWidget import E5TextEditSearchWidget 18 from E5Gui.E5TextEditSearchWidget import E5TextEditSearchWidget, E5TextEditType
19 from E5Gui.E5Application import e5App 19 from E5Gui.E5Application import e5App
20 20
21 import Preferences 21 import Preferences
22 22
23 from .CodeDocumentationViewerTemplate import ( 23 from .CodeDocumentationViewerTemplate import (
85 self.__contents = QWebEngineView(self) 85 self.__contents = QWebEngineView(self)
86 self.__contents.page().linkHovered.connect(self.__showLink) 86 self.__contents.page().linkHovered.connect(self.__showLink)
87 self.__contents.settings().setAttribute( 87 self.__contents.settings().setAttribute(
88 QWebEngineSettings.WebAttribute.FocusOnNavigationEnabled, 88 QWebEngineSettings.WebAttribute.FocusOnNavigationEnabled,
89 False) 89 False)
90 self.__viewerType = "QWebEngineView" 90 self.__viewerType = E5TextEditType.QWEBENGINEVIEW
91 except ImportError: 91 except ImportError:
92 self.__contents = QTextBrowser(self) 92 self.__contents = QTextBrowser(self)
93 self.__contents.setOpenExternalLinks(True) 93 self.__contents.setOpenExternalLinks(True)
94 self.__viewerType = "QTextEdit" 94 self.__viewerType = E5TextEditType.QTEXTBROWSER
95 95
96 sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, 96 sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred,
97 QSizePolicy.Policy.Expanding) 97 QSizePolicy.Policy.Expanding)
98 sizePolicy.setHorizontalStretch(0) 98 sizePolicy.setHorizontalStretch(0)
99 sizePolicy.setVerticalStretch(0) 99 sizePolicy.setVerticalStretch(0)
100 sizePolicy.setHeightForWidth( 100 sizePolicy.setHeightForWidth(
101 self.__contents.sizePolicy().hasHeightForWidth()) 101 self.__contents.sizePolicy().hasHeightForWidth())
102 self.__contents.setSizePolicy(sizePolicy) 102 self.__contents.setSizePolicy(sizePolicy)
103 self.__contents.setContextMenuPolicy( 103 self.__contents.setContextMenuPolicy(
104 Qt.ContextMenuPolicy.NoContextMenu) 104 Qt.ContextMenuPolicy.NoContextMenu)
105 if self.__viewerType != "QTextEdit": 105 if self.__viewerType != E5TextEditType.QTEXTBROWSER:
106 self.__contents.setUrl(QUrl("about:blank")) 106 self.__contents.setUrl(QUrl("about:blank"))
107 self.__verticalLayout.addWidget(self.__contents) 107 self.__verticalLayout.addWidget(self.__contents)
108 108
109 self.__searchWidget = E5TextEditSearchWidget(self, False) 109 self.__searchWidget = E5TextEditSearchWidget(self, False)
110 self.__searchWidget.setFocusPolicy(Qt.FocusPolicy.WheelFocus) 110 self.__searchWidget.setFocusPolicy(Qt.FocusPolicy.WheelFocus)
111 self.__searchWidget.setObjectName("searchWidget") 111 self.__searchWidget.setObjectName("searchWidget")
112 self.__verticalLayout.addWidget(self.__searchWidget) 112 self.__verticalLayout.addWidget(self.__searchWidget)
113 113
114 self.__searchWidget.attachTextEdit( 114 self.__searchWidget.attachTextEdit(
115 self.__contents, self.__viewerType) 115 self.__contents, editType=self.__viewerType)
116 116
117 @pyqtSlot(str) 117 @pyqtSlot(str)
118 def __showLink(self, urlStr): 118 def __showLink(self, urlStr):
119 """ 119 """
120 Private slot to show the hovered link in a tooltip. 120 Private slot to show the hovered link in a tooltip.
137 137
138 def clear(self): 138 def clear(self):
139 """ 139 """
140 Public method to clear the shown contents. 140 Public method to clear the shown contents.
141 """ 141 """
142 if self.__viewerType == "QTextEdit": 142 if self.__viewerType == E5TextEditType.QTEXTBROWSER:
143 self.__contents.clear() 143 self.__contents.clear()
144 else: 144 else:
145 if e5App().usesDarkPalette(): 145 if e5App().usesDarkPalette():
146 self.__contents.setHtml(self.EmpytDocument_Dark) 146 self.__contents.setHtml(self.EmpytDocument_Dark)
147 else: 147 else:

eric ide

mercurial