86 self.classDiagram and self.classDiagram.close() |
95 self.classDiagram and self.classDiagram.close() |
87 self.importsDiagram and self.importsDiagram.close() |
96 self.importsDiagram and self.importsDiagram.close() |
88 self.packageDiagram and self.packageDiagram.close() |
97 self.packageDiagram and self.packageDiagram.close() |
89 self.applicationDiagram and self.applicationDiagram.close() |
98 self.applicationDiagram and self.applicationDiagram.close() |
90 self.loadedDiagram and self.loadedDiagram.close() |
99 self.loadedDiagram and self.loadedDiagram.close() |
91 |
100 |
92 def _projectClosed(self): |
101 def _projectClosed(self): |
93 """ |
102 """ |
94 Protected slot to handle the projectClosed signal. |
103 Protected slot to handle the projectClosed signal. |
95 """ |
104 """ |
96 self.__closeAllWindows() |
105 self.__closeAllWindows() |
97 ProjectBaseBrowser._projectClosed(self) |
106 ProjectBaseBrowser._projectClosed(self) |
98 |
107 |
99 def _createPopupMenus(self): |
108 def _createPopupMenus(self): |
100 """ |
109 """ |
101 Protected overloaded method to generate the popup menu. |
110 Protected overloaded method to generate the popup menu. |
102 """ |
111 """ |
103 ProjectBaseBrowser._createPopupMenus(self) |
112 ProjectBaseBrowser._createPopupMenus(self) |
104 self.sourceMenuActions = {} |
113 self.sourceMenuActions = {} |
105 |
114 |
106 if self.project.isPythonProject(): |
115 if self.project.isPythonProject(): |
107 self.__createPythonPopupMenus() |
116 self.__createPythonPopupMenus() |
108 elif self.project.isRubyProject(): |
117 elif self.project.isRubyProject(): |
109 self.__createRubyPopupMenus() |
118 self.__createRubyPopupMenus() |
110 elif self.project.isJavaScriptProject(): |
119 elif self.project.isJavaScriptProject(): |
111 self.__createJavaScriptPopupMenus() |
120 self.__createJavaScriptPopupMenus() |
112 else: |
121 else: |
113 # assign generic source menu |
122 # assign generic source menu |
114 self.mainMenu = self.sourceMenu |
123 self.mainMenu = self.sourceMenu |
115 |
124 |
116 def __createPythonPopupMenus(self): |
125 def __createPythonPopupMenus(self): |
117 """ |
126 """ |
118 Private method to generate the popup menus for a Python project. |
127 Private method to generate the popup menus for a Python project. |
119 """ |
128 """ |
120 self.checksMenu = QMenu(self.tr('Check')) |
129 self.checksMenu = QMenu(self.tr("Check")) |
121 self.checksMenu.aboutToShow.connect(self.__showContextMenuCheck) |
130 self.checksMenu.aboutToShow.connect(self.__showContextMenuCheck) |
122 |
131 |
123 self.formattingMenu = QMenu(self.tr("Code Formatting")) |
132 self.formattingMenu = QMenu(self.tr("Code Formatting")) |
124 self.formattingMenu.addAction( |
133 self.formattingMenu.addAction( |
125 self.tr("Format Code"), |
134 self.tr("Format Code"), |
126 lambda: self.__performFormatWithBlack(BlackFormattingAction.Format) |
135 lambda: self.__performFormatWithBlack(BlackFormattingAction.Format), |
127 ) |
136 ) |
128 self.formattingMenu.addAction( |
137 self.formattingMenu.addAction( |
129 self.tr("Check Formatting"), |
138 self.tr("Check Formatting"), |
130 lambda: self.__performFormatWithBlack(BlackFormattingAction.Check) |
139 lambda: self.__performFormatWithBlack(BlackFormattingAction.Check), |
131 ) |
140 ) |
132 self.formattingMenu.addAction( |
141 self.formattingMenu.addAction( |
133 self.tr("Formatting Diff"), |
142 self.tr("Formatting Diff"), |
134 lambda: self.__performFormatWithBlack(BlackFormattingAction.Diff) |
143 lambda: self.__performFormatWithBlack(BlackFormattingAction.Diff), |
135 ) |
144 ) |
136 self.formattingMenu.aboutToShow.connect(self.__showContextMenuFormatting) |
145 self.formattingMenu.aboutToShow.connect(self.__showContextMenuFormatting) |
137 |
146 |
138 self.menuShow = QMenu(self.tr('Show')) |
147 self.menuShow = QMenu(self.tr("Show")) |
139 self.menuShow.addAction( |
148 self.menuShow.addAction(self.tr("Code metrics..."), self.__showCodeMetrics) |
140 self.tr('Code metrics...'), self.__showCodeMetrics) |
|
141 self.coverageMenuAction = self.menuShow.addAction( |
149 self.coverageMenuAction = self.menuShow.addAction( |
142 self.tr('Code coverage...'), self.__showCodeCoverage) |
150 self.tr("Code coverage..."), self.__showCodeCoverage |
|
151 ) |
143 self.profileMenuAction = self.menuShow.addAction( |
152 self.profileMenuAction = self.menuShow.addAction( |
144 self.tr('Profile data...'), self.__showProfileData) |
153 self.tr("Profile data..."), self.__showProfileData |
|
154 ) |
145 self.menuShow.aboutToShow.connect(self.__showContextMenuShow) |
155 self.menuShow.aboutToShow.connect(self.__showContextMenuShow) |
146 |
156 |
147 self.graphicsMenu = QMenu(self.tr('Diagrams')) |
157 self.graphicsMenu = QMenu(self.tr("Diagrams")) |
148 self.classDiagramAction = self.graphicsMenu.addAction( |
158 self.classDiagramAction = self.graphicsMenu.addAction( |
149 self.tr("Class Diagram..."), self.__showClassDiagram) |
159 self.tr("Class Diagram..."), self.__showClassDiagram |
|
160 ) |
150 self.graphicsMenu.addAction( |
161 self.graphicsMenu.addAction( |
151 self.tr("Package Diagram..."), self.__showPackageDiagram) |
162 self.tr("Package Diagram..."), self.__showPackageDiagram |
|
163 ) |
152 self.importsDiagramAction = self.graphicsMenu.addAction( |
164 self.importsDiagramAction = self.graphicsMenu.addAction( |
153 self.tr("Imports Diagram..."), self.__showImportsDiagram) |
165 self.tr("Imports Diagram..."), self.__showImportsDiagram |
|
166 ) |
154 self.graphicsMenu.addAction( |
167 self.graphicsMenu.addAction( |
155 self.tr("Application Diagram..."), |
168 self.tr("Application Diagram..."), self.__showApplicationDiagram |
156 self.__showApplicationDiagram) |
169 ) |
157 self.graphicsMenu.addSeparator() |
170 self.graphicsMenu.addSeparator() |
158 self.graphicsMenu.addAction( |
171 self.graphicsMenu.addAction( |
159 UI.PixmapCache.getIcon("open"), |
172 UI.PixmapCache.getIcon("open"), |
160 self.tr("Load Diagram..."), self.__loadDiagram) |
173 self.tr("Load Diagram..."), |
|
174 self.__loadDiagram, |
|
175 ) |
161 self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics) |
176 self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics) |
162 |
177 |
163 self.__startMenu = QMenu(self.tr("Start"), self) |
178 self.__startMenu = QMenu(self.tr("Start"), self) |
164 self.__startMenu.addAction( |
179 self.__startMenu.addAction( |
165 UI.PixmapCache.getIcon("runScript"), |
180 UI.PixmapCache.getIcon("runScript"), |
166 self.tr('Run Script...'), |
181 self.tr("Run Script..."), |
167 self.__contextMenuRunScript) |
182 self.__contextMenuRunScript, |
|
183 ) |
168 self.__startMenu.addAction( |
184 self.__startMenu.addAction( |
169 UI.PixmapCache.getIcon("debugScript"), |
185 UI.PixmapCache.getIcon("debugScript"), |
170 self.tr('Debug Script...'), |
186 self.tr("Debug Script..."), |
171 self.__contextMenuDebugScript) |
187 self.__contextMenuDebugScript, |
|
188 ) |
172 self.__startMenu.addAction( |
189 self.__startMenu.addAction( |
173 UI.PixmapCache.getIcon("profileScript"), |
190 UI.PixmapCache.getIcon("profileScript"), |
174 self.tr('Profile Script...'), |
191 self.tr("Profile Script..."), |
175 self.__contextMenuProfileScript) |
192 self.__contextMenuProfileScript, |
|
193 ) |
176 self.__startMenu.addAction( |
194 self.__startMenu.addAction( |
177 UI.PixmapCache.getIcon("coverageScript"), |
195 UI.PixmapCache.getIcon("coverageScript"), |
178 self.tr('Coverage run of Script...'), |
196 self.tr("Coverage run of Script..."), |
179 self.__contextMenuCoverageScript) |
197 self.__contextMenuCoverageScript, |
180 |
198 ) |
|
199 |
181 self.testingAction = self.sourceMenu.addAction( |
200 self.testingAction = self.sourceMenu.addAction( |
182 self.tr('Run tests...'), self.handleTesting) |
201 self.tr("Run tests..."), self.handleTesting |
183 self.sourceMenu.addSeparator() |
202 ) |
184 act = self.sourceMenu.addAction( |
203 self.sourceMenu.addSeparator() |
185 self.tr('Rename file'), self._renameFile) |
204 act = self.sourceMenu.addAction(self.tr("Rename file"), self._renameFile) |
186 self.menuActions.append(act) |
205 self.menuActions.append(act) |
187 act = self.sourceMenu.addAction( |
206 act = self.sourceMenu.addAction( |
188 self.tr('Remove from project'), self._removeFile) |
207 self.tr("Remove from project"), self._removeFile |
|
208 ) |
189 self.menuActions.append(act) |
209 self.menuActions.append(act) |
190 act = self.sourceMenu.addAction( |
210 act = self.sourceMenu.addAction(self.tr("Delete"), self.__deleteFile) |
191 self.tr('Delete'), self.__deleteFile) |
|
192 self.menuActions.append(act) |
211 self.menuActions.append(act) |
193 self.sourceMenu.addSeparator() |
212 self.sourceMenu.addSeparator() |
|
213 self.sourceMenu.addAction(self.tr("New package..."), self.__addNewPackage) |
|
214 self.sourceMenu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
194 self.sourceMenu.addAction( |
215 self.sourceMenu.addAction( |
195 self.tr('New package...'), self.__addNewPackage) |
216 self.tr("Add source directory..."), self.__addSourceDirectory |
196 self.sourceMenu.addAction( |
217 ) |
197 self.tr('Add source files...'), self.__addSourceFiles) |
|
198 self.sourceMenu.addAction( |
|
199 self.tr('Add source directory...'), self.__addSourceDirectory) |
|
200 self.sourceMenu.addSeparator() |
218 self.sourceMenu.addSeparator() |
201 self.sourceMenu.addMenu(self.graphicsMenu) |
219 self.sourceMenu.addMenu(self.graphicsMenu) |
202 self.sourceMenu.addMenu(self.checksMenu) |
220 self.sourceMenu.addMenu(self.checksMenu) |
203 self.sourceMenu.addMenu(self.formattingMenu) |
221 self.sourceMenu.addMenu(self.formattingMenu) |
204 self.sourceMenuActions["Show"] = self.sourceMenu.addMenu(self.menuShow) |
222 self.sourceMenuActions["Show"] = self.sourceMenu.addMenu(self.menuShow) |
205 self.sourceMenu.addSeparator() |
223 self.sourceMenu.addSeparator() |
206 self.__startAct = self.sourceMenu.addMenu(self.__startMenu) |
224 self.__startAct = self.sourceMenu.addMenu(self.__startMenu) |
207 self.sourceMenu.addSeparator() |
225 self.sourceMenu.addSeparator() |
208 self.sourceMenu.addAction( |
226 self.sourceMenu.addAction( |
209 self.tr('Copy Path to Clipboard'), self._copyToClipboard) |
227 self.tr("Copy Path to Clipboard"), self._copyToClipboard |
|
228 ) |
210 self.sourceMenu.addSeparator() |
229 self.sourceMenu.addSeparator() |
211 self.sourceMenu.addAction( |
230 self.sourceMenu.addAction( |
212 self.tr('Expand all directories'), self._expandAllDirs) |
231 self.tr("Expand all directories"), self._expandAllDirs |
|
232 ) |
213 self.sourceMenu.addAction( |
233 self.sourceMenu.addAction( |
214 self.tr('Collapse all directories'), self._collapseAllDirs) |
234 self.tr("Collapse all directories"), self._collapseAllDirs |
215 self.sourceMenu.addSeparator() |
235 ) |
216 self.sourceMenu.addAction(self.tr('Configure...'), self._configure) |
236 self.sourceMenu.addSeparator() |
|
237 self.sourceMenu.addAction(self.tr("Configure..."), self._configure) |
217 |
238 |
218 self.menu.addSeparator() |
239 self.menu.addSeparator() |
|
240 self.menu.addAction(self.tr("New package..."), self.__addNewPackage) |
|
241 self.menu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
219 self.menu.addAction( |
242 self.menu.addAction( |
220 self.tr('New package...'), self.__addNewPackage) |
243 self.tr("Add source directory..."), self.__addSourceDirectory |
221 self.menu.addAction( |
244 ) |
222 self.tr('Add source files...'), self.__addSourceFiles) |
|
223 self.menu.addAction( |
|
224 self.tr('Add source directory...'), self.__addSourceDirectory) |
|
225 self.menu.addSeparator() |
245 self.menu.addSeparator() |
226 self.menu.addAction( |
246 self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
227 self.tr('Expand all directories'), self._expandAllDirs) |
247 self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs) |
228 self.menu.addAction( |
|
229 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
230 self.menu.addSeparator() |
248 self.menu.addSeparator() |
231 self.menu.addAction(self.tr('Configure...'), self._configure) |
249 self.menu.addAction(self.tr("Configure..."), self._configure) |
232 |
250 |
233 # create the attribute menu |
251 # create the attribute menu |
234 self.gotoMenu = QMenu(self.tr("Goto"), self) |
252 self.gotoMenu = QMenu(self.tr("Goto"), self) |
235 self.gotoMenu.aboutToShow.connect(self._showGotoMenu) |
253 self.gotoMenu.aboutToShow.connect(self._showGotoMenu) |
236 self.gotoMenu.triggered.connect(self._gotoAttribute) |
254 self.gotoMenu.triggered.connect(self._gotoAttribute) |
237 |
255 |
238 self.attributeMenu = QMenu(self) |
256 self.attributeMenu = QMenu(self) |
239 self.attributeMenu.addMenu(self.gotoMenu) |
257 self.attributeMenu.addMenu(self.gotoMenu) |
240 self.attributeMenu.addSeparator() |
258 self.attributeMenu.addSeparator() |
|
259 self.attributeMenu.addAction(self.tr("New package..."), self.__addNewPackage) |
241 self.attributeMenu.addAction( |
260 self.attributeMenu.addAction( |
242 self.tr('New package...'), self.__addNewPackage) |
261 self.tr("Add source files..."), self.project.addSourceFiles |
|
262 ) |
243 self.attributeMenu.addAction( |
263 self.attributeMenu.addAction( |
244 self.tr('Add source files...'), self.project.addSourceFiles) |
264 self.tr("Add source directory..."), self.project.addSourceDir |
245 self.attributeMenu.addAction( |
265 ) |
246 self.tr('Add source directory...'), self.project.addSourceDir) |
|
247 self.attributeMenu.addSeparator() |
266 self.attributeMenu.addSeparator() |
248 self.attributeMenu.addAction( |
267 self.attributeMenu.addAction( |
249 self.tr('Expand all directories'), self._expandAllDirs) |
268 self.tr("Expand all directories"), self._expandAllDirs |
|
269 ) |
250 self.attributeMenu.addAction( |
270 self.attributeMenu.addAction( |
251 self.tr('Collapse all directories'), self._collapseAllDirs) |
271 self.tr("Collapse all directories"), self._collapseAllDirs |
|
272 ) |
252 self.attributeMenu.addSeparator() |
273 self.attributeMenu.addSeparator() |
253 self.attributeMenu.addAction( |
274 self.attributeMenu.addAction(self.tr("Configure..."), self._configure) |
254 self.tr('Configure...'), self._configure) |
275 |
255 |
|
256 self.backMenu = QMenu(self) |
276 self.backMenu = QMenu(self) |
|
277 self.backMenu.addAction(self.tr("New package..."), self.__addNewPackage) |
257 self.backMenu.addAction( |
278 self.backMenu.addAction( |
258 self.tr('New package...'), self.__addNewPackage) |
279 self.tr("Add source files..."), self.project.addSourceFiles |
|
280 ) |
259 self.backMenu.addAction( |
281 self.backMenu.addAction( |
260 self.tr('Add source files...'), self.project.addSourceFiles) |
282 self.tr("Add source directory..."), self.project.addSourceDir |
|
283 ) |
|
284 self.backMenu.addSeparator() |
|
285 self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
261 self.backMenu.addAction( |
286 self.backMenu.addAction( |
262 self.tr('Add source directory...'), self.project.addSourceDir) |
287 self.tr("Collapse all directories"), self._collapseAllDirs |
|
288 ) |
263 self.backMenu.addSeparator() |
289 self.backMenu.addSeparator() |
264 self.backMenu.addAction( |
290 self.backMenu.addAction(self.tr("Configure..."), self._configure) |
265 self.tr('Expand all directories'), self._expandAllDirs) |
|
266 self.backMenu.addAction( |
|
267 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
268 self.backMenu.addSeparator() |
|
269 self.backMenu.addAction(self.tr('Configure...'), self._configure) |
|
270 self.backMenu.setEnabled(False) |
291 self.backMenu.setEnabled(False) |
271 |
292 |
272 self.multiMenu.addSeparator() |
293 self.multiMenu.addSeparator() |
273 act = self.multiMenu.addAction( |
294 act = self.multiMenu.addAction(self.tr("Remove from project"), self._removeFile) |
274 self.tr('Remove from project'), self._removeFile) |
|
275 self.multiMenuActions.append(act) |
295 self.multiMenuActions.append(act) |
276 act = self.multiMenu.addAction( |
296 act = self.multiMenu.addAction(self.tr("Delete"), self.__deleteFile) |
277 self.tr('Delete'), self.__deleteFile) |
|
278 self.multiMenuActions.append(act) |
297 self.multiMenuActions.append(act) |
279 self.multiMenu.addSeparator() |
298 self.multiMenu.addSeparator() |
280 self.multiMenu.addMenu(self.checksMenu) |
299 self.multiMenu.addMenu(self.checksMenu) |
281 self.multiMenu.addMenu(self.formattingMenu) |
300 self.multiMenu.addMenu(self.formattingMenu) |
282 self.multiMenu.addSeparator() |
301 self.multiMenu.addSeparator() |
|
302 self.multiMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
283 self.multiMenu.addAction( |
303 self.multiMenu.addAction( |
284 self.tr('Expand all directories'), self._expandAllDirs) |
304 self.tr("Collapse all directories"), self._collapseAllDirs |
285 self.multiMenu.addAction( |
305 ) |
286 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
287 self.multiMenu.addSeparator() |
306 self.multiMenu.addSeparator() |
288 self.multiMenu.addAction(self.tr('Configure...'), self._configure) |
307 self.multiMenu.addAction(self.tr("Configure..."), self._configure) |
289 |
308 |
290 self.dirMenu = QMenu(self) |
309 self.dirMenu = QMenu(self) |
291 act = self.dirMenu.addAction( |
310 act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeDir) |
292 self.tr('Remove from project'), self._removeDir) |
|
293 self.dirMenuActions.append(act) |
311 self.dirMenuActions.append(act) |
294 act = self.dirMenu.addAction( |
312 act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory) |
295 self.tr('Delete'), self._deleteDirectory) |
|
296 self.dirMenuActions.append(act) |
313 self.dirMenuActions.append(act) |
297 self.dirMenu.addSeparator() |
314 self.dirMenu.addSeparator() |
|
315 self.dirMenu.addAction(self.tr("New package..."), self.__addNewPackage) |
|
316 self.dirMenu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
298 self.dirMenu.addAction( |
317 self.dirMenu.addAction( |
299 self.tr('New package...'), self.__addNewPackage) |
318 self.tr("Add source directory..."), self.__addSourceDirectory |
300 self.dirMenu.addAction( |
319 ) |
301 self.tr('Add source files...'), self.__addSourceFiles) |
|
302 self.dirMenu.addAction( |
|
303 self.tr('Add source directory...'), self.__addSourceDirectory) |
|
304 self.dirMenu.addSeparator() |
320 self.dirMenu.addSeparator() |
305 act = self.dirMenu.addMenu(self.graphicsMenu) |
321 act = self.dirMenu.addMenu(self.graphicsMenu) |
306 self.dirMenu.addMenu(self.checksMenu) |
322 self.dirMenu.addMenu(self.checksMenu) |
307 self.dirMenu.addMenu(self.formattingMenu) |
323 self.dirMenu.addMenu(self.formattingMenu) |
308 self.dirMenu.addSeparator() |
324 self.dirMenu.addSeparator() |
|
325 self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard) |
|
326 self.dirMenu.addSeparator() |
|
327 self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
309 self.dirMenu.addAction( |
328 self.dirMenu.addAction( |
310 self.tr('Copy Path to Clipboard'), self._copyToClipboard) |
329 self.tr("Collapse all directories"), self._collapseAllDirs |
311 self.dirMenu.addSeparator() |
330 ) |
312 self.dirMenu.addAction( |
331 self.dirMenu.addSeparator() |
313 self.tr('Expand all directories'), self._expandAllDirs) |
332 self.dirMenu.addAction(self.tr("Configure..."), self._configure) |
314 self.dirMenu.addAction( |
333 |
315 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
316 self.dirMenu.addSeparator() |
|
317 self.dirMenu.addAction(self.tr('Configure...'), self._configure) |
|
318 |
|
319 self.dirMultiMenu = QMenu(self) |
334 self.dirMultiMenu = QMenu(self) |
320 self.dirMultiMenu.addAction( |
335 self.dirMultiMenu.addAction( |
321 self.tr('Expand all directories'), self._expandAllDirs) |
336 self.tr("Expand all directories"), self._expandAllDirs |
|
337 ) |
322 self.dirMultiMenu.addAction( |
338 self.dirMultiMenu.addAction( |
323 self.tr('Collapse all directories'), self._collapseAllDirs) |
339 self.tr("Collapse all directories"), self._collapseAllDirs |
|
340 ) |
324 self.dirMultiMenu.addSeparator() |
341 self.dirMultiMenu.addSeparator() |
325 self.dirMultiMenu.addAction( |
342 self.dirMultiMenu.addAction(self.tr("Configure..."), self._configure) |
326 self.tr('Configure...'), self._configure) |
343 |
327 |
|
328 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) |
344 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) |
329 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
345 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
330 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
346 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
331 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) |
347 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) |
332 self.backMenu.aboutToShow.connect(self.__showContextMenuBack) |
348 self.backMenu.aboutToShow.connect(self.__showContextMenuBack) |
333 self.mainMenu = self.sourceMenu |
349 self.mainMenu = self.sourceMenu |
334 |
350 |
335 def __createRubyPopupMenus(self): |
351 def __createRubyPopupMenus(self): |
336 """ |
352 """ |
337 Private method to generate the popup menus for a Ruby project. |
353 Private method to generate the popup menus for a Ruby project. |
338 """ |
354 """ |
339 self.graphicsMenu = QMenu(self.tr('Diagrams')) |
355 self.graphicsMenu = QMenu(self.tr("Diagrams")) |
340 self.classDiagramAction = self.graphicsMenu.addAction( |
356 self.classDiagramAction = self.graphicsMenu.addAction( |
341 self.tr("Class Diagram..."), self.__showClassDiagram) |
357 self.tr("Class Diagram..."), self.__showClassDiagram |
|
358 ) |
342 self.graphicsMenu.addAction( |
359 self.graphicsMenu.addAction( |
343 self.tr("Package Diagram..."), self.__showPackageDiagram) |
360 self.tr("Package Diagram..."), self.__showPackageDiagram |
|
361 ) |
344 self.graphicsMenu.addAction( |
362 self.graphicsMenu.addAction( |
345 self.tr("Application Diagram..."), |
363 self.tr("Application Diagram..."), self.__showApplicationDiagram |
346 self.__showApplicationDiagram) |
364 ) |
347 self.graphicsMenu.addSeparator() |
365 self.graphicsMenu.addSeparator() |
348 self.graphicsMenu.addAction( |
366 self.graphicsMenu.addAction( |
349 UI.PixmapCache.getIcon("fileOpen"), |
367 UI.PixmapCache.getIcon("fileOpen"), |
350 self.tr("Load Diagram..."), self.__loadDiagram) |
368 self.tr("Load Diagram..."), |
351 |
369 self.__loadDiagram, |
352 self.sourceMenu.addSeparator() |
370 ) |
353 act = self.sourceMenu.addAction( |
371 |
354 self.tr('Rename file'), self._renameFile) |
372 self.sourceMenu.addSeparator() |
|
373 act = self.sourceMenu.addAction(self.tr("Rename file"), self._renameFile) |
355 self.menuActions.append(act) |
374 self.menuActions.append(act) |
356 act = self.sourceMenu.addAction( |
375 act = self.sourceMenu.addAction( |
357 self.tr('Remove from project'), self._removeFile) |
376 self.tr("Remove from project"), self._removeFile |
|
377 ) |
358 self.menuActions.append(act) |
378 self.menuActions.append(act) |
359 act = self.sourceMenu.addAction( |
379 act = self.sourceMenu.addAction(self.tr("Delete"), self.__deleteFile) |
360 self.tr('Delete'), self.__deleteFile) |
|
361 self.menuActions.append(act) |
380 self.menuActions.append(act) |
362 self.sourceMenu.addSeparator() |
381 self.sourceMenu.addSeparator() |
|
382 self.sourceMenu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
363 self.sourceMenu.addAction( |
383 self.sourceMenu.addAction( |
364 self.tr('Add source files...'), self.__addSourceFiles) |
384 self.tr("Add source directory..."), self.__addSourceDirectory |
|
385 ) |
|
386 self.sourceMenu.addSeparator() |
|
387 act = self.sourceMenu.addMenu(self.graphicsMenu) |
|
388 self.sourceMenu.addSeparator() |
365 self.sourceMenu.addAction( |
389 self.sourceMenu.addAction( |
366 self.tr('Add source directory...'), self.__addSourceDirectory) |
390 self.tr("Expand all directories"), self._expandAllDirs |
367 self.sourceMenu.addSeparator() |
391 ) |
368 act = self.sourceMenu.addMenu(self.graphicsMenu) |
|
369 self.sourceMenu.addSeparator() |
|
370 self.sourceMenu.addAction( |
392 self.sourceMenu.addAction( |
371 self.tr('Expand all directories'), self._expandAllDirs) |
393 self.tr("Collapse all directories"), self._collapseAllDirs |
372 self.sourceMenu.addAction( |
394 ) |
373 self.tr('Collapse all directories'), self._collapseAllDirs) |
395 self.sourceMenu.addSeparator() |
374 self.sourceMenu.addSeparator() |
396 self.sourceMenu.addAction(self.tr("Configure..."), self._configure) |
375 self.sourceMenu.addAction(self.tr('Configure...'), self._configure) |
|
376 |
397 |
377 self.menu.addSeparator() |
398 self.menu.addSeparator() |
|
399 self.menu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
378 self.menu.addAction( |
400 self.menu.addAction( |
379 self.tr('Add source files...'), self.__addSourceFiles) |
401 self.tr("Add source directory..."), self.__addSourceDirectory |
380 self.menu.addAction( |
402 ) |
381 self.tr('Add source directory...'), self.__addSourceDirectory) |
|
382 self.menu.addSeparator() |
403 self.menu.addSeparator() |
383 self.menu.addAction( |
404 self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
384 self.tr('Expand all directories'), self._expandAllDirs) |
405 self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs) |
385 self.menu.addAction( |
|
386 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
387 self.menu.addSeparator() |
406 self.menu.addSeparator() |
388 self.menu.addAction(self.tr('Configure...'), self._configure) |
407 self.menu.addAction(self.tr("Configure..."), self._configure) |
389 |
408 |
390 # create the attribute menu |
409 # create the attribute menu |
391 self.gotoMenu = QMenu(self.tr("Goto"), self) |
410 self.gotoMenu = QMenu(self.tr("Goto"), self) |
392 self.gotoMenu.aboutToShow.connect(self._showGotoMenu) |
411 self.gotoMenu.aboutToShow.connect(self._showGotoMenu) |
393 self.gotoMenu.triggered.connect(self._gotoAttribute) |
412 self.gotoMenu.triggered.connect(self._gotoAttribute) |
394 |
413 |
395 self.attributeMenu = QMenu(self) |
414 self.attributeMenu = QMenu(self) |
396 self.attributeMenu.addMenu(self.gotoMenu) |
415 self.attributeMenu.addMenu(self.gotoMenu) |
397 self.attributeMenu.addSeparator() |
416 self.attributeMenu.addSeparator() |
398 self.attributeMenu.addAction( |
417 self.attributeMenu.addAction( |
399 self.tr('Add source files...'), self.project.addSourceFiles) |
418 self.tr("Add source files..."), self.project.addSourceFiles |
|
419 ) |
400 self.attributeMenu.addAction( |
420 self.attributeMenu.addAction( |
401 self.tr('Add source directory...'), self.project.addSourceDir) |
421 self.tr("Add source directory..."), self.project.addSourceDir |
|
422 ) |
402 self.attributeMenu.addSeparator() |
423 self.attributeMenu.addSeparator() |
403 self.attributeMenu.addAction( |
424 self.attributeMenu.addAction( |
404 self.tr('Expand all directories'), self._expandAllDirs) |
425 self.tr("Expand all directories"), self._expandAllDirs |
|
426 ) |
405 self.attributeMenu.addAction( |
427 self.attributeMenu.addAction( |
406 self.tr('Collapse all directories'), self._collapseAllDirs) |
428 self.tr("Collapse all directories"), self._collapseAllDirs |
|
429 ) |
407 self.attributeMenu.addSeparator() |
430 self.attributeMenu.addSeparator() |
408 self.attributeMenu.addAction( |
431 self.attributeMenu.addAction(self.tr("Configure..."), self._configure) |
409 self.tr('Configure...'), self._configure) |
432 |
410 |
|
411 self.backMenu = QMenu(self) |
433 self.backMenu = QMenu(self) |
412 self.backMenu.addAction( |
434 self.backMenu.addAction( |
413 self.tr('Add source files...'), self.project.addSourceFiles) |
435 self.tr("Add source files..."), self.project.addSourceFiles |
|
436 ) |
414 self.backMenu.addAction( |
437 self.backMenu.addAction( |
415 self.tr('Add source directory...'), self.project.addSourceDir) |
438 self.tr("Add source directory..."), self.project.addSourceDir |
|
439 ) |
416 self.backMenu.addSeparator() |
440 self.backMenu.addSeparator() |
|
441 self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
417 self.backMenu.addAction( |
442 self.backMenu.addAction( |
418 self.tr('Expand all directories'), self._expandAllDirs) |
443 self.tr("Collapse all directories"), self._collapseAllDirs |
419 self.backMenu.addAction( |
444 ) |
420 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
421 self.backMenu.setEnabled(False) |
445 self.backMenu.setEnabled(False) |
422 self.backMenu.addSeparator() |
446 self.backMenu.addSeparator() |
423 self.backMenu.addAction(self.tr('Configure...'), self._configure) |
447 self.backMenu.addAction(self.tr("Configure..."), self._configure) |
424 |
448 |
425 self.multiMenu.addSeparator() |
449 self.multiMenu.addSeparator() |
426 act = self.multiMenu.addAction( |
450 act = self.multiMenu.addAction(self.tr("Remove from project"), self._removeFile) |
427 self.tr('Remove from project'), self._removeFile) |
|
428 self.multiMenuActions.append(act) |
451 self.multiMenuActions.append(act) |
429 act = self.multiMenu.addAction( |
452 act = self.multiMenu.addAction(self.tr("Delete"), self.__deleteFile) |
430 self.tr('Delete'), self.__deleteFile) |
|
431 self.multiMenuActions.append(act) |
453 self.multiMenuActions.append(act) |
432 self.multiMenu.addSeparator() |
454 self.multiMenu.addSeparator() |
|
455 self.multiMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
433 self.multiMenu.addAction( |
456 self.multiMenu.addAction( |
434 self.tr('Expand all directories'), self._expandAllDirs) |
457 self.tr("Collapse all directories"), self._collapseAllDirs |
435 self.multiMenu.addAction( |
458 ) |
436 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
437 self.multiMenu.addSeparator() |
459 self.multiMenu.addSeparator() |
438 self.multiMenu.addAction(self.tr('Configure...'), self._configure) |
460 self.multiMenu.addAction(self.tr("Configure..."), self._configure) |
439 |
461 |
440 self.dirMenu = QMenu(self) |
462 self.dirMenu = QMenu(self) |
441 act = self.dirMenu.addAction( |
463 act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeDir) |
442 self.tr('Remove from project'), self._removeDir) |
|
443 self.dirMenuActions.append(act) |
464 self.dirMenuActions.append(act) |
444 self.dirMenu.addSeparator() |
465 self.dirMenu.addSeparator() |
|
466 self.dirMenu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
445 self.dirMenu.addAction( |
467 self.dirMenu.addAction( |
446 self.tr('Add source files...'), self.__addSourceFiles) |
468 self.tr("Add source directory..."), self.__addSourceDirectory |
|
469 ) |
|
470 self.dirMenu.addSeparator() |
|
471 act = self.dirMenu.addMenu(self.graphicsMenu) |
|
472 self.dirMenu.addSeparator() |
|
473 self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
447 self.dirMenu.addAction( |
474 self.dirMenu.addAction( |
448 self.tr('Add source directory...'), self.__addSourceDirectory) |
475 self.tr("Collapse all directories"), self._collapseAllDirs |
449 self.dirMenu.addSeparator() |
476 ) |
450 act = self.dirMenu.addMenu(self.graphicsMenu) |
477 self.dirMenu.addSeparator() |
451 self.dirMenu.addSeparator() |
478 self.dirMenu.addAction(self.tr("Configure..."), self._configure) |
452 self.dirMenu.addAction( |
479 |
453 self.tr('Expand all directories'), self._expandAllDirs) |
|
454 self.dirMenu.addAction( |
|
455 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
456 self.dirMenu.addSeparator() |
|
457 self.dirMenu.addAction(self.tr('Configure...'), self._configure) |
|
458 |
|
459 self.dirMultiMenu = QMenu(self) |
480 self.dirMultiMenu = QMenu(self) |
460 self.dirMultiMenu.addAction( |
481 self.dirMultiMenu.addAction( |
461 self.tr('Expand all directories'), self._expandAllDirs) |
482 self.tr("Expand all directories"), self._expandAllDirs |
|
483 ) |
462 self.dirMultiMenu.addAction( |
484 self.dirMultiMenu.addAction( |
463 self.tr('Collapse all directories'), self._collapseAllDirs) |
485 self.tr("Collapse all directories"), self._collapseAllDirs |
|
486 ) |
464 self.dirMultiMenu.addSeparator() |
487 self.dirMultiMenu.addSeparator() |
465 self.dirMultiMenu.addAction( |
488 self.dirMultiMenu.addAction(self.tr("Configure..."), self._configure) |
466 self.tr('Configure...'), self._configure) |
489 |
467 |
|
468 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) |
490 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) |
469 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
491 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
470 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
492 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
471 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) |
493 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) |
472 self.backMenu.aboutToShow.connect(self.__showContextMenuBack) |
494 self.backMenu.aboutToShow.connect(self.__showContextMenuBack) |
473 self.mainMenu = self.sourceMenu |
495 self.mainMenu = self.sourceMenu |
474 |
496 |
475 def __createJavaScriptPopupMenus(self): |
497 def __createJavaScriptPopupMenus(self): |
476 """ |
498 """ |
477 Private method to generate the popup menus for a Python project. |
499 Private method to generate the popup menus for a Python project. |
478 """ |
500 """ |
479 self.checksMenu = QMenu(self.tr('Check')) |
501 self.checksMenu = QMenu(self.tr("Check")) |
480 self.checksMenu.aboutToShow.connect(self.__showContextMenuCheck) |
502 self.checksMenu.aboutToShow.connect(self.__showContextMenuCheck) |
481 |
503 |
482 self.sourceMenu.addSeparator() |
504 self.sourceMenu.addSeparator() |
483 act = self.sourceMenu.addAction( |
505 act = self.sourceMenu.addAction(self.tr("Rename file"), self._renameFile) |
484 self.tr('Rename file'), self._renameFile) |
|
485 self.menuActions.append(act) |
506 self.menuActions.append(act) |
486 act = self.sourceMenu.addAction( |
507 act = self.sourceMenu.addAction( |
487 self.tr('Remove from project'), self._removeFile) |
508 self.tr("Remove from project"), self._removeFile |
|
509 ) |
488 self.menuActions.append(act) |
510 self.menuActions.append(act) |
489 act = self.sourceMenu.addAction( |
511 act = self.sourceMenu.addAction(self.tr("Delete"), self.__deleteFile) |
490 self.tr('Delete'), self.__deleteFile) |
|
491 self.menuActions.append(act) |
512 self.menuActions.append(act) |
492 self.sourceMenu.addSeparator() |
513 self.sourceMenu.addSeparator() |
|
514 self.sourceMenu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
493 self.sourceMenu.addAction( |
515 self.sourceMenu.addAction( |
494 self.tr('Add source files...'), self.__addSourceFiles) |
516 self.tr("Add source directory..."), self.__addSourceDirectory |
|
517 ) |
|
518 self.sourceMenu.addSeparator() |
|
519 self.sourceMenu.addMenu(self.checksMenu) |
|
520 self.sourceMenu.addSeparator() |
495 self.sourceMenu.addAction( |
521 self.sourceMenu.addAction( |
496 self.tr('Add source directory...'), self.__addSourceDirectory) |
522 self.tr("Copy Path to Clipboard"), self._copyToClipboard |
497 self.sourceMenu.addSeparator() |
523 ) |
498 self.sourceMenu.addMenu(self.checksMenu) |
|
499 self.sourceMenu.addSeparator() |
524 self.sourceMenu.addSeparator() |
500 self.sourceMenu.addAction( |
525 self.sourceMenu.addAction( |
501 self.tr('Copy Path to Clipboard'), self._copyToClipboard) |
526 self.tr("Expand all directories"), self._expandAllDirs |
502 self.sourceMenu.addSeparator() |
527 ) |
503 self.sourceMenu.addAction( |
528 self.sourceMenu.addAction( |
504 self.tr('Expand all directories'), self._expandAllDirs) |
529 self.tr("Collapse all directories"), self._collapseAllDirs |
505 self.sourceMenu.addAction( |
530 ) |
506 self.tr('Collapse all directories'), self._collapseAllDirs) |
531 self.sourceMenu.addSeparator() |
507 self.sourceMenu.addSeparator() |
532 self.sourceMenu.addAction(self.tr("Configure..."), self._configure) |
508 self.sourceMenu.addAction(self.tr('Configure...'), self._configure) |
|
509 |
533 |
510 self.menu.addSeparator() |
534 self.menu.addSeparator() |
|
535 self.menu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
511 self.menu.addAction( |
536 self.menu.addAction( |
512 self.tr('Add source files...'), self.__addSourceFiles) |
537 self.tr("Add source directory..."), self.__addSourceDirectory |
513 self.menu.addAction( |
538 ) |
514 self.tr('Add source directory...'), self.__addSourceDirectory) |
|
515 self.menu.addSeparator() |
539 self.menu.addSeparator() |
516 self.menu.addAction( |
540 self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
517 self.tr('Expand all directories'), self._expandAllDirs) |
541 self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs) |
518 self.menu.addAction( |
|
519 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
520 self.menu.addSeparator() |
542 self.menu.addSeparator() |
521 self.menu.addAction(self.tr('Configure...'), self._configure) |
543 self.menu.addAction(self.tr("Configure..."), self._configure) |
522 |
544 |
523 # create the attribute menu |
545 # create the attribute menu |
524 self.gotoMenu = QMenu(self.tr("Goto"), self) |
546 self.gotoMenu = QMenu(self.tr("Goto"), self) |
525 self.gotoMenu.aboutToShow.connect(self._showGotoMenu) |
547 self.gotoMenu.aboutToShow.connect(self._showGotoMenu) |
526 self.gotoMenu.triggered.connect(self._gotoAttribute) |
548 self.gotoMenu.triggered.connect(self._gotoAttribute) |
527 |
549 |
528 self.attributeMenu = QMenu(self) |
550 self.attributeMenu = QMenu(self) |
529 self.attributeMenu.addMenu(self.gotoMenu) |
551 self.attributeMenu.addMenu(self.gotoMenu) |
530 self.attributeMenu.addSeparator() |
552 self.attributeMenu.addSeparator() |
531 self.attributeMenu.addAction( |
553 self.attributeMenu.addAction( |
532 self.tr('Add source files...'), self.project.addSourceFiles) |
554 self.tr("Add source files..."), self.project.addSourceFiles |
|
555 ) |
533 self.attributeMenu.addAction( |
556 self.attributeMenu.addAction( |
534 self.tr('Add source directory...'), self.project.addSourceDir) |
557 self.tr("Add source directory..."), self.project.addSourceDir |
|
558 ) |
535 self.attributeMenu.addSeparator() |
559 self.attributeMenu.addSeparator() |
536 self.attributeMenu.addAction( |
560 self.attributeMenu.addAction( |
537 self.tr('Expand all directories'), self._expandAllDirs) |
561 self.tr("Expand all directories"), self._expandAllDirs |
|
562 ) |
538 self.attributeMenu.addAction( |
563 self.attributeMenu.addAction( |
539 self.tr('Collapse all directories'), self._collapseAllDirs) |
564 self.tr("Collapse all directories"), self._collapseAllDirs |
|
565 ) |
540 self.attributeMenu.addSeparator() |
566 self.attributeMenu.addSeparator() |
541 self.attributeMenu.addAction( |
567 self.attributeMenu.addAction(self.tr("Configure..."), self._configure) |
542 self.tr('Configure...'), self._configure) |
568 |
543 |
|
544 self.backMenu = QMenu(self) |
569 self.backMenu = QMenu(self) |
545 self.backMenu.addAction( |
570 self.backMenu.addAction( |
546 self.tr('Add source files...'), self.project.addSourceFiles) |
571 self.tr("Add source files..."), self.project.addSourceFiles |
|
572 ) |
547 self.backMenu.addAction( |
573 self.backMenu.addAction( |
548 self.tr('Add source directory...'), self.project.addSourceDir) |
574 self.tr("Add source directory..."), self.project.addSourceDir |
|
575 ) |
549 self.backMenu.addSeparator() |
576 self.backMenu.addSeparator() |
|
577 self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
550 self.backMenu.addAction( |
578 self.backMenu.addAction( |
551 self.tr('Expand all directories'), self._expandAllDirs) |
579 self.tr("Collapse all directories"), self._collapseAllDirs |
552 self.backMenu.addAction( |
580 ) |
553 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
554 self.backMenu.addSeparator() |
581 self.backMenu.addSeparator() |
555 self.backMenu.addAction(self.tr('Configure...'), self._configure) |
582 self.backMenu.addAction(self.tr("Configure..."), self._configure) |
556 self.backMenu.setEnabled(False) |
583 self.backMenu.setEnabled(False) |
557 |
584 |
558 self.multiMenu.addSeparator() |
585 self.multiMenu.addSeparator() |
559 act = self.multiMenu.addAction( |
586 act = self.multiMenu.addAction(self.tr("Remove from project"), self._removeFile) |
560 self.tr('Remove from project'), self._removeFile) |
|
561 self.multiMenuActions.append(act) |
587 self.multiMenuActions.append(act) |
562 act = self.multiMenu.addAction( |
588 act = self.multiMenu.addAction(self.tr("Delete"), self.__deleteFile) |
563 self.tr('Delete'), self.__deleteFile) |
|
564 self.multiMenuActions.append(act) |
589 self.multiMenuActions.append(act) |
565 self.multiMenu.addSeparator() |
590 self.multiMenu.addSeparator() |
566 self.multiMenu.addMenu(self.checksMenu) |
591 self.multiMenu.addMenu(self.checksMenu) |
567 self.multiMenu.addSeparator() |
592 self.multiMenu.addSeparator() |
|
593 self.multiMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
568 self.multiMenu.addAction( |
594 self.multiMenu.addAction( |
569 self.tr('Expand all directories'), self._expandAllDirs) |
595 self.tr("Collapse all directories"), self._collapseAllDirs |
570 self.multiMenu.addAction( |
596 ) |
571 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
572 self.multiMenu.addSeparator() |
597 self.multiMenu.addSeparator() |
573 self.multiMenu.addAction(self.tr('Configure...'), self._configure) |
598 self.multiMenu.addAction(self.tr("Configure..."), self._configure) |
574 |
599 |
575 self.dirMenu = QMenu(self) |
600 self.dirMenu = QMenu(self) |
576 act = self.dirMenu.addAction( |
601 act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeDir) |
577 self.tr('Remove from project'), self._removeDir) |
|
578 self.dirMenuActions.append(act) |
602 self.dirMenuActions.append(act) |
579 act = self.dirMenu.addAction( |
603 act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory) |
580 self.tr('Delete'), self._deleteDirectory) |
|
581 self.dirMenuActions.append(act) |
604 self.dirMenuActions.append(act) |
582 self.dirMenu.addSeparator() |
605 self.dirMenu.addSeparator() |
|
606 self.dirMenu.addAction(self.tr("Add source files..."), self.__addSourceFiles) |
583 self.dirMenu.addAction( |
607 self.dirMenu.addAction( |
584 self.tr('Add source files...'), self.__addSourceFiles) |
608 self.tr("Add source directory..."), self.__addSourceDirectory |
|
609 ) |
|
610 self.dirMenu.addSeparator() |
|
611 self.dirMenu.addMenu(self.checksMenu) |
|
612 self.dirMenu.addSeparator() |
|
613 self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard) |
|
614 self.dirMenu.addSeparator() |
|
615 self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
585 self.dirMenu.addAction( |
616 self.dirMenu.addAction( |
586 self.tr('Add source directory...'), self.__addSourceDirectory) |
617 self.tr("Collapse all directories"), self._collapseAllDirs |
587 self.dirMenu.addSeparator() |
618 ) |
588 self.dirMenu.addMenu(self.checksMenu) |
619 self.dirMenu.addSeparator() |
589 self.dirMenu.addSeparator() |
620 self.dirMenu.addAction(self.tr("Configure..."), self._configure) |
590 self.dirMenu.addAction( |
621 |
591 self.tr('Copy Path to Clipboard'), self._copyToClipboard) |
|
592 self.dirMenu.addSeparator() |
|
593 self.dirMenu.addAction( |
|
594 self.tr('Expand all directories'), self._expandAllDirs) |
|
595 self.dirMenu.addAction( |
|
596 self.tr('Collapse all directories'), self._collapseAllDirs) |
|
597 self.dirMenu.addSeparator() |
|
598 self.dirMenu.addAction(self.tr('Configure...'), self._configure) |
|
599 |
|
600 self.dirMultiMenu = QMenu(self) |
622 self.dirMultiMenu = QMenu(self) |
601 self.dirMultiMenu.addAction( |
623 self.dirMultiMenu.addAction( |
602 self.tr('Expand all directories'), self._expandAllDirs) |
624 self.tr("Expand all directories"), self._expandAllDirs |
|
625 ) |
603 self.dirMultiMenu.addAction( |
626 self.dirMultiMenu.addAction( |
604 self.tr('Collapse all directories'), self._collapseAllDirs) |
627 self.tr("Collapse all directories"), self._collapseAllDirs |
|
628 ) |
605 self.dirMultiMenu.addSeparator() |
629 self.dirMultiMenu.addSeparator() |
606 self.dirMultiMenu.addAction( |
630 self.dirMultiMenu.addAction(self.tr("Configure..."), self._configure) |
607 self.tr('Configure...'), self._configure) |
631 |
608 |
|
609 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) |
632 self.sourceMenu.aboutToShow.connect(self.__showContextMenu) |
610 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
633 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
611 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
634 self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
612 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) |
635 self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) |
613 self.backMenu.aboutToShow.connect(self.__showContextMenuBack) |
636 self.backMenu.aboutToShow.connect(self.__showContextMenuBack) |
614 self.mainMenu = self.sourceMenu |
637 self.mainMenu = self.sourceMenu |
615 |
638 |
616 def _contextMenuRequested(self, coord): |
639 def _contextMenuRequested(self, coord): |
617 """ |
640 """ |
618 Protected slot to show the context menu. |
641 Protected slot to show the context menu. |
619 |
642 |
620 @param coord the position of the mouse pointer (QPoint) |
643 @param coord the position of the mouse pointer (QPoint) |
621 """ |
644 """ |
622 if not self.project.isOpen(): |
645 if not self.project.isOpen(): |
623 return |
646 return |
624 |
647 |
625 with contextlib.suppress(Exception): |
648 with contextlib.suppress(Exception): |
626 categories = self.getSelectedItemsCountCategorized( |
649 categories = self.getSelectedItemsCountCategorized( |
627 [ProjectBrowserFileItem, BrowserClassItem, |
650 [ |
628 BrowserMethodItem, ProjectBrowserSimpleDirectoryItem, |
651 ProjectBrowserFileItem, |
629 BrowserClassAttributeItem, BrowserImportItem]) |
652 BrowserClassItem, |
|
653 BrowserMethodItem, |
|
654 ProjectBrowserSimpleDirectoryItem, |
|
655 BrowserClassAttributeItem, |
|
656 BrowserImportItem, |
|
657 ] |
|
658 ) |
630 cnt = categories["sum"] |
659 cnt = categories["sum"] |
631 if cnt <= 1: |
660 if cnt <= 1: |
632 index = self.indexAt(coord) |
661 index = self.indexAt(coord) |
633 if index.isValid(): |
662 if index.isValid(): |
634 self._selectSingleItem(index) |
663 self._selectSingleItem(index) |
635 categories = self.getSelectedItemsCountCategorized( |
664 categories = self.getSelectedItemsCountCategorized( |
636 [ProjectBrowserFileItem, BrowserClassItem, |
665 [ |
637 BrowserMethodItem, ProjectBrowserSimpleDirectoryItem, |
666 ProjectBrowserFileItem, |
638 BrowserClassAttributeItem, BrowserImportItem]) |
667 BrowserClassItem, |
|
668 BrowserMethodItem, |
|
669 ProjectBrowserSimpleDirectoryItem, |
|
670 BrowserClassAttributeItem, |
|
671 BrowserImportItem, |
|
672 ] |
|
673 ) |
639 cnt = categories["sum"] |
674 cnt = categories["sum"] |
640 |
675 |
641 bfcnt = categories[str(ProjectBrowserFileItem)] |
676 bfcnt = categories[str(ProjectBrowserFileItem)] |
642 cmcnt = ( |
677 cmcnt = ( |
643 categories[str(BrowserClassItem)] + |
678 categories[str(BrowserClassItem)] |
644 categories[str(BrowserMethodItem)] + |
679 + categories[str(BrowserMethodItem)] |
645 categories[str(BrowserClassAttributeItem)] + |
680 + categories[str(BrowserClassAttributeItem)] |
646 categories[str(BrowserImportItem)] |
681 + categories[str(BrowserImportItem)] |
647 ) |
682 ) |
648 sdcnt = categories[str(ProjectBrowserSimpleDirectoryItem)] |
683 sdcnt = categories[str(ProjectBrowserSimpleDirectoryItem)] |
649 if cnt > 1 and cnt == bfcnt: |
684 if cnt > 1 and cnt == bfcnt: |
650 self.multiMenu.popup(self.mapToGlobal(coord)) |
685 self.multiMenu.popup(self.mapToGlobal(coord)) |
651 elif cnt > 1 and cnt == sdcnt: |
686 elif cnt > 1 and cnt == sdcnt: |