Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.py

branch
Py2 comp.
changeset 3057
10516539f238
parent 2525
8b507a9a2d40
parent 3004
c4bf32c791d0
child 3145
a9de05d4a22f
equal deleted inserted replaced
3056:9986ec0e559a 3057:10516539f238
18 18
19 from E5Gui.E5Completers import E5DirCompleter 19 from E5Gui.E5Completers import E5DirCompleter
20 from E5Gui import E5FileDialog 20 from E5Gui import E5FileDialog
21 21
22 from .Ui_EricdocConfigDialog import Ui_EricdocConfigDialog 22 from .Ui_EricdocConfigDialog import Ui_EricdocConfigDialog
23 from DocumentationTools.Config import eric5docDefaultColors, eric5docColorParameterNames 23 from DocumentationTools.Config import eric5docDefaultColors, \
24 eric5docColorParameterNames
24 import Utilities 25 import Utilities
25 26
26 from eric5config import getConfig 27 from eric5config import getConfig
27 28
28 29
50 '''<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"''' 51 '''<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'''
51 '''"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">''' 52 '''"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'''
52 '''<html><head>''' 53 '''<html><head>'''
53 '''<title></title>''' 54 '''<title></title>'''
54 '''</head>''' 55 '''</head>'''
55 '''<body style="background-color:{BodyBgColor};color:{BodyColor}">''' 56 '''<body style="background-color:{BodyBgColor};'''
56 '''<h1 style="background-color:{Level1HeaderBgColor};color:{Level1HeaderColor}">''' 57 '''color:{BodyColor}">'''
58 '''<h1 style="background-color:{Level1HeaderBgColor};'''
59 '''color:{Level1HeaderColor}">'''
57 '''Level 1 Header</h1>''' 60 '''Level 1 Header</h1>'''
58 '''<h3 style="background-color:{Level2HeaderBgColor};color:{Level2HeaderColor}">''' 61 '''<h3 style="background-color:{Level2HeaderBgColor};'''
62 '''color:{Level2HeaderColor}">'''
59 '''Level 2 Header</h3>''' 63 '''Level 2 Header</h3>'''
60 '''<h2 style="background-color:{CFBgColor};color:{CFColor}">''' 64 '''<h2 style="background-color:{CFBgColor};color:{CFColor}">'''
61 '''Class and Function Header</h2>''' 65 '''Class and Function Header</h2>'''
62 '''Standard body text with ''' 66 '''Standard body text with '''
63 '''<a style="color:{LinkColor}">some links</a> embedded.''' 67 '''<a style="color:{LinkColor}">some links</a> embedded.'''
76 else: 80 else:
77 self.parameters[key] = parms[key] 81 self.parameters[key] = parms[key]
78 self.parameters['outputDirectory'] = \ 82 self.parameters['outputDirectory'] = \
79 Utilities.toNativeSeparators(self.parameters['outputDirectory']) 83 Utilities.toNativeSeparators(self.parameters['outputDirectory'])
80 self.parameters['qtHelpOutputDirectory'] = \ 84 self.parameters['qtHelpOutputDirectory'] = \
81 Utilities.toNativeSeparators(self.parameters['qtHelpOutputDirectory']) 85 Utilities.toNativeSeparators(
86 self.parameters['qtHelpOutputDirectory'])
82 self.parameters['cssFile'] = \ 87 self.parameters['cssFile'] = \
83 Utilities.toNativeSeparators(self.parameters['cssFile']) 88 Utilities.toNativeSeparators(self.parameters['cssFile'])
84 if self.parameters['cssFile'].startswith("%PYTHON%"): 89 if self.parameters['cssFile'].startswith("%PYTHON%"):
85 self.parameters['cssFile'] = self.parameters['cssFile'].replace( 90 self.parameters['cssFile'] = self.parameters['cssFile'].replace(
86 "%PYTHON%", Utilities.getPythonModulesDirectory()) 91 "%PYTHON%", Utilities.getPythonModulesDirectory())
98 self.outputDirEdit.setText(self.parameters['outputDirectory']) 103 self.outputDirEdit.setText(self.parameters['outputDirectory'])
99 self.ignoreDirsList.clear() 104 self.ignoreDirsList.clear()
100 for d in self.parameters['ignoreDirectories']: 105 for d in self.parameters['ignoreDirectories']:
101 self.ignoreDirsList.addItem(d) 106 self.ignoreDirsList.addItem(d)
102 self.cssEdit.setText(self.parameters['cssFile']) 107 self.cssEdit.setText(self.parameters['cssFile'])
103 self.sourceExtEdit.setText(", ".join(self.parameters['sourceExtensions'])) 108 self.sourceExtEdit.setText(
104 self.excludeFilesEdit.setText(", ".join(self.parameters['ignoreFilePatterns'])) 109 ", ".join(self.parameters['sourceExtensions']))
110 self.excludeFilesEdit.setText(
111 ", ".join(self.parameters['ignoreFilePatterns']))
105 self.sample.setHtml(self.sampleText.format(**self.colors)) 112 self.sample.setHtml(self.sampleText.format(**self.colors))
106 113
107 self.qtHelpGroup.setChecked(self.parameters['qtHelpEnabled']) 114 self.qtHelpGroup.setChecked(self.parameters['qtHelpEnabled'])
108 self.qtHelpDirEdit.setText(self.parameters['qtHelpOutputDirectory']) 115 self.qtHelpDirEdit.setText(self.parameters['qtHelpOutputDirectory'])
109 self.qtHelpNamespaceEdit.setText(self.parameters['qtHelpNamespace']) 116 self.qtHelpNamespaceEdit.setText(self.parameters['qtHelpNamespace'])
110 self.qtHelpFolderEdit.setText(self.parameters['qtHelpVirtualFolder']) 117 self.qtHelpFolderEdit.setText(self.parameters['qtHelpVirtualFolder'])
111 self.qtHelpFilterNameEdit.setText(self.parameters['qtHelpFilterName']) 118 self.qtHelpFilterNameEdit.setText(self.parameters['qtHelpFilterName'])
112 self.qtHelpFilterAttributesEdit.setText(self.parameters['qtHelpFilterAttributes']) 119 self.qtHelpFilterAttributesEdit.setText(
120 self.parameters['qtHelpFilterAttributes'])
113 self.qtHelpTitleEdit.setText(self.parameters['qtHelpTitle']) 121 self.qtHelpTitleEdit.setText(self.parameters['qtHelpTitle'])
114 self.qtHelpGenerateCollectionCheckBox.setChecked( 122 self.qtHelpGenerateCollectionCheckBox.setChecked(
115 self.parameters['qtHelpCreateCollection']) 123 self.parameters['qtHelpCreateCollection'])
116 124
117 def __initializeDefaults(self): 125 def __initializeDefaults(self):
149 to set the QProcess arguments for the ericdoc call and 157 to set the QProcess arguments for the ericdoc call and
150 a dictionary containing the non default parameters. This 158 a dictionary containing the non default parameters. This
151 dictionary can be passed back upon object generation to overwrite 159 dictionary can be passed back upon object generation to overwrite
152 the default settings. 160 the default settings.
153 161
154 @return a tuple of the commandline parameters and non default parameters 162 @return a tuple of the commandline parameters and non default
155 (list of strings, dictionary) 163 parameters (list of strings, dictionary)
156 """ 164 """
157 parms = {} 165 parms = {}
158 args = [] 166 args = []
159 167
160 # 1. the program name 168 # 1. the program name
161 args.append(sys.executable) 169 args.append(sys.executable)
162 args.append(Utilities.normabsjoinpath(getConfig('ericDir'), "eric5_doc.py")) 170 args.append(
171 Utilities.normabsjoinpath(getConfig('ericDir'), "eric5_doc.py"))
163 172
164 # 2. the commandline options 173 # 2. the commandline options
165 # 2a. general commandline options 174 # 2a. general commandline options
166 if self.parameters['outputDirectory'] != self.defaults['outputDirectory']: 175 if self.parameters['outputDirectory'] != \
176 self.defaults['outputDirectory']:
167 parms['outputDirectory'] = Utilities.fromNativeSeparators( 177 parms['outputDirectory'] = Utilities.fromNativeSeparators(
168 self.project.getRelativePath(self.parameters['outputDirectory'])) 178 self.project.getRelativePath(
179 self.parameters['outputDirectory']))
169 args.append('-o') 180 args.append('-o')
170 if os.path.isabs(self.parameters['outputDirectory']): 181 if os.path.isabs(self.parameters['outputDirectory']):
171 args.append(self.parameters['outputDirectory']) 182 args.append(self.parameters['outputDirectory'])
172 else: 183 else:
173 args.append(os.path.join(self.ppath, self.parameters['outputDirectory'])) 184 args.append(os.path.join(
174 if self.parameters['ignoreDirectories'] != self.defaults['ignoreDirectories']: 185 self.ppath, self.parameters['outputDirectory']))
175 parms['ignoreDirectories'] = self.parameters['ignoreDirectories'][:] 186 if self.parameters['ignoreDirectories'] != \
187 self.defaults['ignoreDirectories']:
188 parms['ignoreDirectories'] = \
189 self.parameters['ignoreDirectories'][:]
176 for d in self.parameters['ignoreDirectories']: 190 for d in self.parameters['ignoreDirectories']:
177 args.append('-x') 191 args.append('-x')
178 args.append(d) 192 args.append(d)
179 if self.parameters['ignoreFilePatterns'] != self.defaults['ignoreFilePatterns']: 193 if self.parameters['ignoreFilePatterns'] != \
180 parms['ignoreFilePatterns'] = self.parameters['ignoreFilePatterns'][:] 194 self.defaults['ignoreFilePatterns']:
195 parms['ignoreFilePatterns'] = \
196 self.parameters['ignoreFilePatterns'][:]
181 for pattern in self.parameters['ignoreFilePatterns']: 197 for pattern in self.parameters['ignoreFilePatterns']:
182 args.append("--exclude-file={0}".format(pattern)) 198 args.append("--exclude-file={0}".format(pattern))
183 if self.parameters['useRecursion'] != self.defaults['useRecursion']: 199 if self.parameters['useRecursion'] != self.defaults['useRecursion']:
184 parms['useRecursion'] = self.parameters['useRecursion'] 200 parms['useRecursion'] = self.parameters['useRecursion']
185 args.append('-r') 201 args.append('-r')
187 parms['noindex'] = self.parameters['noindex'] 203 parms['noindex'] = self.parameters['noindex']
188 args.append('-i') 204 args.append('-i')
189 if self.parameters['noempty'] != self.defaults['noempty']: 205 if self.parameters['noempty'] != self.defaults['noempty']:
190 parms['noempty'] = self.parameters['noempty'] 206 parms['noempty'] = self.parameters['noempty']
191 args.append('-e') 207 args.append('-e')
192 if self.parameters['sourceExtensions'] != self.defaults['sourceExtensions']: 208 if self.parameters['sourceExtensions'] != \
209 self.defaults['sourceExtensions']:
193 parms['sourceExtensions'] = self.parameters['sourceExtensions'][:] 210 parms['sourceExtensions'] = self.parameters['sourceExtensions'][:]
194 for ext in self.parameters['sourceExtensions']: 211 for ext in self.parameters['sourceExtensions']:
195 args.append('-t') 212 args.append('-t')
196 args.append(ext) 213 args.append(ext)
197 214
204 parms['cssFile'] = Utilities.fromNativeSeparators(cssFile) 221 parms['cssFile'] = Utilities.fromNativeSeparators(cssFile)
205 args.append('-c') 222 args.append('-c')
206 if os.path.isabs(self.parameters['cssFile']): 223 if os.path.isabs(self.parameters['cssFile']):
207 args.append(self.parameters['cssFile']) 224 args.append(self.parameters['cssFile'])
208 else: 225 else:
209 args.append(os.path.join(self.ppath, self.parameters['cssFile'])) 226 args.append(
227 os.path.join(self.ppath, self.parameters['cssFile']))
210 for key, value in list(self.colors.items()): 228 for key, value in list(self.colors.items()):
211 if self.colors[key] != eric5docDefaultColors[key]: 229 if self.colors[key] != eric5docDefaultColors[key]:
212 parms[key] = self.colors[key] 230 parms[key] = self.colors[key]
213 args.append("--{0}={1}".format( 231 args.append("--{0}={1}".format(
214 eric5docColorParameterNames[key], self.colors[key])) 232 eric5docColorParameterNames[key], self.colors[key]))
215 233
216 # 2c. QtHelp commandline options 234 # 2c. QtHelp commandline options
217 parms['qtHelpEnabled'] = self.parameters['qtHelpEnabled'] 235 parms['qtHelpEnabled'] = self.parameters['qtHelpEnabled']
218 if self.parameters['qtHelpEnabled']: 236 if self.parameters['qtHelpEnabled']:
219 args.append('--create-qhp') 237 args.append('--create-qhp')
220 if self.parameters['qtHelpOutputDirectory'] != \ 238 if self.parameters['qtHelpOutputDirectory'] != \
221 self.defaults['qtHelpOutputDirectory']: 239 self.defaults['qtHelpOutputDirectory']:
222 parms['qtHelpOutputDirectory'] = Utilities.fromNativeSeparators( 240 parms['qtHelpOutputDirectory'] = Utilities.fromNativeSeparators(
223 self.project.getRelativePath(self.parameters['qtHelpOutputDirectory'])) 241 self.project.getRelativePath(
242 self.parameters['qtHelpOutputDirectory']))
224 if os.path.isabs(self.parameters['outputDirectory']): 243 if os.path.isabs(self.parameters['outputDirectory']):
225 args.append("--qhp-outdir={0}".format( 244 args.append("--qhp-outdir={0}".format(
226 self.parameters['qtHelpOutputDirectory'])) 245 self.parameters['qtHelpOutputDirectory']))
227 else: 246 else:
228 args.append("--qhp-outdir={0}".format( 247 args.append("--qhp-outdir={0}".format(
229 os.path.join(self.ppath, self.parameters['qtHelpOutputDirectory']))) 248 os.path.join(self.ppath,
230 if self.parameters['qtHelpNamespace'] != self.defaults['qtHelpNamespace']: 249 self.parameters['qtHelpOutputDirectory'])))
250 if self.parameters['qtHelpNamespace'] != \
251 self.defaults['qtHelpNamespace']:
231 parms['qtHelpNamespace'] = self.parameters['qtHelpNamespace'] 252 parms['qtHelpNamespace'] = self.parameters['qtHelpNamespace']
232 args.append("--qhp-namespace={0}".format(self.parameters['qtHelpNamespace'])) 253 args.append("--qhp-namespace={0}".format(
233 if self.parameters['qtHelpVirtualFolder'] != self.defaults['qtHelpVirtualFolder']: 254 self.parameters['qtHelpNamespace']))
234 parms['qtHelpVirtualFolder'] = self.parameters['qtHelpVirtualFolder'] 255 if self.parameters['qtHelpVirtualFolder'] != \
256 self.defaults['qtHelpVirtualFolder']:
257 parms['qtHelpVirtualFolder'] = \
258 self.parameters['qtHelpVirtualFolder']
235 args.append("--qhp-virtualfolder={0}".format( 259 args.append("--qhp-virtualfolder={0}".format(
236 self.parameters['qtHelpVirtualFolder'])) 260 self.parameters['qtHelpVirtualFolder']))
237 if self.parameters['qtHelpFilterName'] != self.defaults['qtHelpFilterName']: 261 if self.parameters['qtHelpFilterName'] != \
262 self.defaults['qtHelpFilterName']:
238 parms['qtHelpFilterName'] = self.parameters['qtHelpFilterName'] 263 parms['qtHelpFilterName'] = self.parameters['qtHelpFilterName']
239 args.append("--qhp-filtername={0}".format( 264 args.append("--qhp-filtername={0}".format(
240 self.parameters['qtHelpFilterName'])) 265 self.parameters['qtHelpFilterName']))
241 if self.parameters['qtHelpFilterAttributes'] != \ 266 if self.parameters['qtHelpFilterAttributes'] != \
242 self.defaults['qtHelpFilterAttributes']: 267 self.defaults['qtHelpFilterAttributes']:
243 parms['qtHelpFilterAttributes'] = self.parameters['qtHelpFilterAttributes'] 268 parms['qtHelpFilterAttributes'] = \
269 self.parameters['qtHelpFilterAttributes']
244 args.append("--qhp-filterattribs={0}".format( 270 args.append("--qhp-filterattribs={0}".format(
245 self.parameters['qtHelpFilterAttributes'])) 271 self.parameters['qtHelpFilterAttributes']))
246 if self.parameters['qtHelpTitle'] != self.defaults['qtHelpTitle']: 272 if self.parameters['qtHelpTitle'] != self.defaults['qtHelpTitle']:
247 parms['qtHelpTitle'] = self.parameters['qtHelpTitle'] 273 parms['qtHelpTitle'] = self.parameters['qtHelpTitle']
248 args.append("--qhp-title={0}".format(self.parameters['qtHelpTitle'])) 274 args.append("--qhp-title={0}".format(
275 self.parameters['qtHelpTitle']))
249 if self.parameters['qtHelpCreateCollection'] != \ 276 if self.parameters['qtHelpCreateCollection'] != \
250 self.defaults['qtHelpCreateCollection']: 277 self.defaults['qtHelpCreateCollection']:
251 parms['qtHelpCreateCollection'] = self.parameters['qtHelpCreateCollection'] 278 parms['qtHelpCreateCollection'] = \
279 self.parameters['qtHelpCreateCollection']
252 args.append('--create-qhc') 280 args.append('--create-qhc')
253 281
254 return (args, parms) 282 return (args, parms)
255 283
256 @pyqtSlot() 284 @pyqtSlot()
412 """ 440 """
413 self.__selectColor('LinkColor') 441 self.__selectColor('LinkColor')
414 442
415 def __checkQtHelpOptions(self): 443 def __checkQtHelpOptions(self):
416 """ 444 """
417 Private slot to check the QtHelp options and set the ok button accordingly. 445 Private slot to check the QtHelp options and set the ok button
446 accordingly.
418 """ 447 """
419 setOn = True 448 setOn = True
420 if self.qtHelpGroup.isChecked(): 449 if self.qtHelpGroup.isChecked():
421 if not self.qtHelpNamespaceEdit.text(): 450 if not self.qtHelpNamespaceEdit.text():
422 setOn = False 451 setOn = False
456 @param txt text of the line edit (string) 485 @param txt text of the line edit (string)
457 """ 486 """
458 self.__checkQtHelpOptions() 487 self.__checkQtHelpOptions()
459 488
460 @pyqtSlot(str) 489 @pyqtSlot(str)
461 def on_qtHelpTitleEdit_textChanged(self, p0): 490 def on_qtHelpTitleEdit_textChanged(self, txt):
462 """ 491 """
463 Private slot to check the title. 492 Private slot to check the title.
464 493
465 @param txt text of the line edit (string) 494 @param txt text of the line edit (string)
466 """ 495 """

eric ide

mercurial