Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.py

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

eric ide

mercurial