39 @param parms parameters to set in the dialog |
39 @param parms parameters to set in the dialog |
40 @param parent parent widget of this dialog |
40 @param parent parent widget of this dialog |
41 """ |
41 """ |
42 super().__init__(parent) |
42 super().__init__(parent) |
43 self.setupUi(self) |
43 self.setupUi(self) |
|
44 |
|
45 self.startDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
|
46 self.startDirPicker.setDefaultDirectory(project.getProjectPath()) |
44 |
47 |
45 self.outputDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
48 self.outputDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
46 self.outputDirPicker.setDefaultDirectory(project.getProjectPath()) |
49 self.outputDirPicker.setDefaultDirectory(project.getProjectPath()) |
47 |
50 |
48 self.ignoreDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
51 self.ignoreDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
90 for key in parms: |
93 for key in parms: |
91 if key.endswith("Color"): |
94 if key.endswith("Color"): |
92 self.colors[key] = parms[key] |
95 self.colors[key] = parms[key] |
93 else: |
96 else: |
94 self.parameters[key] = parms[key] |
97 self.parameters[key] = parms[key] |
|
98 self.parameters["startDirectory"] = Utilities.toNativeSeparators( |
|
99 self.parameters['startDirectory'] |
|
100 ) |
95 self.parameters['outputDirectory'] = Utilities.toNativeSeparators( |
101 self.parameters['outputDirectory'] = Utilities.toNativeSeparators( |
96 self.parameters['outputDirectory'] |
102 self.parameters['outputDirectory'] |
97 ) |
103 ) |
98 self.parameters['qtHelpOutputDirectory'] = ( |
104 self.parameters['qtHelpOutputDirectory'] = ( |
99 Utilities.toNativeSeparators( |
105 Utilities.toNativeSeparators( |
110 self.project = project |
116 self.project = project |
111 |
117 |
112 self.recursionCheckBox.setChecked(self.parameters['useRecursion']) |
118 self.recursionCheckBox.setChecked(self.parameters['useRecursion']) |
113 self.noindexCheckBox.setChecked(self.parameters['noindex']) |
119 self.noindexCheckBox.setChecked(self.parameters['noindex']) |
114 self.noemptyCheckBox.setChecked(self.parameters['noempty']) |
120 self.noemptyCheckBox.setChecked(self.parameters['noempty']) |
|
121 self.startDirPicker.setText(self.parameters['startDirectory']) |
115 self.outputDirPicker.setText(self.parameters['outputDirectory']) |
122 self.outputDirPicker.setText(self.parameters['outputDirectory']) |
116 self.ignoreDirsList.clear() |
123 self.ignoreDirsList.clear() |
117 for d in self.parameters['ignoreDirectories']: |
124 for d in self.parameters['ignoreDirectories']: |
118 self.ignoreDirsList.addItem(d) |
125 self.ignoreDirsList.addItem(d) |
119 self.cssPicker.setText(self.parameters['cssFile']) |
126 self.cssPicker.setText(self.parameters['cssFile']) |
143 """ |
150 """ |
144 self.defaults = { |
151 self.defaults = { |
145 'useRecursion': False, |
152 'useRecursion': False, |
146 'noindex': False, |
153 'noindex': False, |
147 'noempty': False, |
154 'noempty': False, |
|
155 'startDirectory': '', |
148 'outputDirectory': '', |
156 'outputDirectory': '', |
149 'ignoreDirectories': [], |
157 'ignoreDirectories': [], |
150 'ignoreFilePatterns': [], |
158 'ignoreFilePatterns': [], |
151 'cssFile': '', |
159 'cssFile': '', |
152 'sourceExtensions': [], |
160 'sourceExtensions': [], |
182 args.append( |
190 args.append( |
183 Utilities.normabsjoinpath(getConfig('ericDir'), "eric7_doc.py")) |
191 Utilities.normabsjoinpath(getConfig('ericDir'), "eric7_doc.py")) |
184 |
192 |
185 # 2. the commandline options |
193 # 2. the commandline options |
186 # 2a. general commandline options |
194 # 2a. general commandline options |
187 if ( |
195 if self.parameters['startDirectory'] != self.defaults['startDirectory']: |
188 self.parameters['outputDirectory'] != |
196 parms['startDirectory'] = self.project.getRelativeUniversalPath( |
189 self.defaults['outputDirectory'] |
197 self.parameters['startDirectory'] |
190 ): |
198 ) |
191 parms['outputDirectory'] = Utilities.fromNativeSeparators( |
199 else: |
192 self.project.getRelativePath( |
200 self.parameters['startDirectory'] = self.defaults['startDirectory'] |
193 self.parameters['outputDirectory'])) |
201 parms['startDirectory'] = self.parameters['startDirectory'] |
|
202 if self.parameters['outputDirectory'] != self.defaults['outputDirectory']: |
|
203 parms['outputDirectory'] = self.project.getRelativeUniversalPath( |
|
204 self.parameters['outputDirectory'] |
|
205 ) |
194 args.append('-o') |
206 args.append('-o') |
195 if os.path.isabs(self.parameters['outputDirectory']): |
207 args.append( |
196 args.append(self.parameters['outputDirectory']) |
208 self.project.getAbsolutePath(self.parameters['outputDirectory']) |
197 else: |
209 ) |
198 args.append(os.path.join( |
|
199 self.ppath, self.parameters['outputDirectory'])) |
|
200 else: |
210 else: |
201 self.parameters['outputDirectory'] = ( |
211 self.parameters['outputDirectory'] = self.defaults['outputDirectory'] |
202 self.defaults['outputDirectory'] |
|
203 ) |
|
204 parms['outputDirectory'] = self.parameters['outputDirectory'] |
212 parms['outputDirectory'] = self.parameters['outputDirectory'] |
205 if ( |
213 if ( |
206 self.parameters['ignoreDirectories'] != |
214 self.parameters['ignoreDirectories'] != |
207 self.defaults['ignoreDirectories'] |
215 self.defaults['ignoreDirectories'] |
208 ): |
216 ): |
265 args.append('--create-qhp') |
273 args.append('--create-qhp') |
266 if ( |
274 if ( |
267 self.parameters['qtHelpOutputDirectory'] != |
275 self.parameters['qtHelpOutputDirectory'] != |
268 self.defaults['qtHelpOutputDirectory'] |
276 self.defaults['qtHelpOutputDirectory'] |
269 ): |
277 ): |
270 parms['qtHelpOutputDirectory'] = Utilities.fromNativeSeparators( |
278 parms['qtHelpOutputDirectory'] = self.project.getRelativeUniversalPath( |
271 self.project.getRelativePath( |
279 self.parameters['qtHelpOutputDirectory'] |
272 self.parameters['qtHelpOutputDirectory'])) |
280 ) |
273 if os.path.isabs(self.parameters['outputDirectory']): |
281 if os.path.isabs(self.parameters['outputDirectory']): |
274 args.append("--qhp-outdir={0}".format( |
282 args.append("--qhp-outdir={0}".format( |
275 self.parameters['qtHelpOutputDirectory'])) |
283 self.parameters['qtHelpOutputDirectory']) |
|
284 ) |
276 else: |
285 else: |
277 args.append("--qhp-outdir={0}".format( |
286 args.append("--qhp-outdir={0}".format( |
278 os.path.join(self.ppath, |
287 self.project.getAbsolutePath( |
279 self.parameters['qtHelpOutputDirectory']))) |
288 self.parameters['qtHelpOutputDirectory'] |
|
289 ) |
|
290 )) |
280 if ( |
291 if ( |
281 self.parameters['qtHelpNamespace'] != |
292 self.parameters['qtHelpNamespace'] != |
282 self.defaults['qtHelpNamespace'] |
293 self.defaults['qtHelpNamespace'] |
283 ): |
294 ): |
284 parms['qtHelpNamespace'] = self.parameters['qtHelpNamespace'] |
295 parms['qtHelpNamespace'] = self.parameters['qtHelpNamespace'] |
320 parms['qtHelpCreateCollection'] = ( |
331 parms['qtHelpCreateCollection'] = ( |
321 self.parameters['qtHelpCreateCollection'] |
332 self.parameters['qtHelpCreateCollection'] |
322 ) |
333 ) |
323 args.append('--create-qhc') |
334 args.append('--create-qhc') |
324 |
335 |
325 return (args, parms) |
336 startDir = ( |
|
337 self.project.getAbsolutePath(self.parameters['startDirectory']) |
|
338 if self.parameters['startDirectory'] else |
|
339 "" |
|
340 ) |
|
341 return args, parms, startDir |
|
342 |
|
343 @pyqtSlot(str) |
|
344 def on_startDirPicker_pathSelected(self, path): |
|
345 """ |
|
346 Private slot handling the selection of a start directory. |
|
347 |
|
348 @param path path of the start directory |
|
349 @type str |
|
350 """ |
|
351 # make it relative, if it is in a subdirectory of the project path |
|
352 dn = self.project.getRelativePath(path) |
|
353 while dn.endswith(os.sep): |
|
354 dn = dn[:-1] |
|
355 self.startDirPicker.setText(dn) |
326 |
356 |
327 @pyqtSlot(str) |
357 @pyqtSlot(str) |
328 def on_outputDirPicker_pathSelected(self, path): |
358 def on_outputDirPicker_pathSelected(self, path): |
329 """ |
359 """ |
330 Private slot handling the selection of an output directory. |
360 Private slot handling the selection of an output directory. |
536 It saves the values in the parameters dictionary. |
566 It saves the values in the parameters dictionary. |
537 """ |
567 """ |
538 self.parameters['useRecursion'] = self.recursionCheckBox.isChecked() |
568 self.parameters['useRecursion'] = self.recursionCheckBox.isChecked() |
539 self.parameters['noindex'] = self.noindexCheckBox.isChecked() |
569 self.parameters['noindex'] = self.noindexCheckBox.isChecked() |
540 self.parameters['noempty'] = self.noemptyCheckBox.isChecked() |
570 self.parameters['noempty'] = self.noemptyCheckBox.isChecked() |
|
571 |
|
572 startdir = self.startDirPicker.text() |
|
573 if startdir: |
|
574 startdir = os.path.normpath(startdir) |
|
575 if startdir.endswith(os.sep): |
|
576 startdir = startdir[:-1] |
|
577 self.parameters["startDirectory"] = startdir |
|
578 |
541 outdir = self.outputDirPicker.text() |
579 outdir = self.outputDirPicker.text() |
542 if outdir != '': |
580 if outdir: |
543 outdir = os.path.normpath(outdir) |
581 outdir = os.path.normpath(outdir) |
544 if outdir.endswith(os.sep): |
582 if outdir.endswith(os.sep): |
545 outdir = outdir[:-1] |
583 outdir = outdir[:-1] |
546 self.parameters['outputDirectory'] = outdir |
584 self.parameters['outputDirectory'] = outdir |
|
585 |
547 self.parameters['ignoreDirectories'] = [] |
586 self.parameters['ignoreDirectories'] = [] |
548 for row in range(0, self.ignoreDirsList.count()): |
587 for row in range(0, self.ignoreDirsList.count()): |
549 itm = self.ignoreDirsList.item(row) |
588 itm = self.ignoreDirsList.item(row) |
550 self.parameters['ignoreDirectories'].append( |
589 self.parameters['ignoreDirectories'].append( |
551 os.path.normpath(itm.text())) |
590 os.path.normpath(itm.text())) |