17 from PyQt5.QtWidgets import QTreeView, QApplication, QMenu, QAbstractItemView |
17 from PyQt5.QtWidgets import QTreeView, QApplication, QMenu, QAbstractItemView |
18 |
18 |
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 Project.ProjectBrowserModel import ProjectBrowserSimpleDirectoryItem |
22 from .BrowserModel import BrowserModel, BrowserDirectoryItem, \ |
23 from .BrowserModel import BrowserModel, BrowserDirectoryItem, \ |
23 BrowserFileItem, BrowserClassItem, BrowserMethodItem, \ |
24 BrowserFileItem, BrowserClassItem, BrowserMethodItem, \ |
24 BrowserClassAttributeItem, BrowserImportItem |
25 BrowserClassAttributeItem, BrowserImportItem, BrowserImportsItem, \ |
|
26 BrowserSysPathItem |
25 from .BrowserSortFilterProxyModel import BrowserSortFilterProxyModel |
27 from .BrowserSortFilterProxyModel import BrowserSortFilterProxyModel |
26 |
28 |
27 import UI.PixmapCache |
29 import UI.PixmapCache |
28 import Preferences |
30 import Preferences |
29 import Utilities |
31 import Utilities |
305 |
307 |
306 @param mouseEvent the mouse event (QMouseEvent) |
308 @param mouseEvent the mouse event (QMouseEvent) |
307 """ |
309 """ |
308 index = self.indexAt(mouseEvent.pos()) |
310 index = self.indexAt(mouseEvent.pos()) |
309 if index.isValid(): |
311 if index.isValid(): |
310 self._openItem() |
312 itm = self.model().item(index) |
|
313 if isinstance(itm, ( |
|
314 BrowserDirectoryItem, BrowserImportsItem, |
|
315 ProjectBrowserSimpleDirectoryItem, BrowserSysPathItem)): |
|
316 self.setExpanded(index, not self.isExpanded(index)) |
|
317 else: |
|
318 self._openItem() |
311 |
319 |
312 def _contextMenuRequested(self, coord): |
320 def _contextMenuRequested(self, coord): |
313 """ |
321 """ |
314 Protected slot to show the context menu of the listview. |
322 Protected slot to show the context menu of the listview. |
315 |
323 |