Project/ProjectInterfacesBrowser.py

changeset 3190
a9a94491c4fd
parent 3160
209a07d7e401
child 3478
beec1d9c1851
child 3484
645c12de6b0c
equal deleted inserted replaced
3189:9a21c547de5f 3190:a9a94491c4fd
67 ProjectBrowserInterfaceType, parent) 67 ProjectBrowserInterfaceType, parent)
68 68
69 self.selectedItemsFilter = \ 69 self.selectedItemsFilter = \
70 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem] 70 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem]
71 71
72 self.setWindowTitle(self.trUtf8('Interfaces (IDL)')) 72 self.setWindowTitle(self.tr('Interfaces (IDL)'))
73 73
74 self.setWhatsThis(self.trUtf8( 74 self.setWhatsThis(self.tr(
75 """<b>Project Interfaces Browser</b>""" 75 """<b>Project Interfaces Browser</b>"""
76 """<p>This allows to easily see all interfaces (CORBA IDL files)""" 76 """<p>This allows to easily see all interfaces (CORBA IDL files)"""
77 """ contained in the current project. Several actions can be""" 77 """ contained in the current project. Several actions can be"""
78 """ executed via the context menu.</p>""" 78 """ executed via the context menu.</p>"""
79 )) 79 ))
91 self.dirMultiMenuActions = [] 91 self.dirMultiMenuActions = []
92 92
93 self.sourceMenu = QMenu(self) 93 self.sourceMenu = QMenu(self)
94 if self.omniidl is not None: 94 if self.omniidl is not None:
95 self.sourceMenu.addAction( 95 self.sourceMenu.addAction(
96 self.trUtf8('Compile interface'), self.__compileInterface) 96 self.tr('Compile interface'), self.__compileInterface)
97 self.sourceMenu.addAction( 97 self.sourceMenu.addAction(
98 self.trUtf8('Compile all interfaces'), 98 self.tr('Compile all interfaces'),
99 self.__compileAllInterfaces) 99 self.__compileAllInterfaces)
100 self.sourceMenu.addAction(self.trUtf8('Open'), self._openItem) 100 self.sourceMenu.addAction(self.tr('Open'), self._openItem)
101 self.sourceMenu.addSeparator() 101 self.sourceMenu.addSeparator()
102 act = self.sourceMenu.addAction( 102 act = self.sourceMenu.addAction(
103 self.trUtf8('Rename file'), self._renameFile) 103 self.tr('Rename file'), self._renameFile)
104 self.menuActions.append(act) 104 self.menuActions.append(act)
105 act = self.sourceMenu.addAction( 105 act = self.sourceMenu.addAction(
106 self.trUtf8('Remove from project'), self._removeFile) 106 self.tr('Remove from project'), self._removeFile)
107 self.menuActions.append(act) 107 self.menuActions.append(act)
108 act = self.sourceMenu.addAction( 108 act = self.sourceMenu.addAction(
109 self.trUtf8('Delete'), self.__deleteFile) 109 self.tr('Delete'), self.__deleteFile)
110 self.menuActions.append(act) 110 self.menuActions.append(act)
111 self.sourceMenu.addSeparator() 111 self.sourceMenu.addSeparator()
112 self.sourceMenu.addAction( 112 self.sourceMenu.addAction(
113 self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) 113 self.tr('Add interfaces...'), self.__addInterfaceFiles)
114 self.sourceMenu.addAction( 114 self.sourceMenu.addAction(
115 self.trUtf8('Add interfaces directory...'), 115 self.tr('Add interfaces directory...'),
116 self.__addInterfacesDirectory) 116 self.__addInterfacesDirectory)
117 self.sourceMenu.addSeparator() 117 self.sourceMenu.addSeparator()
118 self.sourceMenu.addAction( 118 self.sourceMenu.addAction(
119 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard) 119 self.tr('Copy Path to Clipboard'), self._copyToClipboard)
120 self.sourceMenu.addSeparator() 120 self.sourceMenu.addSeparator()
121 self.sourceMenu.addAction( 121 self.sourceMenu.addAction(
122 self.trUtf8('Expand all directories'), self._expandAllDirs) 122 self.tr('Expand all directories'), self._expandAllDirs)
123 self.sourceMenu.addAction( 123 self.sourceMenu.addAction(
124 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 124 self.tr('Collapse all directories'), self._collapseAllDirs)
125 self.sourceMenu.addSeparator() 125 self.sourceMenu.addSeparator()
126 self.sourceMenu.addAction(self.trUtf8('Configure...'), self._configure) 126 self.sourceMenu.addAction(self.tr('Configure...'), self._configure)
127 self.sourceMenu.addAction( 127 self.sourceMenu.addAction(
128 self.trUtf8('Configure CORBA...'), self.__configureCorba) 128 self.tr('Configure CORBA...'), self.__configureCorba)
129 129
130 self.menu = QMenu(self) 130 self.menu = QMenu(self)
131 if self.omniidl is not None: 131 if self.omniidl is not None:
132 self.menu.addAction( 132 self.menu.addAction(
133 self.trUtf8('Compile interface'), self.__compileInterface) 133 self.tr('Compile interface'), self.__compileInterface)
134 self.menu.addAction( 134 self.menu.addAction(
135 self.trUtf8('Compile all interfaces'), 135 self.tr('Compile all interfaces'),
136 self.__compileAllInterfaces) 136 self.__compileAllInterfaces)
137 self.menu.addAction(self.trUtf8('Open'), self._openItem) 137 self.menu.addAction(self.tr('Open'), self._openItem)
138 self.menu.addSeparator() 138 self.menu.addSeparator()
139 self.menu.addAction( 139 self.menu.addAction(
140 self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) 140 self.tr('Add interfaces...'), self.__addInterfaceFiles)
141 self.menu.addAction( 141 self.menu.addAction(
142 self.trUtf8('Add interfaces directory...'), 142 self.tr('Add interfaces directory...'),
143 self.__addInterfacesDirectory) 143 self.__addInterfacesDirectory)
144 self.menu.addSeparator() 144 self.menu.addSeparator()
145 self.menu.addAction( 145 self.menu.addAction(
146 self.trUtf8('Expand all directories'), self._expandAllDirs) 146 self.tr('Expand all directories'), self._expandAllDirs)
147 self.menu.addAction( 147 self.menu.addAction(
148 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 148 self.tr('Collapse all directories'), self._collapseAllDirs)
149 self.menu.addSeparator() 149 self.menu.addSeparator()
150 self.menu.addAction(self.trUtf8('Configure...'), self._configure) 150 self.menu.addAction(self.tr('Configure...'), self._configure)
151 self.menu.addAction( 151 self.menu.addAction(
152 self.trUtf8('Configure CORBA...'), self.__configureCorba) 152 self.tr('Configure CORBA...'), self.__configureCorba)
153 153
154 self.backMenu = QMenu(self) 154 self.backMenu = QMenu(self)
155 if self.omniidl is not None: 155 if self.omniidl is not None:
156 self.backMenu.addAction( 156 self.backMenu.addAction(
157 self.trUtf8('Compile all interfaces'), 157 self.tr('Compile all interfaces'),
158 self.__compileAllInterfaces) 158 self.__compileAllInterfaces)
159 self.backMenu.addSeparator() 159 self.backMenu.addSeparator()
160 self.backMenu.addAction( 160 self.backMenu.addAction(
161 self.trUtf8('Add interfaces...'), self.project.addIdlFiles) 161 self.tr('Add interfaces...'), self.project.addIdlFiles)
162 self.backMenu.addAction( 162 self.backMenu.addAction(
163 self.trUtf8('Add interfaces directory...'), self.project.addIdlDir) 163 self.tr('Add interfaces directory...'), self.project.addIdlDir)
164 self.backMenu.addSeparator() 164 self.backMenu.addSeparator()
165 self.backMenu.addAction( 165 self.backMenu.addAction(
166 self.trUtf8('Expand all directories'), self._expandAllDirs) 166 self.tr('Expand all directories'), self._expandAllDirs)
167 self.backMenu.addAction( 167 self.backMenu.addAction(
168 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 168 self.tr('Collapse all directories'), self._collapseAllDirs)
169 self.backMenu.addSeparator() 169 self.backMenu.addSeparator()
170 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure) 170 self.backMenu.addAction(self.tr('Configure...'), self._configure)
171 self.backMenu.addAction( 171 self.backMenu.addAction(
172 self.trUtf8('Configure CORBA...'), self.__configureCorba) 172 self.tr('Configure CORBA...'), self.__configureCorba)
173 self.backMenu.setEnabled(False) 173 self.backMenu.setEnabled(False)
174 174
175 # create the menu for multiple selected files 175 # create the menu for multiple selected files
176 self.multiMenu = QMenu(self) 176 self.multiMenu = QMenu(self)
177 if self.omniidl is not None: 177 if self.omniidl is not None:
178 self.multiMenu.addAction( 178 self.multiMenu.addAction(
179 self.trUtf8('Compile interfaces'), 179 self.tr('Compile interfaces'),
180 self.__compileSelectedInterfaces) 180 self.__compileSelectedInterfaces)
181 self.multiMenu.addAction(self.trUtf8('Open'), self._openItem) 181 self.multiMenu.addAction(self.tr('Open'), self._openItem)
182 self.multiMenu.addSeparator() 182 self.multiMenu.addSeparator()
183 act = self.multiMenu.addAction( 183 act = self.multiMenu.addAction(
184 self.trUtf8('Remove from project'), self._removeFile) 184 self.tr('Remove from project'), self._removeFile)
185 self.multiMenuActions.append(act) 185 self.multiMenuActions.append(act)
186 act = self.multiMenu.addAction( 186 act = self.multiMenu.addAction(
187 self.trUtf8('Delete'), self.__deleteFile) 187 self.tr('Delete'), self.__deleteFile)
188 self.multiMenuActions.append(act) 188 self.multiMenuActions.append(act)
189 self.multiMenu.addSeparator() 189 self.multiMenu.addSeparator()
190 self.multiMenu.addAction( 190 self.multiMenu.addAction(
191 self.trUtf8('Expand all directories'), self._expandAllDirs) 191 self.tr('Expand all directories'), self._expandAllDirs)
192 self.multiMenu.addAction( 192 self.multiMenu.addAction(
193 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 193 self.tr('Collapse all directories'), self._collapseAllDirs)
194 self.multiMenu.addSeparator() 194 self.multiMenu.addSeparator()
195 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) 195 self.multiMenu.addAction(self.tr('Configure...'), self._configure)
196 self.multiMenu.addAction( 196 self.multiMenu.addAction(
197 self.trUtf8('Configure CORBA...'), self.__configureCorba) 197 self.tr('Configure CORBA...'), self.__configureCorba)
198 198
199 self.dirMenu = QMenu(self) 199 self.dirMenu = QMenu(self)
200 if self.omniidl is not None: 200 if self.omniidl is not None:
201 self.dirMenu.addAction( 201 self.dirMenu.addAction(
202 self.trUtf8('Compile all interfaces'), 202 self.tr('Compile all interfaces'),
203 self.__compileAllInterfaces) 203 self.__compileAllInterfaces)
204 self.dirMenu.addSeparator() 204 self.dirMenu.addSeparator()
205 act = self.dirMenu.addAction( 205 act = self.dirMenu.addAction(
206 self.trUtf8('Remove from project'), self._removeFile) 206 self.tr('Remove from project'), self._removeFile)
207 self.dirMenuActions.append(act) 207 self.dirMenuActions.append(act)
208 act = self.dirMenu.addAction( 208 act = self.dirMenu.addAction(
209 self.trUtf8('Delete'), self._deleteDirectory) 209 self.tr('Delete'), self._deleteDirectory)
210 self.dirMenuActions.append(act) 210 self.dirMenuActions.append(act)
211 self.dirMenu.addSeparator() 211 self.dirMenu.addSeparator()
212 self.dirMenu.addAction( 212 self.dirMenu.addAction(
213 self.trUtf8('Add interfaces...'), self.__addInterfaceFiles) 213 self.tr('Add interfaces...'), self.__addInterfaceFiles)
214 self.dirMenu.addAction( 214 self.dirMenu.addAction(
215 self.trUtf8('Add interfaces directory...'), 215 self.tr('Add interfaces directory...'),
216 self.__addInterfacesDirectory) 216 self.__addInterfacesDirectory)
217 self.dirMenu.addSeparator() 217 self.dirMenu.addSeparator()
218 self.dirMenu.addAction( 218 self.dirMenu.addAction(
219 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard) 219 self.tr('Copy Path to Clipboard'), self._copyToClipboard)
220 self.dirMenu.addSeparator() 220 self.dirMenu.addSeparator()
221 self.dirMenu.addAction( 221 self.dirMenu.addAction(
222 self.trUtf8('Expand all directories'), self._expandAllDirs) 222 self.tr('Expand all directories'), self._expandAllDirs)
223 self.dirMenu.addAction( 223 self.dirMenu.addAction(
224 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 224 self.tr('Collapse all directories'), self._collapseAllDirs)
225 self.dirMenu.addSeparator() 225 self.dirMenu.addSeparator()
226 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) 226 self.dirMenu.addAction(self.tr('Configure...'), self._configure)
227 self.dirMenu.addAction( 227 self.dirMenu.addAction(
228 self.trUtf8('Configure CORBA...'), self.__configureCorba) 228 self.tr('Configure CORBA...'), self.__configureCorba)
229 229
230 self.dirMultiMenu = QMenu(self) 230 self.dirMultiMenu = QMenu(self)
231 if self.omniidl is not None: 231 if self.omniidl is not None:
232 self.dirMultiMenu.addAction( 232 self.dirMultiMenu.addAction(
233 self.trUtf8('Compile all interfaces'), 233 self.tr('Compile all interfaces'),
234 self.__compileAllInterfaces) 234 self.__compileAllInterfaces)
235 self.dirMultiMenu.addSeparator() 235 self.dirMultiMenu.addSeparator()
236 self.dirMultiMenu.addAction( 236 self.dirMultiMenu.addAction(
237 self.trUtf8('Add interfaces...'), self.project.addIdlFiles) 237 self.tr('Add interfaces...'), self.project.addIdlFiles)
238 self.dirMultiMenu.addAction( 238 self.dirMultiMenu.addAction(
239 self.trUtf8('Add interfaces directory...'), self.project.addIdlDir) 239 self.tr('Add interfaces directory...'), self.project.addIdlDir)
240 self.dirMultiMenu.addSeparator() 240 self.dirMultiMenu.addSeparator()
241 self.dirMultiMenu.addAction( 241 self.dirMultiMenu.addAction(
242 self.trUtf8('Expand all directories'), self._expandAllDirs) 242 self.tr('Expand all directories'), self._expandAllDirs)
243 self.dirMultiMenu.addAction( 243 self.dirMultiMenu.addAction(
244 self.trUtf8('Collapse all directories'), self._collapseAllDirs) 244 self.tr('Collapse all directories'), self._collapseAllDirs)
245 self.dirMultiMenu.addSeparator() 245 self.dirMultiMenu.addSeparator()
246 self.dirMultiMenu.addAction( 246 self.dirMultiMenu.addAction(
247 self.trUtf8('Configure...'), self._configure) 247 self.tr('Configure...'), self._configure)
248 self.dirMultiMenu.addAction(self.trUtf8('Configure CORBA...'), 248 self.dirMultiMenu.addAction(self.tr('Configure CORBA...'),
249 self.__configureCorba) 249 self.__configureCorba)
250 250
251 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) 251 self.sourceMenu.aboutToShow.connect(self.__showContextMenu)
252 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) 252 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti)
253 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) 253 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir)
416 416
417 from UI.DeleteFilesConfirmationDialog import \ 417 from UI.DeleteFilesConfirmationDialog import \
418 DeleteFilesConfirmationDialog 418 DeleteFilesConfirmationDialog
419 dlg = DeleteFilesConfirmationDialog( 419 dlg = DeleteFilesConfirmationDialog(
420 self.parent(), 420 self.parent(),
421 self.trUtf8("Delete interfaces"), 421 self.tr("Delete interfaces"),
422 self.trUtf8("Do you really want to delete these interfaces from" 422 self.tr("Do you really want to delete these interfaces from"
423 " the project?"), 423 " the project?"),
424 files) 424 files)
425 425
426 if dlg.exec_() == QDialog.Accepted: 426 if dlg.exec_() == QDialog.Accepted:
427 for fn2, fn in zip(fullNames, files): 427 for fn2, fn in zip(fullNames, files):
428 self.closeSourceWindow.emit(fn2) 428 self.closeSourceWindow.emit(fn2)
485 for file in fileList: 485 for file in fileList:
486 self.project.appendFile(file) 486 self.project.appendFile(file)
487 if not self.noDialog and not ui.notificationsEnabled(): 487 if not self.noDialog and not ui.notificationsEnabled():
488 E5MessageBox.information( 488 E5MessageBox.information(
489 self, 489 self,
490 self.trUtf8("Interface Compilation"), 490 self.tr("Interface Compilation"),
491 self.trUtf8( 491 self.tr(
492 "The compilation of the interface file was" 492 "The compilation of the interface file was"
493 " successful.")) 493 " successful."))
494 else: 494 else:
495 ui.showNotification( 495 ui.showNotification(
496 UI.PixmapCache.getPixmap("corba48.png"), 496 UI.PixmapCache.getPixmap("corba48.png"),
497 self.trUtf8("Interface Compilation"), 497 self.tr("Interface Compilation"),
498 self.trUtf8( 498 self.tr(
499 "The compilation of the interface file was" 499 "The compilation of the interface file was"
500 " successful.")) 500 " successful."))
501 else: 501 else:
502 if not self.noDialog: 502 if not self.noDialog:
503 E5MessageBox.information( 503 E5MessageBox.information(
504 self, 504 self,
505 self.trUtf8("Interface Compilation"), 505 self.tr("Interface Compilation"),
506 self.trUtf8( 506 self.tr(
507 "The compilation of the interface file failed.")) 507 "The compilation of the interface file failed."))
508 else: 508 else:
509 ui.showNotification( 509 ui.showNotification(
510 UI.PixmapCache.getPixmap("corba48.png"), 510 UI.PixmapCache.getPixmap("corba48.png"),
511 self.trUtf8("Interface Compilation"), 511 self.tr("Interface Compilation"),
512 self.trUtf8( 512 self.tr(
513 "The compilation of the interface file failed.")) 513 "The compilation of the interface file failed."))
514 self.compileProc = None 514 self.compileProc = None
515 515
516 def __compileIDL(self, fn, noDialog=False, progress=None): 516 def __compileIDL(self, fn, noDialog=False, progress=None):
517 """ 517 """
547 self.compileRunning = False 547 self.compileRunning = False
548 if progress is not None: 548 if progress is not None:
549 progress.cancel() 549 progress.cancel()
550 E5MessageBox.critical( 550 E5MessageBox.critical(
551 self, 551 self,
552 self.trUtf8('Process Generation Error'), 552 self.tr('Process Generation Error'),
553 self.trUtf8( 553 self.tr(
554 '<p>Could not start {0}.<br>' 554 '<p>Could not start {0}.<br>'
555 'Ensure that it is in the search path.</p>' 555 'Ensure that it is in the search path.</p>'
556 ).format(self.omniidl)) 556 ).format(self.omniidl))
557 return None 557 return None
558 558
571 Private method to compile all interfaces to python. 571 Private method to compile all interfaces to python.
572 """ 572 """
573 if self.omniidl is not None: 573 if self.omniidl is not None:
574 numIDLs = len(self.project.pdata["INTERFACES"]) 574 numIDLs = len(self.project.pdata["INTERFACES"])
575 progress = E5ProgressDialog( 575 progress = E5ProgressDialog(
576 self.trUtf8("Compiling interfaces..."), 576 self.tr("Compiling interfaces..."),
577 self.trUtf8("Abort"), 0, numIDLs, 577 self.tr("Abort"), 0, numIDLs,
578 self.trUtf8("%v/%m Interfaces"), self) 578 self.tr("%v/%m Interfaces"), self)
579 progress.setModal(True) 579 progress.setModal(True)
580 progress.setMinimumDuration(0) 580 progress.setMinimumDuration(0)
581 i = 0 581 i = 0
582 582
583 for fn in self.project.pdata["INTERFACES"]: 583 for fn in self.project.pdata["INTERFACES"]:
605 605
606 files = [self.project.getRelativePath(itm.fileName()) 606 files = [self.project.getRelativePath(itm.fileName())
607 for itm in items] 607 for itm in items]
608 numIDLs = len(files) 608 numIDLs = len(files)
609 progress = E5ProgressDialog( 609 progress = E5ProgressDialog(
610 self.trUtf8("Compiling interfaces..."), 610 self.tr("Compiling interfaces..."),
611 self.trUtf8("Abort"), 0, numIDLs, 611 self.tr("Abort"), 0, numIDLs,
612 self.trUtf8("%v/%m Interfaces"), self) 612 self.tr("%v/%m Interfaces"), self)
613 progress.setModal(True) 613 progress.setModal(True)
614 progress.setMinimumDuration(0) 614 progress.setMinimumDuration(0)
615 i = 0 615 i = 0
616 616
617 for fn in files: 617 for fn in files:

eric ide

mercurial