eric7/Plugins/PluginEricdoc.py

branch
eric7
changeset 8356
68ec9c3d4de5
parent 8318
962bce857696
child 8358
144a6b854f70
equal deleted inserted replaced
8355:8a7677a63c8d 8356:68ec9c3d4de5
10 import os 10 import os
11 11
12 from PyQt6.QtCore import QObject, QCoreApplication 12 from PyQt6.QtCore import QObject, QCoreApplication
13 from PyQt6.QtWidgets import QDialog 13 from PyQt6.QtWidgets import QDialog
14 14
15 from E5Gui.E5Application import e5App 15 from E5Gui.EricApplication import ericApp
16 16
17 from E5Gui.E5Action import E5Action 17 from E5Gui.EricAction import EricAction
18 18
19 import Utilities 19 import Utilities
20 import UI.Info 20 import UI.Info
21 21
22 from eric7config import getConfig 22 from eric7config import getConfig
116 """ 116 """
117 Public method to activate this plugin. 117 Public method to activate this plugin.
118 118
119 @return tuple of None and activation status (boolean) 119 @return tuple of None and activation status (boolean)
120 """ 120 """
121 menu = e5App().getObject("Project").getMenu("Apidoc") 121 menu = ericApp().getObject("Project").getMenu("Apidoc")
122 if menu: 122 if menu:
123 self.__projectAct = E5Action( 123 self.__projectAct = EricAction(
124 self.tr('Generate documentation (eric7_doc)'), 124 self.tr('Generate documentation (eric7_doc)'),
125 self.tr('Generate &documentation (eric7_doc)'), 0, 0, 125 self.tr('Generate &documentation (eric7_doc)'), 0, 0,
126 self, 'doc_eric7_doc') 126 self, 'doc_eric7_doc')
127 self.__projectAct.setStatusTip( 127 self.__projectAct.setStatusTip(
128 self.tr('Generate API documentation using eric7_doc')) 128 self.tr('Generate API documentation using eric7_doc'))
129 self.__projectAct.setWhatsThis(self.tr( 129 self.__projectAct.setWhatsThis(self.tr(
130 """<b>Generate documentation</b>""" 130 """<b>Generate documentation</b>"""
131 """<p>Generate API documentation using eric7_doc.</p>""" 131 """<p>Generate API documentation using eric7_doc.</p>"""
132 )) 132 ))
133 self.__projectAct.triggered.connect(self.__doEricdoc) 133 self.__projectAct.triggered.connect(self.__doEricdoc)
134 e5App().getObject("Project").addE5Actions([self.__projectAct]) 134 ericApp().getObject("Project").addEricActions([self.__projectAct])
135 menu.addAction(self.__projectAct) 135 menu.addAction(self.__projectAct)
136 136
137 e5App().getObject("Project").showMenu.connect(self.__projectShowMenu) 137 ericApp().getObject("Project").showMenu.connect(self.__projectShowMenu)
138 138
139 return None, True 139 return None, True
140 140
141 def deactivate(self): 141 def deactivate(self):
142 """ 142 """
143 Public method to deactivate this plugin. 143 Public method to deactivate this plugin.
144 """ 144 """
145 e5App().getObject("Project").showMenu.disconnect( 145 ericApp().getObject("Project").showMenu.disconnect(
146 self.__projectShowMenu) 146 self.__projectShowMenu)
147 147
148 menu = e5App().getObject("Project").getMenu("Apidoc") 148 menu = ericApp().getObject("Project").getMenu("Apidoc")
149 if menu: 149 if menu:
150 menu.removeAction(self.__projectAct) 150 menu.removeAction(self.__projectAct)
151 e5App().getObject("Project").removeE5Actions([self.__projectAct]) 151 ericApp().getObject("Project").removeEricActions([self.__projectAct])
152 self.__initialize() 152 self.__initialize()
153 153
154 def __projectShowMenu(self, menuName, menu): 154 def __projectShowMenu(self, menuName, menu):
155 """ 155 """
156 Private slot called, when the the project menu or a submenu is 156 Private slot called, when the the project menu or a submenu is
159 @param menuName name of the menu to be shown (string) 159 @param menuName name of the menu to be shown (string)
160 @param menu reference to the menu (QMenu) 160 @param menu reference to the menu (QMenu)
161 """ 161 """
162 if menuName == "Apidoc" and self.__projectAct is not None: 162 if menuName == "Apidoc" and self.__projectAct is not None:
163 self.__projectAct.setEnabled( 163 self.__projectAct.setEnabled(
164 e5App().getObject("Project").getProjectLanguage() in 164 ericApp().getObject("Project").getProjectLanguage() in
165 ["Python", "Python3", "Ruby", "MicroPython"]) 165 ["Python", "Python3", "Ruby", "MicroPython"])
166 166
167 def __doEricdoc(self): 167 def __doEricdoc(self):
168 """ 168 """
169 Private slot to perform the eric7_doc api documentation generation. 169 Private slot to perform the eric7_doc api documentation generation.
174 eolTranslation = { 174 eolTranslation = {
175 '\r': 'cr', 175 '\r': 'cr',
176 '\n': 'lf', 176 '\n': 'lf',
177 '\r\n': 'crlf', 177 '\r\n': 'crlf',
178 } 178 }
179 project = e5App().getObject("Project") 179 project = ericApp().getObject("Project")
180 parms = project.getData('DOCUMENTATIONPARMS', "ERIC4DOC") 180 parms = project.getData('DOCUMENTATIONPARMS', "ERIC4DOC")
181 dlg = EricdocConfigDialog(project, parms) 181 dlg = EricdocConfigDialog(project, parms)
182 if dlg.exec() == QDialog.DialogCode.Accepted: 182 if dlg.exec() == QDialog.DialogCode.Accepted:
183 args, parms = dlg.generateParameters() 183 args, parms = dlg.generateParameters()
184 project.setData('DOCUMENTATIONPARMS', "ERIC4DOC", parms) 184 project.setData('DOCUMENTATIONPARMS', "ERIC4DOC", parms)

eric ide

mercurial