Project/ProjectResourcesBrowser.py

branch
Py2 comp.
changeset 3484
645c12de6b0c
parent 3178
f25fc1364c88
parent 3190
a9a94491c4fd
child 3515
1b8381afe38f
equal deleted inserted replaced
3456:96232974dcdb 3484:645c12de6b0c
7 Module implementing a class used to display the resources part of the project. 7 Module implementing a class used to display the resources part of the project.
8 """ 8 """
9 9
10 from __future__ import unicode_literals 10 from __future__ import unicode_literals
11 try: 11 try:
12 str = unicode # __IGNORE_WARNING__ 12 str = unicode
13 except (NameError): 13 except NameError:
14 pass 14 pass
15 15
16 import os 16 import os
17 17
18 from PyQt4.QtCore import QThread, QFileInfo, pyqtSignal, PYQT_VERSION, QProcess 18 from PyQt4.QtCore import QThread, QFileInfo, pyqtSignal, PYQT_VERSION, QProcess
62 parent) 62 parent)
63 63
64 self.selectedItemsFilter = \ 64 self.selectedItemsFilter = \
65 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem] 65 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem]
66 66
67 self.setWindowTitle(self.trUtf8('Resources')) 67 self.setWindowTitle(self.tr('Resources'))
68 68
69 self.setWhatsThis(self.trUtf8( 69 self.setWhatsThis(self.tr(
70 """<b>Project Resources Browser</b>""" 70 """<b>Project Resources Browser</b>"""
71 """<p>This allows to easily see all resources contained in the""" 71 """<p>This allows to easily see all resources contained in the"""
72 """ current project. Several actions can be executed via the""" 72 """ current project. Several actions can be executed via the"""
73 """ context menu.</p>""" 73 """ context menu.</p>"""
74 )) 74 ))
87 self.menu = QMenu(self) 87 self.menu = QMenu(self)
88 if self.project.getProjectType() in \ 88 if self.project.getProjectType() in \
89 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 89 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
90 "PySide", "PySideC"]: 90 "PySide", "PySideC"]:
91 self.menu.addAction( 91 self.menu.addAction(
92 self.trUtf8('Compile resource'), 92 self.tr('Compile resource'),
93 self.__compileResource) 93 self.__compileResource)
94 self.menu.addAction( 94 self.menu.addAction(
95 self.trUtf8('Compile all resources'), 95 self.tr('Compile all resources'),
96 self.__compileAllResources) 96 self.__compileAllResources)
97 self.menu.addSeparator() 97 self.menu.addSeparator()
98 else: 98 else:
99 if self.hooks["compileResource"] is not None: 99 if self.hooks["compileResource"] is not None:
100 self.menu.addAction( 100 self.menu.addAction(
101 self.hooksMenuEntries.get( 101 self.hooksMenuEntries.get(
102 "compileResource", 102 "compileResource",
103 self.trUtf8('Compile resource')), 103 self.tr('Compile resource')),
104 self.__compileResource) 104 self.__compileResource)
105 if self.hooks["compileAllResources"] is not None: 105 if self.hooks["compileAllResources"] is not None:
106 self.menu.addAction( 106 self.menu.addAction(
107 self.hooksMenuEntries.get( 107 self.hooksMenuEntries.get(
108 "compileAllResources", 108 "compileAllResources",
109 self.trUtf8('Compile all resources')), 109 self.tr('Compile all resources')),
110 self.__compileAllResources) 110 self.__compileAllResources)
111 if self.hooks["compileResource"] is not None or \ 111 if self.hooks["compileResource"] is not None or \
112 self.hooks["compileAllResources"] is not None: 112 self.hooks["compileAllResources"] is not None:
113 self.menu.addSeparator() 113 self.menu.addSeparator()
114 self.menu.addAction(self.trUtf8('Open'), self.__openFile) 114 self.menu.addAction(self.tr('Open'), self.__openFile)
115 self.menu.addSeparator() 115 self.menu.addSeparator()
116 act = self.menu.addAction(self.trUtf8('Rename file'), self._renameFile) 116 act = self.menu.addAction(self.tr('Rename file'), self._renameFile)
117 self.menuActions.append(act) 117 self.menuActions.append(act)
118 act = self.menu.addAction( 118 act = self.menu.addAction(
119 self.trUtf8('Remove from project'), self._removeFile) 119 self.tr('Remove from project'), self._removeFile)
120 self.menuActions.append(act) 120 self.menuActions.append(act)
121 act = self.menu.addAction(self.trUtf8('Delete'), self.__deleteFile) 121 act = self.menu.addAction(self.tr('Delete'), self.__deleteFile)
122 self.menuActions.append(act) 122 self.menuActions.append(act)
123 self.menu.addSeparator() 123 self.menu.addSeparator()
124 if self.project.getProjectType() in \ 124 if self.project.getProjectType() in \
125 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 125 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
126 "PySide", "PySideC"]: 126 "PySide", "PySideC"]:
127 self.menu.addAction( 127 self.menu.addAction(
128 self.trUtf8('New resource...'), self.__newResource) 128 self.tr('New resource...'), self.__newResource)
129 else: 129 else:
130 if self.hooks["newResource"] is not None: 130 if self.hooks["newResource"] is not None:
131 self.menu.addAction( 131 self.menu.addAction(
132 self.hooksMenuEntries.get( 132 self.hooksMenuEntries.get(
133 "newResource", 133 "newResource",
134 self.trUtf8('New resource...')), self.__newResource) 134 self.tr('New resource...')), self.__newResource)
135 self.menu.addAction( 135 self.menu.addAction(
136 self.trUtf8('Add resources...'), self.__addResourceFiles) 136 self.tr('Add resources...'), self.__addResourceFiles)
137 self.menu.addAction( 137 self.menu.addAction(
138 self.trUtf8('Add resources directory...'), 138 self.tr('Add resources directory...'),
139 self.__addResourcesDirectory) 139 self.__addResourcesDirectory)
140 self.menu.addSeparator() 140 self.menu.addSeparator()
141 self.menu.addAction( 141 self.menu.addAction(
142 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard) 142 self.tr('Copy Path to Clipboard'), self._copyToClipboard)
143 self.menu.addSeparator() 143 self.menu.addSeparator()
144 self.menu.addAction( 144 self.menu.addAction(
145 self.trUtf8('Expand all directories'), self._expandAllDirs) 145 self.tr('Expand all directories'), self._expandAllDirs)
146 self.menu.addAction( 146 self.menu.addAction(
147 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 147 self.tr('Collapse all directories'), self._collapseAllDirs)
148 self.menu.addSeparator() 148 self.menu.addSeparator()
149 self.menu.addAction(self.trUtf8('Configure...'), self._configure) 149 self.menu.addAction(self.tr('Configure...'), self._configure)
150 150
151 self.backMenu = QMenu(self) 151 self.backMenu = QMenu(self)
152 if self.project.getProjectType() in \ 152 if self.project.getProjectType() in \
153 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 153 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
154 "PySide", "PySideC"]: 154 "PySide", "PySideC"]:
155 self.backMenu.addAction( 155 self.backMenu.addAction(
156 self.trUtf8('Compile all resources'), 156 self.tr('Compile all resources'),
157 self.__compileAllResources) 157 self.__compileAllResources)
158 self.backMenu.addSeparator() 158 self.backMenu.addSeparator()
159 self.backMenu.addAction( 159 self.backMenu.addAction(
160 self.trUtf8('New resource...'), self.__newResource) 160 self.tr('New resource...'), self.__newResource)
161 else: 161 else:
162 if self.hooks["compileAllResources"] is not None: 162 if self.hooks["compileAllResources"] is not None:
163 self.backMenu.addAction( 163 self.backMenu.addAction(
164 self.hooksMenuEntries.get( 164 self.hooksMenuEntries.get(
165 "compileAllResources", 165 "compileAllResources",
166 self.trUtf8('Compile all resources')), 166 self.tr('Compile all resources')),
167 self.__compileAllResources) 167 self.__compileAllResources)
168 self.backMenu.addSeparator() 168 self.backMenu.addSeparator()
169 if self.hooks["newResource"] is not None: 169 if self.hooks["newResource"] is not None:
170 self.backMenu.addAction( 170 self.backMenu.addAction(
171 self.hooksMenuEntries.get( 171 self.hooksMenuEntries.get(
172 "newResource", 172 "newResource",
173 self.trUtf8('New resource...')), self.__newResource) 173 self.tr('New resource...')), self.__newResource)
174 self.backMenu.addAction( 174 self.backMenu.addAction(
175 self.trUtf8('Add resources...'), self.project.addResourceFiles) 175 self.tr('Add resources...'), self.project.addResourceFiles)
176 self.backMenu.addAction( 176 self.backMenu.addAction(
177 self.trUtf8('Add resources directory...'), 177 self.tr('Add resources directory...'),
178 self.project.addResourceDir) 178 self.project.addResourceDir)
179 self.backMenu.addSeparator() 179 self.backMenu.addSeparator()
180 self.backMenu.addAction( 180 self.backMenu.addAction(
181 self.trUtf8('Expand all directories'), self._expandAllDirs) 181 self.tr('Expand all directories'), self._expandAllDirs)
182 self.backMenu.addAction( 182 self.backMenu.addAction(
183 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 183 self.tr('Collapse all directories'), self._collapseAllDirs)
184 self.backMenu.addSeparator() 184 self.backMenu.addSeparator()
185 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure) 185 self.backMenu.addAction(self.tr('Configure...'), self._configure)
186 self.backMenu.setEnabled(False) 186 self.backMenu.setEnabled(False)
187 187
188 # create the menu for multiple selected files 188 # create the menu for multiple selected files
189 self.multiMenu = QMenu(self) 189 self.multiMenu = QMenu(self)
190 if self.project.getProjectType() in \ 190 if self.project.getProjectType() in \
191 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 191 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
192 "PySide", "PySideC"]: 192 "PySide", "PySideC"]:
193 act = self.multiMenu.addAction( 193 act = self.multiMenu.addAction(
194 self.trUtf8('Compile resources'), 194 self.tr('Compile resources'),
195 self.__compileSelectedResources) 195 self.__compileSelectedResources)
196 self.multiMenu.addSeparator() 196 self.multiMenu.addSeparator()
197 else: 197 else:
198 if self.hooks["compileSelectedResources"] is not None: 198 if self.hooks["compileSelectedResources"] is not None:
199 act = self.multiMenu.addAction( 199 act = self.multiMenu.addAction(
200 self.hooksMenuEntries.get( 200 self.hooksMenuEntries.get(
201 "compileSelectedResources", 201 "compileSelectedResources",
202 self.trUtf8('Compile resources')), 202 self.tr('Compile resources')),
203 self.__compileSelectedResources) 203 self.__compileSelectedResources)
204 self.multiMenu.addSeparator() 204 self.multiMenu.addSeparator()
205 self.multiMenu.addAction(self.trUtf8('Open'), self.__openFile) 205 self.multiMenu.addAction(self.tr('Open'), self.__openFile)
206 self.multiMenu.addSeparator() 206 self.multiMenu.addSeparator()
207 act = self.multiMenu.addAction( 207 act = self.multiMenu.addAction(
208 self.trUtf8('Remove from project'), self._removeFile) 208 self.tr('Remove from project'), self._removeFile)
209 self.multiMenuActions.append(act) 209 self.multiMenuActions.append(act)
210 act = self.multiMenu.addAction( 210 act = self.multiMenu.addAction(
211 self.trUtf8('Delete'), self.__deleteFile) 211 self.tr('Delete'), self.__deleteFile)
212 self.multiMenuActions.append(act) 212 self.multiMenuActions.append(act)
213 self.multiMenu.addSeparator() 213 self.multiMenu.addSeparator()
214 self.multiMenu.addAction( 214 self.multiMenu.addAction(
215 self.trUtf8('Expand all directories'), self._expandAllDirs) 215 self.tr('Expand all directories'), self._expandAllDirs)
216 self.multiMenu.addAction( 216 self.multiMenu.addAction(
217 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 217 self.tr('Collapse all directories'), self._collapseAllDirs)
218 self.multiMenu.addSeparator() 218 self.multiMenu.addSeparator()
219 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) 219 self.multiMenu.addAction(self.tr('Configure...'), self._configure)
220 220
221 self.dirMenu = QMenu(self) 221 self.dirMenu = QMenu(self)
222 if self.project.getProjectType() in \ 222 if self.project.getProjectType() in \
223 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 223 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
224 "PySide", "PySideC"]: 224 "PySide", "PySideC"]:
225 self.dirMenu.addAction( 225 self.dirMenu.addAction(
226 self.trUtf8('Compile all resources'), 226 self.tr('Compile all resources'),
227 self.__compileAllResources) 227 self.__compileAllResources)
228 self.dirMenu.addSeparator() 228 self.dirMenu.addSeparator()
229 else: 229 else:
230 if self.hooks["compileAllResources"] is not None: 230 if self.hooks["compileAllResources"] is not None:
231 self.dirMenu.addAction( 231 self.dirMenu.addAction(
232 self.hooksMenuEntries.get( 232 self.hooksMenuEntries.get(
233 "compileAllResources", 233 "compileAllResources",
234 self.trUtf8('Compile all resources')), 234 self.tr('Compile all resources')),
235 self.__compileAllResources) 235 self.__compileAllResources)
236 self.dirMenu.addSeparator() 236 self.dirMenu.addSeparator()
237 act = self.dirMenu.addAction( 237 act = self.dirMenu.addAction(
238 self.trUtf8('Remove from project'), self._removeDir) 238 self.tr('Remove from project'), self._removeDir)
239 self.dirMenuActions.append(act) 239 self.dirMenuActions.append(act)
240 act = self.dirMenu.addAction( 240 act = self.dirMenu.addAction(
241 self.trUtf8('Delete'), self._deleteDirectory) 241 self.tr('Delete'), self._deleteDirectory)
242 self.dirMenuActions.append(act) 242 self.dirMenuActions.append(act)
243 self.dirMenu.addSeparator() 243 self.dirMenu.addSeparator()
244 self.dirMenu.addAction( 244 self.dirMenu.addAction(
245 self.trUtf8('New resource...'), self.__newResource) 245 self.tr('New resource...'), self.__newResource)
246 self.dirMenu.addAction( 246 self.dirMenu.addAction(
247 self.trUtf8('Add resources...'), self.__addResourceFiles) 247 self.tr('Add resources...'), self.__addResourceFiles)
248 self.dirMenu.addAction( 248 self.dirMenu.addAction(
249 self.trUtf8('Add resources directory...'), 249 self.tr('Add resources directory...'),
250 self.__addResourcesDirectory) 250 self.__addResourcesDirectory)
251 self.dirMenu.addSeparator() 251 self.dirMenu.addSeparator()
252 self.dirMenu.addAction( 252 self.dirMenu.addAction(
253 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard) 253 self.tr('Copy Path to Clipboard'), self._copyToClipboard)
254 self.dirMenu.addSeparator() 254 self.dirMenu.addSeparator()
255 self.dirMenu.addAction( 255 self.dirMenu.addAction(
256 self.trUtf8('Expand all directories'), self._expandAllDirs) 256 self.tr('Expand all directories'), self._expandAllDirs)
257 self.dirMenu.addAction( 257 self.dirMenu.addAction(
258 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 258 self.tr('Collapse all directories'), self._collapseAllDirs)
259 self.dirMenu.addSeparator() 259 self.dirMenu.addSeparator()
260 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) 260 self.dirMenu.addAction(self.tr('Configure...'), self._configure)
261 261
262 self.dirMultiMenu = QMenu(self) 262 self.dirMultiMenu = QMenu(self)
263 if self.project.getProjectType() in \ 263 if self.project.getProjectType() in \
264 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 264 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
265 "PySide", "PySideC"]: 265 "PySide", "PySideC"]:
266 self.dirMultiMenu.addAction( 266 self.dirMultiMenu.addAction(
267 self.trUtf8('Compile all resources'), 267 self.tr('Compile all resources'),
268 self.__compileAllResources) 268 self.__compileAllResources)
269 self.dirMultiMenu.addSeparator() 269 self.dirMultiMenu.addSeparator()
270 else: 270 else:
271 if self.hooks["compileAllResources"] is not None: 271 if self.hooks["compileAllResources"] is not None:
272 self.dirMultiMenu.addAction( 272 self.dirMultiMenu.addAction(
273 self.hooksMenuEntries.get( 273 self.hooksMenuEntries.get(
274 "compileAllResources", 274 "compileAllResources",
275 self.trUtf8('Compile all resources')), 275 self.tr('Compile all resources')),
276 self.__compileAllResources) 276 self.__compileAllResources)
277 self.dirMultiMenu.addSeparator() 277 self.dirMultiMenu.addSeparator()
278 self.dirMultiMenu.addAction( 278 self.dirMultiMenu.addAction(
279 self.trUtf8('Add resources...'), 279 self.tr('Add resources...'),
280 self.project.addResourceFiles) 280 self.project.addResourceFiles)
281 self.dirMultiMenu.addAction( 281 self.dirMultiMenu.addAction(
282 self.trUtf8('Add resources directory...'), 282 self.tr('Add resources directory...'),
283 self.project.addResourceDir) 283 self.project.addResourceDir)
284 self.dirMultiMenu.addSeparator() 284 self.dirMultiMenu.addSeparator()
285 self.dirMultiMenu.addAction( 285 self.dirMultiMenu.addAction(
286 self.trUtf8('Expand all directories'), self._expandAllDirs) 286 self.tr('Expand all directories'), self._expandAllDirs)
287 self.dirMultiMenu.addAction( 287 self.dirMultiMenu.addAction(
288 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 288 self.tr('Collapse all directories'), self._collapseAllDirs)
289 self.dirMultiMenu.addSeparator() 289 self.dirMultiMenu.addSeparator()
290 self.dirMultiMenu.addAction( 290 self.dirMultiMenu.addAction(
291 self.trUtf8('Configure...'), self._configure) 291 self.tr('Configure...'), self._configure)
292 292
293 self.menu.aboutToShow.connect(self.__showContextMenu) 293 self.menu.aboutToShow.connect(self.__showContextMenu)
294 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) 294 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti)
295 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) 295 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir)
296 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) 296 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti)
441 if self.hooks["newResource"] is not None: 441 if self.hooks["newResource"] is not None:
442 self.hooks["newResource"](path) 442 self.hooks["newResource"](path)
443 else: 443 else:
444 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( 444 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
445 self, 445 self,
446 self.trUtf8("New Resource"), 446 self.tr("New Resource"),
447 path, 447 path,
448 self.trUtf8("Qt Resource Files (*.qrc)"), 448 self.tr("Qt Resource Files (*.qrc)"),
449 "", 449 "",
450 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) 450 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
451 451
452 if not fname: 452 if not fname:
453 # user aborted or didn't enter a filename 453 # user aborted or didn't enter a filename
460 fname += ex 460 fname += ex
461 461
462 if os.path.exists(fname): 462 if os.path.exists(fname):
463 res = E5MessageBox.yesNo( 463 res = E5MessageBox.yesNo(
464 self, 464 self,
465 self.trUtf8("New Resource"), 465 self.tr("New Resource"),
466 self.trUtf8("The file already exists! Overwrite it?"), 466 self.tr("The file already exists! Overwrite it?"),
467 icon=E5MessageBox.Warning) 467 icon=E5MessageBox.Warning)
468 if not res: 468 if not res:
469 # user selected to not overwrite 469 # user selected to not overwrite
470 return 470 return
471 471
482 rcfile.write('</RCC>\n') 482 rcfile.write('</RCC>\n')
483 rcfile.close() 483 rcfile.close()
484 except IOError as e: 484 except IOError as e:
485 E5MessageBox.critical( 485 E5MessageBox.critical(
486 self, 486 self,
487 self.trUtf8("New Resource"), 487 self.tr("New Resource"),
488 self.trUtf8( 488 self.tr(
489 "<p>The new resource file <b>{0}</b> could not" 489 "<p>The new resource file <b>{0}</b> could not"
490 " be created.<br>Problem: {1}</p>") 490 " be created.<br>Problem: {1}</p>")
491 .format(fname, str(e))) 491 .format(fname, str(e)))
492 return 492 return
493 493
510 510
511 from UI.DeleteFilesConfirmationDialog import \ 511 from UI.DeleteFilesConfirmationDialog import \
512 DeleteFilesConfirmationDialog 512 DeleteFilesConfirmationDialog
513 dlg = DeleteFilesConfirmationDialog( 513 dlg = DeleteFilesConfirmationDialog(
514 self.parent(), 514 self.parent(),
515 self.trUtf8("Delete resources"), 515 self.tr("Delete resources"),
516 self.trUtf8( 516 self.tr(
517 "Do you really want to delete these resources from the" 517 "Do you really want to delete these resources from the"
518 " project?"), 518 " project?"),
519 files) 519 files)
520 520
521 if dlg.exec_() == QDialog.Accepted: 521 if dlg.exec_() == QDialog.Accepted:
583 if self.compiledFile not in self.project.pdata["SOURCES"]: 583 if self.compiledFile not in self.project.pdata["SOURCES"]:
584 self.project.appendFile(ofn) 584 self.project.appendFile(ofn)
585 if not self.noDialog and not ui.notificationsEnabled(): 585 if not self.noDialog and not ui.notificationsEnabled():
586 E5MessageBox.information( 586 E5MessageBox.information(
587 self, 587 self,
588 self.trUtf8("Resource Compilation"), 588 self.tr("Resource Compilation"),
589 self.trUtf8("The compilation of the resource file" 589 self.tr("The compilation of the resource file"
590 " was successful.")) 590 " was successful."))
591 else: 591 else:
592 ui.showNotification( 592 ui.showNotification(
593 UI.PixmapCache.getPixmap("resourcesCompiler48.png"), 593 UI.PixmapCache.getPixmap("resourcesCompiler48.png"),
594 self.trUtf8("Resource Compilation"), 594 self.tr("Resource Compilation"),
595 self.trUtf8("The compilation of the resource file" 595 self.tr("The compilation of the resource file"
596 " was successful.")) 596 " was successful."))
597 except IOError as msg: 597 except IOError as msg:
598 if not self.noDialog: 598 if not self.noDialog:
599 E5MessageBox.information( 599 E5MessageBox.information(
600 self, 600 self,
601 self.trUtf8("Resource Compilation"), 601 self.tr("Resource Compilation"),
602 self.trUtf8( 602 self.tr(
603 "<p>The compilation of the resource file" 603 "<p>The compilation of the resource file"
604 " failed.</p><p>Reason: {0}</p>").format(str(msg))) 604 " failed.</p><p>Reason: {0}</p>").format(str(msg)))
605 else: 605 else:
606 if not self.noDialog: 606 if not self.noDialog:
607 E5MessageBox.information( 607 E5MessageBox.information(
608 self, 608 self,
609 self.trUtf8("Resource Compilation"), 609 self.tr("Resource Compilation"),
610 self.trUtf8( 610 self.tr(
611 "The compilation of the resource file failed.")) 611 "The compilation of the resource file failed."))
612 else: 612 else:
613 ui.showNotification( 613 ui.showNotification(
614 UI.PixmapCache.getPixmap("resourcesCompiler48.png"), 614 UI.PixmapCache.getPixmap("resourcesCompiler48.png"),
615 self.trUtf8("Resource Compilation"), 615 self.tr("Resource Compilation"),
616 self.trUtf8( 616 self.tr(
617 "The compilation of the resource file failed.")) 617 "The compilation of the resource file failed."))
618 self.compileProc = None 618 self.compileProc = None
619 619
620 def __compileQRC(self, fn, noDialog=False, progress=None): 620 def __compileQRC(self, fn, noDialog=False, progress=None):
621 """ 621 """
696 self.compileRunning = False 696 self.compileRunning = False
697 if progress is not None: 697 if progress is not None:
698 progress.cancel() 698 progress.cancel()
699 E5MessageBox.critical( 699 E5MessageBox.critical(
700 self, 700 self,
701 self.trUtf8('Process Generation Error'), 701 self.tr('Process Generation Error'),
702 self.trUtf8( 702 self.tr(
703 'Could not start {0}.<br>' 703 'Could not start {0}.<br>'
704 'Ensure that it is in the search path.' 704 'Ensure that it is in the search path.'
705 ).format(self.rccCompiler)) 705 ).format(self.rccCompiler))
706 return None 706 return None
707 707
724 if self.hooks["compileAllResources"] is not None: 724 if self.hooks["compileAllResources"] is not None:
725 self.hooks["compileAllResources"](self.project.pdata["RESOURCES"]) 725 self.hooks["compileAllResources"](self.project.pdata["RESOURCES"])
726 else: 726 else:
727 numResources = len(self.project.pdata["RESOURCES"]) 727 numResources = len(self.project.pdata["RESOURCES"])
728 progress = E5ProgressDialog( 728 progress = E5ProgressDialog(
729 self.trUtf8("Compiling resources..."), 729 self.tr("Compiling resources..."),
730 self.trUtf8("Abort"), 0, numResources, 730 self.tr("Abort"), 0, numResources,
731 self.trUtf8("%v/%m Resources"), self) 731 self.tr("%v/%m Resources"), self)
732 progress.setModal(True) 732 progress.setModal(True)
733 progress.setMinimumDuration(0) 733 progress.setMinimumDuration(0)
734 i = 0 734 i = 0
735 735
736 for fn in self.project.pdata["RESOURCES"]: 736 for fn in self.project.pdata["RESOURCES"]:
760 if self.hooks["compileSelectedResources"] is not None: 760 if self.hooks["compileSelectedResources"] is not None:
761 self.hooks["compileSelectedResources"](files) 761 self.hooks["compileSelectedResources"](files)
762 else: 762 else:
763 numResources = len(files) 763 numResources = len(files)
764 progress = E5ProgressDialog( 764 progress = E5ProgressDialog(
765 self.trUtf8("Compiling resources..."), 765 self.tr("Compiling resources..."),
766 self.trUtf8("Abort"), 0, numResources, 766 self.tr("Abort"), 0, numResources,
767 self.trUtf8("%v/%m Resources"), self) 767 self.tr("%v/%m Resources"), self)
768 progress.setModal(True) 768 progress.setModal(True)
769 progress.setMinimumDuration(0) 769 progress.setMinimumDuration(0)
770 i = 0 770 i = 0
771 771
772 for fn in files: 772 for fn in files:
830 if self.hooks["compileChangedResources"] is not None: 830 if self.hooks["compileChangedResources"] is not None:
831 self.hooks["compileChangedResources"]( 831 self.hooks["compileChangedResources"](
832 self.project.pdata["RESOURCES"]) 832 self.project.pdata["RESOURCES"])
833 else: 833 else:
834 progress = E5ProgressDialog( 834 progress = E5ProgressDialog(
835 self.trUtf8("Determining changed resources..."), 835 self.tr("Determining changed resources..."),
836 None, 0, 100, self.trUtf8("%v/%m Resources")) 836 None, 0, 100, self.tr("%v/%m Resources"))
837 progress.setMinimumDuration(0) 837 progress.setMinimumDuration(0)
838 i = 0 838 i = 0
839 839
840 # get list of changed resources 840 # get list of changed resources
841 changedResources = [] 841 changedResources = []
864 progress.setValue(i) 864 progress.setValue(i)
865 QApplication.processEvents() 865 QApplication.processEvents()
866 866
867 if changedResources: 867 if changedResources:
868 progress.setLabelText( 868 progress.setLabelText(
869 self.trUtf8("Compiling changed resources...")) 869 self.tr("Compiling changed resources..."))
870 progress.setMaximum(len(changedResources)) 870 progress.setMaximum(len(changedResources))
871 i = 0 871 i = 0
872 progress.setValue(i) 872 progress.setValue(i)
873 QApplication.processEvents() 873 QApplication.processEvents()
874 for fn in changedResources: 874 for fn in changedResources:

eric ide

mercurial