Project/ProjectResourcesBrowser.py

changeset 3030
4a0a82ddd9d2
parent 3020
542e97d4ecb3
child 3034
7ce719013078
child 3058
0a02c433f52d
equal deleted inserted replaced
3029:4055a15ce0f2 3030:4a0a82ddd9d2
78 self.dirMultiMenuActions = [] 78 self.dirMultiMenuActions = []
79 79
80 self.menu = QMenu(self) 80 self.menu = QMenu(self)
81 if self.project.getProjectType() in \ 81 if self.project.getProjectType() in \
82 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: 82 ["Qt4", "PyQt5", "E4Plugin", "PySide"]:
83 self.menu.addAction(self.trUtf8('Compile resource'), 83 self.menu.addAction(
84 self.trUtf8('Compile resource'),
84 self.__compileResource) 85 self.__compileResource)
85 self.menu.addAction(self.trUtf8('Compile all resources'), 86 self.menu.addAction(
87 self.trUtf8('Compile all resources'),
86 self.__compileAllResources) 88 self.__compileAllResources)
87 self.menu.addSeparator() 89 self.menu.addSeparator()
88 else: 90 else:
89 if self.hooks["compileResource"] is not None: 91 if self.hooks["compileResource"] is not None:
90 self.menu.addAction( 92 self.menu.addAction(
91 self.hooksMenuEntries.get("compileResource", 93 self.hooksMenuEntries.get(
94 "compileResource",
92 self.trUtf8('Compile resource')), 95 self.trUtf8('Compile resource')),
93 self.__compileResource) 96 self.__compileResource)
94 if self.hooks["compileAllResources"] is not None: 97 if self.hooks["compileAllResources"] is not None:
95 self.menu.addAction( 98 self.menu.addAction(
96 self.hooksMenuEntries.get("compileAllResources", 99 self.hooksMenuEntries.get(
100 "compileAllResources",
97 self.trUtf8('Compile all resources')), 101 self.trUtf8('Compile all resources')),
98 self.__compileAllResources) 102 self.__compileAllResources)
99 if self.hooks["compileResource"] is not None or \ 103 if self.hooks["compileResource"] is not None or \
100 self.hooks["compileAllResources"] is not None: 104 self.hooks["compileAllResources"] is not None:
101 self.menu.addSeparator() 105 self.menu.addSeparator()
114 self.menu.addAction( 118 self.menu.addAction(
115 self.trUtf8('New resource...'), self.__newResource) 119 self.trUtf8('New resource...'), self.__newResource)
116 else: 120 else:
117 if self.hooks["newResource"] is not None: 121 if self.hooks["newResource"] is not None:
118 self.menu.addAction( 122 self.menu.addAction(
119 self.hooksMenuEntries.get("newResource", 123 self.hooksMenuEntries.get(
124 "newResource",
120 self.trUtf8('New resource...')), self.__newResource) 125 self.trUtf8('New resource...')), self.__newResource)
121 self.menu.addAction( 126 self.menu.addAction(
122 self.trUtf8('Add resources...'), self.__addResourceFiles) 127 self.trUtf8('Add resources...'), self.__addResourceFiles)
123 self.menu.addAction(self.trUtf8('Add resources directory...'), 128 self.menu.addAction(
129 self.trUtf8('Add resources directory...'),
124 self.__addResourcesDirectory) 130 self.__addResourcesDirectory)
125 self.menu.addSeparator() 131 self.menu.addSeparator()
126 self.menu.addAction(self.trUtf8('Copy Path to Clipboard'), 132 self.menu.addAction(
127 self._copyToClipboard) 133 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard)
128 self.menu.addSeparator() 134 self.menu.addSeparator()
129 self.menu.addAction(self.trUtf8('Expand all directories'), 135 self.menu.addAction(
130 self._expandAllDirs) 136 self.trUtf8('Expand all directories'), self._expandAllDirs)
131 self.menu.addAction(self.trUtf8('Collapse all directories'), 137 self.menu.addAction(
132 self._collapseAllDirs) 138 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
133 self.menu.addSeparator() 139 self.menu.addSeparator()
134 self.menu.addAction(self.trUtf8('Configure...'), self._configure) 140 self.menu.addAction(self.trUtf8('Configure...'), self._configure)
135 141
136 self.backMenu = QMenu(self) 142 self.backMenu = QMenu(self)
137 if self.project.getProjectType() in \ 143 if self.project.getProjectType() in \
138 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: 144 ["Qt4", "PyQt5", "E4Plugin", "PySide"]:
139 self.backMenu.addAction(self.trUtf8('Compile all resources'), 145 self.backMenu.addAction(
146 self.trUtf8('Compile all resources'),
140 self.__compileAllResources) 147 self.__compileAllResources)
141 self.backMenu.addSeparator() 148 self.backMenu.addSeparator()
142 self.backMenu.addAction( 149 self.backMenu.addAction(
143 self.trUtf8('New resource...'), self.__newResource) 150 self.trUtf8('New resource...'), self.__newResource)
144 else: 151 else:
145 if self.hooks["compileAllResources"] is not None: 152 if self.hooks["compileAllResources"] is not None:
146 self.backMenu.addAction( 153 self.backMenu.addAction(
147 self.hooksMenuEntries.get("compileAllResources", 154 self.hooksMenuEntries.get(
155 "compileAllResources",
148 self.trUtf8('Compile all resources')), 156 self.trUtf8('Compile all resources')),
149 self.__compileAllResources) 157 self.__compileAllResources)
150 self.backMenu.addSeparator() 158 self.backMenu.addSeparator()
151 if self.hooks["newResource"] is not None: 159 if self.hooks["newResource"] is not None:
152 self.backMenu.addAction( 160 self.backMenu.addAction(
153 self.hooksMenuEntries.get("newResource", 161 self.hooksMenuEntries.get(
162 "newResource",
154 self.trUtf8('New resource...')), self.__newResource) 163 self.trUtf8('New resource...')), self.__newResource)
155 self.backMenu.addAction(self.trUtf8('Add resources...'), 164 self.backMenu.addAction(
156 self.project.addResourceFiles) 165 self.trUtf8('Add resources...'), self.project.addResourceFiles)
157 self.backMenu.addAction(self.trUtf8('Add resources directory...'), 166 self.backMenu.addAction(
167 self.trUtf8('Add resources directory...'),
158 self.project.addResourceDir) 168 self.project.addResourceDir)
159 self.backMenu.addSeparator() 169 self.backMenu.addSeparator()
160 self.backMenu.addAction(self.trUtf8('Expand all directories'), 170 self.backMenu.addAction(
161 self._expandAllDirs) 171 self.trUtf8('Expand all directories'), self._expandAllDirs)
162 self.backMenu.addAction(self.trUtf8('Collapse all directories'), 172 self.backMenu.addAction(
163 self._collapseAllDirs) 173 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
164 self.backMenu.addSeparator() 174 self.backMenu.addSeparator()
165 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure) 175 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure)
166 self.backMenu.setEnabled(False) 176 self.backMenu.setEnabled(False)
167 177
168 # create the menu for multiple selected files 178 # create the menu for multiple selected files
169 self.multiMenu = QMenu(self) 179 self.multiMenu = QMenu(self)
170 if self.project.getProjectType() in \ 180 if self.project.getProjectType() in \
171 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: 181 ["Qt4", "PyQt5", "E4Plugin", "PySide"]:
172 act = self.multiMenu.addAction(self.trUtf8('Compile resources'), 182 act = self.multiMenu.addAction(
183 self.trUtf8('Compile resources'),
173 self.__compileSelectedResources) 184 self.__compileSelectedResources)
174 self.multiMenu.addSeparator() 185 self.multiMenu.addSeparator()
175 else: 186 else:
176 if self.hooks["compileSelectedResources"] is not None: 187 if self.hooks["compileSelectedResources"] is not None:
177 act = self.multiMenu.addAction( 188 act = self.multiMenu.addAction(
178 self.hooksMenuEntries.get("compileSelectedResources", 189 self.hooksMenuEntries.get(
190 "compileSelectedResources",
179 self.trUtf8('Compile resources')), 191 self.trUtf8('Compile resources')),
180 self.__compileSelectedResources) 192 self.__compileSelectedResources)
181 self.multiMenu.addSeparator() 193 self.multiMenu.addSeparator()
182 self.multiMenu.addAction(self.trUtf8('Open'), self.__openFile) 194 self.multiMenu.addAction(self.trUtf8('Open'), self.__openFile)
183 self.multiMenu.addSeparator() 195 self.multiMenu.addSeparator()
184 act = self.multiMenu.addAction(self.trUtf8('Remove from project'), 196 act = self.multiMenu.addAction(
185 self._removeFile) 197 self.trUtf8('Remove from project'), self._removeFile)
186 self.multiMenuActions.append(act) 198 self.multiMenuActions.append(act)
187 act = self.multiMenu.addAction( 199 act = self.multiMenu.addAction(
188 self.trUtf8('Delete'), self.__deleteFile) 200 self.trUtf8('Delete'), self.__deleteFile)
189 self.multiMenuActions.append(act) 201 self.multiMenuActions.append(act)
190 self.multiMenu.addSeparator() 202 self.multiMenu.addSeparator()
191 self.multiMenu.addAction(self.trUtf8('Expand all directories'), 203 self.multiMenu.addAction(
192 self._expandAllDirs) 204 self.trUtf8('Expand all directories'), self._expandAllDirs)
193 self.multiMenu.addAction(self.trUtf8('Collapse all directories'), 205 self.multiMenu.addAction(
194 self._collapseAllDirs) 206 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
195 self.multiMenu.addSeparator() 207 self.multiMenu.addSeparator()
196 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) 208 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure)
197 209
198 self.dirMenu = QMenu(self) 210 self.dirMenu = QMenu(self)
199 if self.project.getProjectType() in \ 211 if self.project.getProjectType() in \
200 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: 212 ["Qt4", "PyQt5", "E4Plugin", "PySide"]:
201 self.dirMenu.addAction(self.trUtf8('Compile all resources'), 213 self.dirMenu.addAction(
214 self.trUtf8('Compile all resources'),
202 self.__compileAllResources) 215 self.__compileAllResources)
203 self.dirMenu.addSeparator() 216 self.dirMenu.addSeparator()
204 else: 217 else:
205 if self.hooks["compileAllResources"] is not None: 218 if self.hooks["compileAllResources"] is not None:
206 self.dirMenu.addAction( 219 self.dirMenu.addAction(
207 self.hooksMenuEntries.get("compileAllResources", 220 self.hooksMenuEntries.get(
221 "compileAllResources",
208 self.trUtf8('Compile all resources')), 222 self.trUtf8('Compile all resources')),
209 self.__compileAllResources) 223 self.__compileAllResources)
210 self.dirMenu.addSeparator() 224 self.dirMenu.addSeparator()
211 act = self.dirMenu.addAction( 225 act = self.dirMenu.addAction(
212 self.trUtf8('Remove from project'), self._removeDir) 226 self.trUtf8('Remove from project'), self._removeDir)
217 self.dirMenu.addSeparator() 231 self.dirMenu.addSeparator()
218 self.dirMenu.addAction( 232 self.dirMenu.addAction(
219 self.trUtf8('New resource...'), self.__newResource) 233 self.trUtf8('New resource...'), self.__newResource)
220 self.dirMenu.addAction( 234 self.dirMenu.addAction(
221 self.trUtf8('Add resources...'), self.__addResourceFiles) 235 self.trUtf8('Add resources...'), self.__addResourceFiles)
222 self.dirMenu.addAction(self.trUtf8('Add resources directory...'), 236 self.dirMenu.addAction(
237 self.trUtf8('Add resources directory...'),
223 self.__addResourcesDirectory) 238 self.__addResourcesDirectory)
224 self.dirMenu.addSeparator() 239 self.dirMenu.addSeparator()
225 self.dirMenu.addAction(self.trUtf8('Copy Path to Clipboard'), 240 self.dirMenu.addAction(
226 self._copyToClipboard) 241 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard)
227 self.dirMenu.addSeparator() 242 self.dirMenu.addSeparator()
228 self.dirMenu.addAction(self.trUtf8('Expand all directories'), 243 self.dirMenu.addAction(
229 self._expandAllDirs) 244 self.trUtf8('Expand all directories'), self._expandAllDirs)
230 self.dirMenu.addAction(self.trUtf8('Collapse all directories'), 245 self.dirMenu.addAction(
231 self._collapseAllDirs) 246 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
232 self.dirMenu.addSeparator() 247 self.dirMenu.addSeparator()
233 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) 248 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure)
234 249
235 self.dirMultiMenu = QMenu(self) 250 self.dirMultiMenu = QMenu(self)
236 if self.project.getProjectType() in \ 251 if self.project.getProjectType() in \
237 ["Qt4", "PyQt5", "E4Plugin", "PySide"]: 252 ["Qt4", "PyQt5", "E4Plugin", "PySide"]:
238 self.dirMultiMenu.addAction(self.trUtf8('Compile all resources'), 253 self.dirMultiMenu.addAction(
254 self.trUtf8('Compile all resources'),
239 self.__compileAllResources) 255 self.__compileAllResources)
240 self.dirMultiMenu.addSeparator() 256 self.dirMultiMenu.addSeparator()
241 else: 257 else:
242 if self.hooks["compileAllResources"] is not None: 258 if self.hooks["compileAllResources"] is not None:
243 self.dirMultiMenu.addAction( 259 self.dirMultiMenu.addAction(
244 self.hooksMenuEntries.get("compileAllResources", 260 self.hooksMenuEntries.get(
261 "compileAllResources",
245 self.trUtf8('Compile all resources')), 262 self.trUtf8('Compile all resources')),
246 self.__compileAllResources) 263 self.__compileAllResources)
247 self.dirMultiMenu.addSeparator() 264 self.dirMultiMenu.addSeparator()
248 self.dirMultiMenu.addAction(self.trUtf8('Add resources...'), 265 self.dirMultiMenu.addAction(
266 self.trUtf8('Add resources...'),
249 self.project.addResourceFiles) 267 self.project.addResourceFiles)
250 self.dirMultiMenu.addAction(self.trUtf8('Add resources directory...'), 268 self.dirMultiMenu.addAction(
269 self.trUtf8('Add resources directory...'),
251 self.project.addResourceDir) 270 self.project.addResourceDir)
252 self.dirMultiMenu.addSeparator() 271 self.dirMultiMenu.addSeparator()
253 self.dirMultiMenu.addAction(self.trUtf8('Expand all directories'), 272 self.dirMultiMenu.addAction(
254 self._expandAllDirs) 273 self.trUtf8('Expand all directories'), self._expandAllDirs)
255 self.dirMultiMenu.addAction(self.trUtf8('Collapse all directories'), 274 self.dirMultiMenu.addAction(
256 self._collapseAllDirs) 275 self.trUtf8('Collapse all directories'), self._collapseAllDirs)
257 self.dirMultiMenu.addSeparator() 276 self.dirMultiMenu.addSeparator()
258 self.dirMultiMenu.addAction( 277 self.dirMultiMenu.addAction(
259 self.trUtf8('Configure...'), self._configure) 278 self.trUtf8('Configure...'), self._configure)
260 279
261 self.menu.aboutToShow.connect(self.__showContextMenu) 280 self.menu.aboutToShow.connect(self.__showContextMenu)
451 rcfile.close() 470 rcfile.close()
452 except IOError as e: 471 except IOError as e:
453 E5MessageBox.critical( 472 E5MessageBox.critical(
454 self, 473 self,
455 self.trUtf8("New Resource"), 474 self.trUtf8("New Resource"),
456 self.trUtf8("<p>The new resource file <b>{0}</b> could not" 475 self.trUtf8(
476 "<p>The new resource file <b>{0}</b> could not"
457 " be created.<br>Problem: {1}</p>")\ 477 " be created.<br>Problem: {1}</p>")\
458 .format(fname, str(e))) 478 .format(fname, str(e)))
459 return 479 return
460 480
461 self.project.appendFile(fname) 481 self.project.appendFile(fname)
475 fn = self.project.getRelativePath(fn2) 495 fn = self.project.getRelativePath(fn2)
476 files.append(fn) 496 files.append(fn)
477 497
478 from UI.DeleteFilesConfirmationDialog import \ 498 from UI.DeleteFilesConfirmationDialog import \
479 DeleteFilesConfirmationDialog 499 DeleteFilesConfirmationDialog
480 dlg = DeleteFilesConfirmationDialog(self.parent(), 500 dlg = DeleteFilesConfirmationDialog(
501 self.parent(),
481 self.trUtf8("Delete resources"), 502 self.trUtf8("Delete resources"),
482 self.trUtf8( 503 self.trUtf8(
483 "Do you really want to delete these resources from the" 504 "Do you really want to delete these resources from the"
484 " project?"), 505 " project?"),
485 files) 506 files)
551 if not self.noDialog and not ui.notificationsEnabled(): 572 if not self.noDialog and not ui.notificationsEnabled():
552 E5MessageBox.information( 573 E5MessageBox.information(
553 self, 574 self,
554 self.trUtf8("Resource Compilation"), 575 self.trUtf8("Resource Compilation"),
555 self.trUtf8("The compilation of the resource file" 576 self.trUtf8("The compilation of the resource file"
556 " was successful.")) 577 " was successful."))
557 else: 578 else:
558 ui.showNotification( 579 ui.showNotification(
559 UI.PixmapCache.getPixmap("resourcesCompiler48.png"), 580 UI.PixmapCache.getPixmap("resourcesCompiler48.png"),
560 self.trUtf8("Resource Compilation"), 581 self.trUtf8("Resource Compilation"),
561 self.trUtf8("The compilation of the resource file" 582 self.trUtf8("The compilation of the resource file"
562 " was successful.")) 583 " was successful."))
563 except IOError as msg: 584 except IOError as msg:
564 if not self.noDialog: 585 if not self.noDialog:
565 E5MessageBox.information( 586 E5MessageBox.information(
566 self, 587 self,
567 self.trUtf8("Resource Compilation"), 588 self.trUtf8("Resource Compilation"),
689 """ 710 """
690 if self.hooks["compileAllResources"] is not None: 711 if self.hooks["compileAllResources"] is not None:
691 self.hooks["compileAllResources"](self.project.pdata["RESOURCES"]) 712 self.hooks["compileAllResources"](self.project.pdata["RESOURCES"])
692 else: 713 else:
693 numResources = len(self.project.pdata["RESOURCES"]) 714 numResources = len(self.project.pdata["RESOURCES"])
694 progress = QProgressDialog(self.trUtf8("Compiling resources..."), 715 progress = QProgressDialog(
716 self.trUtf8("Compiling resources..."),
695 self.trUtf8("Abort"), 0, numResources, self) 717 self.trUtf8("Abort"), 0, numResources, self)
696 progress.setModal(True) 718 progress.setModal(True)
697 progress.setMinimumDuration(0) 719 progress.setMinimumDuration(0)
698 i = 0 720 i = 0
699 721
723 745
724 if self.hooks["compileSelectedResources"] is not None: 746 if self.hooks["compileSelectedResources"] is not None:
725 self.hooks["compileSelectedResources"](files) 747 self.hooks["compileSelectedResources"](files)
726 else: 748 else:
727 numResources = len(files) 749 numResources = len(files)
728 progress = QProgressDialog(self.trUtf8("Compiling resources..."), 750 progress = QProgressDialog(
751 self.trUtf8("Compiling resources..."),
729 self.trUtf8("Abort"), 0, numResources, self) 752 self.trUtf8("Abort"), 0, numResources, self)
730 progress.setModal(True) 753 progress.setModal(True)
731 progress.setMinimumDuration(0) 754 progress.setMinimumDuration(0)
732 i = 0 755 i = 0
733 756

eric ide

mercurial