src/eric7/Plugins/PluginEricdoc.py

branch
eric7
changeset 10315
4102a69604eb
parent 10069
435cc5875135
child 10437
2f70ca07f0af
equal deleted inserted replaced
10314:1f7d52f024b1 10315:4102a69604eb
7 Module implementing the Ericdoc plugin. 7 Module implementing the Ericdoc plugin.
8 """ 8 """
9 9
10 import os 10 import os
11 11
12 from PyQt6.QtCore import QCoreApplication, QObject 12 from PyQt6.QtCore import QCoreApplication, QObject, pyqtSlot
13 from PyQt6.QtWidgets import QDialog 13 from PyQt6.QtWidgets import QDialog
14 14
15 from eric7 import Preferences 15 from eric7 import Preferences
16 from eric7.EricGui.EricAction import EricAction 16 from eric7.EricGui.EricAction import EricAction
17 from eric7.EricWidgets.EricApplication import ericApp 17 from eric7.EricWidgets.EricApplication import ericApp
150 def __initialize(self): 150 def __initialize(self):
151 """ 151 """
152 Private slot to (re)initialize the plugin. 152 Private slot to (re)initialize the plugin.
153 """ 153 """
154 self.__projectAct = None 154 self.__projectAct = None
155 self.__execDialog = None
155 156
156 def activate(self): 157 def activate(self):
157 """ 158 """
158 Public method to activate this plugin. 159 Public method to activate this plugin.
159 160
241 # add parameter for the eol setting 242 # add parameter for the eol setting
242 if not project.useSystemEol(): 243 if not project.useSystemEol():
243 args.append("--eol={0}".format(eolTranslation[project.getEolString()])) 244 args.append("--eol={0}".format(eolTranslation[project.getEolString()]))
244 245
245 # now do the call 246 # now do the call
246 dia = EricdocExecDialog("Ericdoc") 247 self.__execDialog = EricdocExecDialog("Ericdoc")
247 res = dia.start(args, startDir) 248 self.__execDialog.finished.connect(self.__execDialogFinished)
248 if res: 249 self.__execDialog.processFinished.connect(self.__ericdocProcessFinished)
249 dia.exec() 250 self.__execDialog.show()
250 251 self.__execDialog.start(args, startDir)
251 outdir = FileSystemUtilities.toNativeSeparators(parms["outputDirectory"]) 252
253 @pyqtSlot()
254 def __ericdocProcessFinished(self):
255 """
256 Private slot to perform actions after the documentation was generated.
257 """
258 project = ericApp().getObject("Project")
259 parms = project.getData("DOCUMENTATIONPARMS", "ERIC4DOC")
260
261 outdir = FileSystemUtilities.toNativeSeparators(parms["outputDirectory"])
262 if outdir == "":
263 outdir = "doc" # that is eric7_docs default output dir
264
265 # add it to the project data, if it isn't in already
266 outdir = project.getRelativePath(outdir)
267 if outdir not in project.getProjectData(dataKey="OTHERS"):
268 project.setProjectData(
269 project.getProjectData(dataKey="OTHERS") + [outdir],
270 dataKey="OTHERS",
271 )
272 project.setDirty(True)
273 project.othersAdded(outdir)
274
275 if parms["qtHelpEnabled"]:
276 outdir = FileSystemUtilities.toNativeSeparators(
277 parms["qtHelpOutputDirectory"]
278 )
252 if outdir == "": 279 if outdir == "":
253 outdir = "doc" # that is eric7_docs default output dir 280 outdir = "help"
281 # that is eric7_docs default QtHelp output dir
254 282
255 # add it to the project data, if it isn't in already 283 # add it to the project data, if it isn't in already
256 outdir = project.getRelativePath(outdir) 284 outdir = project.getRelativePath(outdir)
257 if outdir not in project.getProjectData(dataKey="OTHERS"): 285 if outdir not in project.getProjectData(dataKey="OTHERS"):
258 project.setProjectData( 286 project.setProjectData(
260 dataKey="OTHERS", 288 dataKey="OTHERS",
261 ) 289 )
262 project.setDirty(True) 290 project.setDirty(True)
263 project.othersAdded(outdir) 291 project.othersAdded(outdir)
264 292
265 if parms["qtHelpEnabled"]: 293 @pyqtSlot()
266 outdir = FileSystemUtilities.toNativeSeparators( 294 def __execDialogFinished(self):
267 parms["qtHelpOutputDirectory"] 295 """
268 ) 296 Private slot to handle the execution dialog being closed.
269 if outdir == "": 297 """
270 outdir = "help" 298 self.__execDialog = None
271 # that is eric7_docs default QtHelp output dir
272
273 # add it to the project data, if it isn't in already
274 outdir = project.getRelativePath(outdir)
275 if outdir not in project.getProjectData(dataKey="OTHERS"):
276 project.setProjectData(
277 project.getProjectData(dataKey="OTHERS") + [outdir],
278 dataKey="OTHERS",
279 )
280 project.setDirty(True)
281 project.othersAdded(outdir)

eric ide

mercurial