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 |
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) |
|