Project/ProjectTranslationsBrowser.py

changeset 3030
4a0a82ddd9d2
parent 3029
4055a15ce0f2
child 3034
7ce719013078
child 3058
0a02c433f52d
equal deleted inserted replaced
3029:4055a15ce0f2 3030:4a0a82ddd9d2
107 107
108 self.menu = QMenu(self) 108 self.menu = QMenu(self)
109 if self.project.getProjectType() in \ 109 if self.project.getProjectType() in \
110 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 110 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
111 "PySide", "PySideC"]: 111 "PySide", "PySideC"]:
112 act = self.menu.addAction(self.trUtf8('Generate translation'), 112 act = self.menu.addAction(
113 self.__generateSelected) 113 self.trUtf8('Generate translation'), self.__generateSelected)
114 self.tsMenuActions.append(act) 114 self.tsMenuActions.append(act)
115 self.tsprocMenuActions.append(act) 115 self.tsprocMenuActions.append(act)
116 act = self.menu.addAction( 116 act = self.menu.addAction(
117 self.trUtf8('Generate translation (with obsolete)'), 117 self.trUtf8('Generate translation (with obsolete)'),
118 self.__generateObsoleteSelected) 118 self.__generateObsoleteSelected)
119 self.tsMenuActions.append(act) 119 self.tsMenuActions.append(act)
120 self.tsprocMenuActions.append(act) 120 self.tsprocMenuActions.append(act)
121 act = self.menu.addAction(self.trUtf8('Generate all translations'), 121 act = self.menu.addAction(
122 self.__generateAll) 122 self.trUtf8('Generate all translations'), self.__generateAll)
123 self.tsprocMenuActions.append(act) 123 self.tsprocMenuActions.append(act)
124 act = self.menu.addAction( 124 act = self.menu.addAction(
125 self.trUtf8('Generate all translations (with obsolete)'), 125 self.trUtf8('Generate all translations (with obsolete)'),
126 self.__generateObsoleteAll) 126 self.__generateObsoleteAll)
127 self.tsprocMenuActions.append(act) 127 self.tsprocMenuActions.append(act)
128 self.menu.addSeparator() 128 self.menu.addSeparator()
129 act = self.menu.addAction(self.trUtf8('Open in Qt-Linguist'), 129 act = self.menu.addAction(
130 self._openItem) 130 self.trUtf8('Open in Qt-Linguist'), self._openItem)
131 self.tsMenuActions.append(act) 131 self.tsMenuActions.append(act)
132 act = self.menu.addAction(self.trUtf8('Open in Editor'), 132 act = self.menu.addAction(
133 self.__openFileInEditor) 133 self.trUtf8('Open in Editor'), self.__openFileInEditor)
134 self.tsMenuActions.append(act) 134 self.tsMenuActions.append(act)
135 self.menu.addSeparator() 135 self.menu.addSeparator()
136 act = self.menu.addAction(self.trUtf8('Release translation'), 136 act = self.menu.addAction(
137 self.__releaseSelected) 137 self.trUtf8('Release translation'), self.__releaseSelected)
138 self.tsMenuActions.append(act) 138 self.tsMenuActions.append(act)
139 self.qmprocMenuActions.append(act) 139 self.qmprocMenuActions.append(act)
140 act = self.menu.addAction(self.trUtf8('Release all translations'), 140 act = self.menu.addAction(
141 self.__releaseAll) 141 self.trUtf8('Release all translations'), self.__releaseAll)
142 self.qmprocMenuActions.append(act) 142 self.qmprocMenuActions.append(act)
143 self.menu.addSeparator() 143 self.menu.addSeparator()
144 act = self.menu.addAction(self.trUtf8('Preview translation'), 144 act = self.menu.addAction(
145 self.__TRPreview) 145 self.trUtf8('Preview translation'), self.__TRPreview)
146 self.qmMenuActions.append(act) 146 self.qmMenuActions.append(act)
147 act = self.menu.addAction(self.trUtf8('Preview all translations'), 147 act = self.menu.addAction(
148 self.__TRPreviewAll) 148 self.trUtf8('Preview all translations'), self.__TRPreviewAll)
149 self.menu.addSeparator() 149 self.menu.addSeparator()
150 else: 150 else:
151 if self.hooks["extractMessages"] is not None: 151 if self.hooks["extractMessages"] is not None:
152 act = self.menu.addAction( 152 act = self.menu.addAction(
153 self.hooksMenuEntries.get("extractMessages", 153 self.hooksMenuEntries.get(
154 "extractMessages",
154 self.trUtf8('Extract messages')), 155 self.trUtf8('Extract messages')),
155 self.__extractMessages) 156 self.__extractMessages)
156 self.menuActions.append(act) 157 self.menuActions.append(act)
157 self.menu.addSeparator() 158 self.menu.addSeparator()
158 if self.hooks["generateSelected"] is not None: 159 if self.hooks["generateSelected"] is not None:
159 act = self.menu.addAction( 160 act = self.menu.addAction(
160 self.hooksMenuEntries.get("generateSelected", 161 self.hooksMenuEntries.get(
162 "generateSelected",
161 self.trUtf8('Generate translation')), 163 self.trUtf8('Generate translation')),
162 self.__generateSelected) 164 self.__generateSelected)
163 self.tsMenuActions.append(act) 165 self.tsMenuActions.append(act)
164 self.tsprocMenuActions.append(act) 166 self.tsprocMenuActions.append(act)
165 if self.hooks["generateSelectedWithObsolete"] is not None: 167 if self.hooks["generateSelectedWithObsolete"] is not None:
166 act = self.menu.addAction( 168 act = self.menu.addAction(
167 self.hooksMenuEntries.get("generateSelectedWithObsolete", 169 self.hooksMenuEntries.get(
170 "generateSelectedWithObsolete",
168 self.trUtf8('Generate translation (with obsolete)')), 171 self.trUtf8('Generate translation (with obsolete)')),
169 self.__generateObsoleteSelected) 172 self.__generateObsoleteSelected)
170 self.tsMenuActions.append(act) 173 self.tsMenuActions.append(act)
171 self.tsprocMenuActions.append(act) 174 self.tsprocMenuActions.append(act)
172 if self.hooks["generateAll"] is not None: 175 if self.hooks["generateAll"] is not None:
173 act = self.menu.addAction( 176 act = self.menu.addAction(
174 self.hooksMenuEntries.get("generateAll", 177 self.hooksMenuEntries.get(
178 "generateAll",
175 self.trUtf8('Generate all translations')), 179 self.trUtf8('Generate all translations')),
176 self.__generateAll) 180 self.__generateAll)
177 self.tsprocMenuActions.append(act) 181 self.tsprocMenuActions.append(act)
178 if self.hooks["generateAllWithObsolete"] is not None: 182 if self.hooks["generateAllWithObsolete"] is not None:
179 act = self.menu.addAction( 183 act = self.menu.addAction(
180 self.hooksMenuEntries.get("generateAllWithObsolete", 184 self.hooksMenuEntries.get(
185 "generateAllWithObsolete",
181 self.trUtf8( 186 self.trUtf8(
182 'Generate all translations (with obsolete)')), 187 'Generate all translations (with obsolete)')),
183 self.__generateObsoleteAll) 188 self.__generateObsoleteAll)
184 self.tsprocMenuActions.append(act) 189 self.tsprocMenuActions.append(act)
185 self.menu.addSeparator() 190 self.menu.addSeparator()
186 if self.hooks["open"] is not None: 191 if self.hooks["open"] is not None:
187 act = self.menu.addAction( 192 act = self.menu.addAction(
188 self.hooksMenuEntries.get("open", 193 self.hooksMenuEntries.get(
189 self.trUtf8('Open')), 194 "open", self.trUtf8('Open')),
190 self._openItem) 195 self._openItem)
191 self.tsMenuActions.append(act) 196 self.tsMenuActions.append(act)
192 act = self.menu.addAction(self.trUtf8('Open in Editor'), 197 act = self.menu.addAction(
193 self.__openFileInEditor) 198 self.trUtf8('Open in Editor'), self.__openFileInEditor)
194 self.tsMenuActions.append(act) 199 self.tsMenuActions.append(act)
195 self.menu.addSeparator() 200 self.menu.addSeparator()
196 if self.hooks["releaseSelected"] is not None: 201 if self.hooks["releaseSelected"] is not None:
197 act = self.menu.addAction( 202 act = self.menu.addAction(
198 self.hooksMenuEntries.get("releaseSelected", 203 self.hooksMenuEntries.get(
204 "releaseSelected",
199 self.trUtf8('Release translation')), 205 self.trUtf8('Release translation')),
200 self.__releaseSelected) 206 self.__releaseSelected)
201 self.tsMenuActions.append(act) 207 self.tsMenuActions.append(act)
202 self.qmprocMenuActions.append(act) 208 self.qmprocMenuActions.append(act)
203 if self.hooks["releaseAll"] is not None: 209 if self.hooks["releaseAll"] is not None:
204 act = self.menu.addAction( 210 act = self.menu.addAction(
205 self.hooksMenuEntries.get("releaseAll", 211 self.hooksMenuEntries.get(
212 "releaseAll",
206 self.trUtf8('Release all translations')), 213 self.trUtf8('Release all translations')),
207 self.__releaseAll) 214 self.__releaseAll)
208 self.qmprocMenuActions.append(act) 215 self.qmprocMenuActions.append(act)
209 self.menu.addSeparator() 216 self.menu.addSeparator()
210 act = self.menu.addAction(self.trUtf8('Remove from project'), 217 act = self.menu.addAction(
211 self.__removeLanguageFile) 218 self.trUtf8('Remove from project'), self.__removeLanguageFile)
212 self.menuActions.append(act) 219 self.menuActions.append(act)
213 act = self.menu.addAction( 220 act = self.menu.addAction(
214 self.trUtf8('Delete'), self.__deleteLanguageFile) 221 self.trUtf8('Delete'), self.__deleteLanguageFile)
215 self.menuActions.append(act) 222 self.menuActions.append(act)
216 self.menu.addSeparator() 223 self.menu.addSeparator()
217 self.__addTranslationAct = self.menu.addAction( 224 self.__addTranslationAct = self.menu.addAction(
218 self.trUtf8('Add translation...'), self.project.addLanguage) 225 self.trUtf8('Add translation...'), self.project.addLanguage)
219 self.menu.addAction(self.trUtf8('Add translation files...'), 226 self.menu.addAction(
227 self.trUtf8('Add translation files...'),
220 self.__addTranslationFiles) 228 self.__addTranslationFiles)
221 self.menu.addSeparator() 229 self.menu.addSeparator()
222 self.menu.addAction(self.trUtf8('Copy Path to Clipboard'), 230 self.menu.addAction(
223 self._copyToClipboard) 231 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard)
224 self.menu.addSeparator() 232 self.menu.addSeparator()
225 self.menu.addAction(self.trUtf8('Configure...'), self._configure) 233 self.menu.addAction(self.trUtf8('Configure...'), self._configure)
226 234
227 self.backMenu = QMenu(self) 235 self.backMenu = QMenu(self)
228 if self.project.getProjectType() in \ 236 if self.project.getProjectType() in \
245 self.trUtf8('Preview all translations'), 253 self.trUtf8('Preview all translations'),
246 self.__TRPreview) 254 self.__TRPreview)
247 else: 255 else:
248 if self.hooks["extractMessages"] is not None: 256 if self.hooks["extractMessages"] is not None:
249 act = self.backMenu.addAction( 257 act = self.backMenu.addAction(
250 self.hooksMenuEntries.get("extractMessages", 258 self.hooksMenuEntries.get(
259 "extractMessages",
251 self.trUtf8('Extract messages')), 260 self.trUtf8('Extract messages')),
252 self.__extractMessages) 261 self.__extractMessages)
253 self.backMenu.addSeparator() 262 self.backMenu.addSeparator()
254 if self.hooks["generateAll"] is not None: 263 if self.hooks["generateAll"] is not None:
255 act = self.backMenu.addAction( 264 act = self.backMenu.addAction(
256 self.hooksMenuEntries.get("generateAll", 265 self.hooksMenuEntries.get(
266 "generateAll",
257 self.trUtf8('Generate all translations')), 267 self.trUtf8('Generate all translations')),
258 self.__generateAll) 268 self.__generateAll)
259 self.tsprocBackMenuActions.append(act) 269 self.tsprocBackMenuActions.append(act)
260 if self.hooks["generateAllWithObsolete"] is not None: 270 if self.hooks["generateAllWithObsolete"] is not None:
261 act = self.backMenu.addAction( 271 act = self.backMenu.addAction(
262 self.hooksMenuEntries.get("generateAllWithObsolete", 272 self.hooksMenuEntries.get(
273 "generateAllWithObsolete",
263 self.trUtf8( 274 self.trUtf8(
264 'Generate all translations (with obsolete)')), 275 'Generate all translations (with obsolete)')),
265 self.__generateObsoleteAll) 276 self.__generateObsoleteAll)
266 self.tsprocBackMenuActions.append(act) 277 self.tsprocBackMenuActions.append(act)
267 if self.hooks["releaseAll"] is not None: 278 if self.hooks["releaseAll"] is not None:
268 act = self.backMenu.addAction( 279 act = self.backMenu.addAction(
269 self.hooksMenuEntries.get("releaseAll", 280 self.hooksMenuEntries.get(
281 "releaseAll",
270 self.trUtf8('Release all translations')), 282 self.trUtf8('Release all translations')),
271 self.__releaseAll) 283 self.__releaseAll)
272 self.qmprocBackMenuActions.append(act) 284 self.qmprocBackMenuActions.append(act)
273 self.backMenu.addSeparator() 285 self.backMenu.addSeparator()
274 self.__addTranslationBackAct = self.backMenu.addAction( 286 self.__addTranslationBackAct = self.backMenu.addAction(
275 self.trUtf8('Add translation...'), self.project.addLanguage) 287 self.trUtf8('Add translation...'), self.project.addLanguage)
276 self.backMenu.addAction(self.trUtf8('Add translation files...'), 288 self.backMenu.addAction(
289 self.trUtf8('Add translation files...'),
277 self.__addTranslationFiles) 290 self.__addTranslationFiles)
278 self.backMenu.addSeparator() 291 self.backMenu.addSeparator()
279 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure) 292 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure)
280 self.backMenu.setEnabled(False) 293 self.backMenu.setEnabled(False)
281 294
296 self.tsprocMultiMenuActions.append(act) 309 self.tsprocMultiMenuActions.append(act)
297 self.multiMenu.addSeparator() 310 self.multiMenu.addSeparator()
298 act = self.multiMenu.addAction( 311 act = self.multiMenu.addAction(
299 self.trUtf8('Open in Qt-Linguist'), self._openItem) 312 self.trUtf8('Open in Qt-Linguist'), self._openItem)
300 self.tsMultiMenuActions.append(act) 313 self.tsMultiMenuActions.append(act)
301 act = self.multiMenu.addAction(self.trUtf8('Open in Editor'), 314 act = self.multiMenu.addAction(
302 self.__openFileInEditor) 315 self.trUtf8('Open in Editor'), self.__openFileInEditor)
303 self.tsMultiMenuActions.append(act) 316 self.tsMultiMenuActions.append(act)
304 self.multiMenu.addSeparator() 317 self.multiMenu.addSeparator()
305 act = self.multiMenu.addAction(self.trUtf8('Release translations'), 318 act = self.multiMenu.addAction(
306 self.__releaseSelected) 319 self.trUtf8('Release translations'), self.__releaseSelected)
307 self.tsMultiMenuActions.append(act) 320 self.tsMultiMenuActions.append(act)
308 self.qmprocMultiMenuActions.append(act) 321 self.qmprocMultiMenuActions.append(act)
309 self.multiMenu.addSeparator() 322 self.multiMenu.addSeparator()
310 act = self.multiMenu.addAction(self.trUtf8('Preview translations'), 323 act = self.multiMenu.addAction(
311 self.__TRPreview) 324 self.trUtf8('Preview translations'), self.__TRPreview)
312 self.qmMultiMenuActions.append(act) 325 self.qmMultiMenuActions.append(act)
313 else: 326 else:
314 if self.hooks["extractMessages"] is not None: 327 if self.hooks["extractMessages"] is not None:
315 act = self.multiMenu.addAction( 328 act = self.multiMenu.addAction(
316 self.hooksMenuEntries.get("extractMessages", 329 self.hooksMenuEntries.get(
330 "extractMessages",
317 self.trUtf8('Extract messages')), 331 self.trUtf8('Extract messages')),
318 self.__extractMessages) 332 self.__extractMessages)
319 self.multiMenuActions.append(act) 333 self.multiMenuActions.append(act)
320 self.multiMenu.addSeparator() 334 self.multiMenu.addSeparator()
321 if self.hooks["generateSelected"] is not None: 335 if self.hooks["generateSelected"] is not None:
322 act = self.multiMenu.addAction( 336 act = self.multiMenu.addAction(
323 self.hooksMenuEntries.get("generateSelected", 337 self.hooksMenuEntries.get(
338 "generateSelected",
324 self.trUtf8('Generate translations')), 339 self.trUtf8('Generate translations')),
325 self.__generateSelected) 340 self.__generateSelected)
326 self.tsMultiMenuActions.append(act) 341 self.tsMultiMenuActions.append(act)
327 self.tsprocMultiMenuActions.append(act) 342 self.tsprocMultiMenuActions.append(act)
328 if self.hooks["generateSelectedWithObsolete"] is not None: 343 if self.hooks["generateSelectedWithObsolete"] is not None:
329 act = self.multiMenu.addAction( 344 act = self.multiMenu.addAction(
330 self.hooksMenuEntries.get("generateSelectedWithObsolete", 345 self.hooksMenuEntries.get(
346 "generateSelectedWithObsolete",
331 self.trUtf8('Generate translations (with obsolete)')), 347 self.trUtf8('Generate translations (with obsolete)')),
332 self.__generateObsoleteSelected) 348 self.__generateObsoleteSelected)
333 self.tsMultiMenuActions.append(act) 349 self.tsMultiMenuActions.append(act)
334 self.tsprocMultiMenuActions.append(act) 350 self.tsprocMultiMenuActions.append(act)
335 self.multiMenu.addSeparator() 351 self.multiMenu.addSeparator()
336 if self.hooks["open"] is not None: 352 if self.hooks["open"] is not None:
337 act = self.multiMenu.addAction( 353 act = self.multiMenu.addAction(
338 self.hooksMenuEntries.get("open", 354 self.hooksMenuEntries.get(
339 self.trUtf8('Open')), 355 "open", self.trUtf8('Open')),
340 self._openItem) 356 self._openItem)
341 self.tsMultiMenuActions.append(act) 357 self.tsMultiMenuActions.append(act)
342 act = self.multiMenu.addAction(self.trUtf8('Open in Editor'), 358 act = self.multiMenu.addAction(
343 self.__openFileInEditor) 359 self.trUtf8('Open in Editor'), self.__openFileInEditor)
344 self.tsMultiMenuActions.append(act) 360 self.tsMultiMenuActions.append(act)
345 self.multiMenu.addSeparator() 361 self.multiMenu.addSeparator()
346 if self.hooks["releaseSelected"] is not None: 362 if self.hooks["releaseSelected"] is not None:
347 act = self.multiMenu.addAction( 363 act = self.multiMenu.addAction(
348 self.hooksMenuEntries.get("releaseSelected", 364 self.hooksMenuEntries.get(
365 "releaseSelected",
349 self.trUtf8('Release translations')), 366 self.trUtf8('Release translations')),
350 self.__releaseSelected) 367 self.__releaseSelected)
351 self.tsMultiMenuActions.append(act) 368 self.tsMultiMenuActions.append(act)
352 self.qmprocMultiMenuActions.append(act) 369 self.qmprocMultiMenuActions.append(act)
353 self.multiMenu.addSeparator() 370 self.multiMenu.addSeparator()
354 act = self.multiMenu.addAction(self.trUtf8('Remove from project'), 371 act = self.multiMenu.addAction(
355 self.__removeLanguageFile) 372 self.trUtf8('Remove from project'), self.__removeLanguageFile)
356 self.multiMenuActions.append(act) 373 self.multiMenuActions.append(act)
357 act = self.multiMenu.addAction( 374 act = self.multiMenu.addAction(
358 self.trUtf8('Delete'), self.__deleteLanguageFile) 375 self.trUtf8('Delete'), self.__deleteLanguageFile)
359 self.multiMenuActions.append(act) 376 self.multiMenuActions.append(act)
360 self.multiMenu.addSeparator() 377 self.multiMenu.addSeparator()
381 self.trUtf8('Preview all translations'), 398 self.trUtf8('Preview all translations'),
382 self.__TRPreview) 399 self.__TRPreview)
383 else: 400 else:
384 if self.hooks["extractMessages"] is not None: 401 if self.hooks["extractMessages"] is not None:
385 act = self.dirMenu.addAction( 402 act = self.dirMenu.addAction(
386 self.hooksMenuEntries.get("extractMessages", 403 self.hooksMenuEntries.get(
404 "extractMessages",
387 self.trUtf8('Extract messages')), 405 self.trUtf8('Extract messages')),
388 self.__extractMessages) 406 self.__extractMessages)
389 self.dirMenuActions.append(act) 407 self.dirMenuActions.append(act)
390 self.dirMenu.addSeparator() 408 self.dirMenu.addSeparator()
391 if self.hooks["generateAll"] is not None: 409 if self.hooks["generateAll"] is not None:
392 act = self.dirMenu.addAction( 410 act = self.dirMenu.addAction(
393 self.hooksMenuEntries.get("generateAll", 411 self.hooksMenuEntries.get(
412 "generateAll",
394 self.trUtf8('Generate all translations')), 413 self.trUtf8('Generate all translations')),
395 self.__generateAll) 414 self.__generateAll)
396 self.tsprocDirMenuActions.append(act) 415 self.tsprocDirMenuActions.append(act)
397 if self.hooks["generateAllWithObsolete"] is not None: 416 if self.hooks["generateAllWithObsolete"] is not None:
398 act = self.dirMenu.addAction( 417 act = self.dirMenu.addAction(
399 self.hooksMenuEntries.get("generateAllWithObsolete", 418 self.hooksMenuEntries.get(
419 "generateAllWithObsolete",
400 self.trUtf8( 420 self.trUtf8(
401 'Generate all translations (with obsolete)')), 421 'Generate all translations (with obsolete)')),
402 self.__generateObsoleteAll) 422 self.__generateObsoleteAll)
403 self.tsprocDirMenuActions.append(act) 423 self.tsprocDirMenuActions.append(act)
404 if self.hooks["releaseAll"] is not None: 424 if self.hooks["releaseAll"] is not None:
405 act = self.dirMenu.addAction( 425 act = self.dirMenu.addAction(
406 self.hooksMenuEntries.get("releaseAll", 426 self.hooksMenuEntries.get(
427 "releaseAll",
407 self.trUtf8('Release all translations')), 428 self.trUtf8('Release all translations')),
408 self.__releaseAll) 429 self.__releaseAll)
409 self.qmprocDirMenuActions.append(act) 430 self.qmprocDirMenuActions.append(act)
410 self.dirMenu.addSeparator() 431 self.dirMenu.addSeparator()
411 act = self.dirMenu.addAction( 432 act = self.dirMenu.addAction(
412 self.trUtf8('Delete'), self._deleteDirectory) 433 self.trUtf8('Delete'), self._deleteDirectory)
413 self.dirMenuActions.append(act) 434 self.dirMenuActions.append(act)
414 self.dirMenu.addSeparator() 435 self.dirMenu.addSeparator()
415 self.__addTranslationDirAct = self.dirMenu.addAction( 436 self.__addTranslationDirAct = self.dirMenu.addAction(
416 self.trUtf8('Add translation...'), self.project.addLanguage) 437 self.trUtf8('Add translation...'), self.project.addLanguage)
417 self.dirMenu.addAction(self.trUtf8('Add translation files...'), 438 self.dirMenu.addAction(
439 self.trUtf8('Add translation files...'),
418 self.__addTranslationFiles) 440 self.__addTranslationFiles)
419 self.dirMenu.addSeparator() 441 self.dirMenu.addSeparator()
420 self.dirMenu.addAction(self.trUtf8('Copy Path to Clipboard'), 442 self.dirMenu.addAction(
421 self._copyToClipboard) 443 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard)
422 self.dirMenu.addSeparator() 444 self.dirMenu.addSeparator()
423 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) 445 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure)
424 446
425 self.dirMultiMenu = None 447 self.dirMultiMenu = None
426 448
649 671
650 translationFiles = [itm.fileName() for itm in itmList] 672 translationFiles = [itm.fileName() for itm in itmList]
651 673
652 from UI.DeleteFilesConfirmationDialog import \ 674 from UI.DeleteFilesConfirmationDialog import \
653 DeleteFilesConfirmationDialog 675 DeleteFilesConfirmationDialog
654 dlg = DeleteFilesConfirmationDialog(self.parent(), 676 dlg = DeleteFilesConfirmationDialog(
677 self.parent(),
655 self.trUtf8("Delete translation files"), 678 self.trUtf8("Delete translation files"),
656 self.trUtf8("Do you really want to delete these translation files" 679 self.trUtf8("Do you really want to delete these translation files"
657 " from the project?"), 680 " from the project?"),
658 translationFiles) 681 translationFiles)
659 682
660 if dlg.exec_() == QDialog.Accepted: 683 if dlg.exec_() == QDialog.Accepted:
661 for fn in translationFiles: 684 for fn in translationFiles:
662 self.closeSourceWindow.emit(fn) 685 self.closeSourceWindow.emit(fn)
717 path, ext = os.path.splitext(self.project.pfile) 740 path, ext = os.path.splitext(self.project.pfile)
718 pfile = '{0}_e4x.pro'.format(path) 741 pfile = '{0}_e4x.pro'.format(path)
719 742
720 # only consider files satisfying the filter criteria 743 # only consider files satisfying the filter criteria
721 _sources = [s for s in self.project.pdata["SOURCES"] \ 744 _sources = [s for s in self.project.pdata["SOURCES"] \
722 if os.path.splitext(s)[1] in filter] 745 if os.path.splitext(s)[1] in filter]
723 sources = [] 746 sources = []
724 for s in _sources: 747 for s in _sources:
725 addIt = True 748 addIt = True
726 for transExcept in self.project.pdata["TRANSLATIONEXCEPTIONS"]: 749 for transExcept in self.project.pdata["TRANSLATIONEXCEPTIONS"]:
727 if s.startswith(transExcept): 750 if s.startswith(transExcept):
741 if addIt: 764 if addIt:
742 forms.append(f) 765 forms.append(f)
743 766
744 if langs: 767 if langs:
745 langs = [self.project.getRelativePath(lang.fileName()) \ 768 langs = [self.project.getRelativePath(lang.fileName()) \
746 for lang in langs if lang.fileName().endswith('.ts')] 769 for lang in langs if lang.fileName().endswith('.ts')]
747 else: 770 else:
748 try: 771 try:
749 pattern = self.project.pdata["TRANSLATIONPATTERN"][0]\ 772 pattern = self.project.pdata["TRANSLATIONPATTERN"][0]\
750 .replace("%language%", "*") 773 .replace("%language%", "*")
751 langs = [lang for lang in self.project.pdata["TRANSLATIONS"] \ 774 langs = [lang for lang in self.project.pdata["TRANSLATIONS"] \
752 if fnmatch.fnmatch(lang, pattern)] 775 if fnmatch.fnmatch(lang, pattern)]
753 except IndexError: 776 except IndexError:
754 langs = [] 777 langs = []
755 if not langs: 778 if not langs:
756 E5MessageBox.warning( 779 E5MessageBox.warning(
757 self, 780 self,
767 lst.append(lang) 790 lst.append(lang)
768 langLevel[level] = lst 791 langLevel[level] = lst
769 792
770 for level, langs in langLevel.items(): 793 for level, langs in langLevel.items():
771 prefix = '../' * level 794 prefix = '../' * level
772 sections = [("SOURCES", 795 sections = [
773 [prefix + src for src in sources])] 796 ("SOURCES",
774 sections.append(("FORMS", 797 [prefix + src for src in sources])]
775 [prefix + form for form in forms])) 798 sections.append(
776 sections.append(("TRANSLATIONS", 799 ("FORMS",
777 [prefix + lang for lang in langs])) 800 [prefix + form for form in forms]))
801 sections.append(
802 ("TRANSLATIONS",
803 [prefix + lang for lang in langs]))
778 804
779 dir, name = os.path.split(pfile) 805 dir, name = os.path.split(pfile)
780 outFile = os.path.join(dir, os.path.dirname(langs[0]), name) 806 outFile = os.path.join(dir, os.path.dirname(langs[0]), name)
781 try: 807 try:
782 pf = open(outFile, "w", encoding="utf-8") 808 pf = open(outFile, "w", encoding="utf-8")
906 @param exitStatus exit status of the process (QProcess.ExitStatus) 932 @param exitStatus exit status of the process (QProcess.ExitStatus)
907 """ 933 """
908 if exitStatus == QProcess.NormalExit and exitCode == 0: 934 if exitStatus == QProcess.NormalExit and exitCode == 0:
909 ui = e5App().getObject("UserInterface") 935 ui = e5App().getObject("UserInterface")
910 if ui.notificationsEnabled(): 936 if ui.notificationsEnabled():
911 ui.showNotification(UI.PixmapCache.getPixmap("linguist48.png"), 937 ui.showNotification(
938 UI.PixmapCache.getPixmap("linguist48.png"),
912 self.trUtf8("Translation file generation"), 939 self.trUtf8("Translation file generation"),
913 self.trUtf8( 940 self.trUtf8(
914 "The generation of the translation files (*.ts)" 941 "The generation of the translation files (*.ts)"
915 " was successful.")) 942 " was successful."))
916 else: 943 else:
1090 @param exitStatus exit status of the process (QProcess.ExitStatus) 1117 @param exitStatus exit status of the process (QProcess.ExitStatus)
1091 """ 1118 """
1092 if exitStatus == QProcess.NormalExit and exitCode == 0: 1119 if exitStatus == QProcess.NormalExit and exitCode == 0:
1093 ui = e5App().getObject("UserInterface") 1120 ui = e5App().getObject("UserInterface")
1094 if ui.notificationsEnabled(): 1121 if ui.notificationsEnabled():
1095 ui.showNotification(UI.PixmapCache.getPixmap("linguist48.png"), 1122 ui.showNotification(
1123 UI.PixmapCache.getPixmap("linguist48.png"),
1096 self.trUtf8("Translation file release"), 1124 self.trUtf8("Translation file release"),
1097 self.trUtf8("The release of the translation files (*.qm)" 1125 self.trUtf8("The release of the translation files (*.qm)"
1098 " was successful.")) 1126 " was successful."))
1099 else: 1127 else:
1100 E5MessageBox.information( 1128 E5MessageBox.information(
1101 self, 1129 self,
1102 self.trUtf8("Translation file release"), 1130 self.trUtf8("Translation file release"),
1103 self.trUtf8("The release of the translation files (*.qm)" 1131 self.trUtf8("The release of the translation files (*.qm)"
1104 " was successful.")) 1132 " was successful."))
1105 if self.project.pdata["TRANSLATIONSBINPATH"] and \ 1133 if self.project.pdata["TRANSLATIONSBINPATH"] and \
1106 self.project.pdata["TRANSLATIONSBINPATH"][0]: 1134 self.project.pdata["TRANSLATIONSBINPATH"][0]:
1107 target = os.path.join( 1135 target = os.path.join(
1108 self.project.ppath, 1136 self.project.ppath,
1109 self.project.pdata["TRANSLATIONSBINPATH"][0]) 1137 self.project.pdata["TRANSLATIONSBINPATH"][0])

eric ide

mercurial