src/eric7/Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.py

branch
eric7
changeset 9211
99eb1cb030a5
parent 9209
b99e7fd55fd3
child 9212
1c5cf2022c7e
equal deleted inserted replaced
9210:15743bae8a50 9211:99eb1cb030a5
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()))

eric ide

mercurial