19 from E5Gui.E5Application import e5App |
19 from E5Gui.E5Application import e5App |
20 from E5Gui import E5FileDialog, E5MessageBox |
20 from E5Gui import E5FileDialog, E5MessageBox |
21 |
21 |
22 from .BrowserModel import BrowserModel, BrowserDirectoryItem, \ |
22 from .BrowserModel import BrowserModel, BrowserDirectoryItem, \ |
23 BrowserFileItem, BrowserClassItem, BrowserMethodItem, \ |
23 BrowserFileItem, BrowserClassItem, BrowserMethodItem, \ |
24 BrowserClassAttributeItem |
24 BrowserClassAttributeItem, BrowserImportItem |
25 from .BrowserSortFilterProxyModel import BrowserSortFilterProxyModel |
25 from .BrowserSortFilterProxyModel import BrowserSortFilterProxyModel |
26 |
26 |
27 import UI.PixmapCache |
27 import UI.PixmapCache |
28 import Preferences |
28 import Preferences |
29 import Utilities |
29 import Utilities |
341 self.sourceMenu.popup(coord) |
341 self.sourceMenu.popup(coord) |
342 else: |
342 else: |
343 self.editPixmapAct.setVisible(itm.isPixmapFile()) |
343 self.editPixmapAct.setVisible(itm.isPixmapFile()) |
344 self.menu.popup(coord) |
344 self.menu.popup(coord) |
345 elif isinstance(itm, BrowserClassItem) or \ |
345 elif isinstance(itm, BrowserClassItem) or \ |
346 isinstance(itm, BrowserMethodItem): |
346 isinstance(itm, BrowserMethodItem) or \ |
|
347 isinstance(itm, BrowserImportItem): |
|
348 self.editPixmapAct.setVisible(False) |
347 self.menu.popup(coord) |
349 self.menu.popup(coord) |
348 elif isinstance(itm, BrowserClassAttributeItem): |
350 elif isinstance(itm, BrowserClassAttributeItem): |
349 self.attributeMenu.popup(coord) |
351 self.attributeMenu.popup(coord) |
350 elif isinstance(itm, BrowserDirectoryItem): |
352 elif isinstance(itm, BrowserDirectoryItem): |
351 if not index.parent().isValid(): |
353 if not index.parent().isValid(): |
395 """ |
397 """ |
396 Protected slot to handle the open popup menu entry. |
398 Protected slot to handle the open popup menu entry. |
397 """ |
399 """ |
398 itmList = self.getSelectedItems( |
400 itmList = self.getSelectedItems( |
399 [BrowserFileItem, BrowserClassItem, |
401 [BrowserFileItem, BrowserClassItem, |
400 BrowserMethodItem, BrowserClassAttributeItem]) |
402 BrowserMethodItem, BrowserClassAttributeItem, |
|
403 BrowserImportItem]) |
401 |
404 |
402 if not self._activating: |
405 if not self._activating: |
403 self._activating = True |
406 self._activating = True |
404 for itm in itmList: |
407 for itm in itmList: |
405 if isinstance(itm, BrowserFileItem): |
408 if isinstance(itm, BrowserFileItem): |
444 self.sourceFile[str, int].emit( |
447 self.sourceFile[str, int].emit( |
445 itm.fileName(), itm.functionObject().lineno) |
448 itm.fileName(), itm.functionObject().lineno) |
446 elif isinstance(itm, BrowserClassAttributeItem): |
449 elif isinstance(itm, BrowserClassAttributeItem): |
447 self.sourceFile[str, int].emit( |
450 self.sourceFile[str, int].emit( |
448 itm.fileName(), itm.attributeObject().lineno) |
451 itm.fileName(), itm.attributeObject().lineno) |
|
452 elif isinstance(itm, BrowserImportItem): |
|
453 self.sourceFile[str, int].emit( |
|
454 itm.fileName(), itm.lineno()) |
449 self._activating = False |
455 self._activating = False |
450 |
456 |
451 def __showMimeType(self): |
457 def __showMimeType(self): |
452 """ |
458 """ |
453 Private slot to show the mime type of the selected entry. |
459 Private slot to show the mime type of the selected entry. |
454 """ |
460 """ |
455 itmList = self.getSelectedItems( |
461 itmList = self.getSelectedItems( |
456 [BrowserFileItem, BrowserClassItem, |
462 [BrowserFileItem, BrowserClassItem, |
457 BrowserMethodItem, BrowserClassAttributeItem]) |
463 BrowserMethodItem, BrowserClassAttributeItem, |
|
464 BrowserImportItem]) |
458 if itmList: |
465 if itmList: |
459 mimetype = Utilities.MimeTypes.mimeType(itmList[0].fileName()) |
466 mimetype = Utilities.MimeTypes.mimeType(itmList[0].fileName()) |
460 if mimetype is None: |
467 if mimetype is None: |
461 E5MessageBox.warning( |
468 E5MessageBox.warning( |
462 self, |
469 self, |