Project/ProjectBaseBrowser.py

changeset 500
c3abc7895a01
parent 458
1695e7a2db54
child 536
6d8d39753c82
equal deleted inserted replaced
499:622ab17a68d5 500:c3abc7895a01
20 from .ProjectBrowserSortFilterProxyModel import ProjectBrowserSortFilterProxyModel 20 from .ProjectBrowserSortFilterProxyModel import ProjectBrowserSortFilterProxyModel
21 21
22 class ProjectBaseBrowser(Browser): 22 class ProjectBaseBrowser(Browser):
23 """ 23 """
24 Baseclass implementing common functionality for the various project browsers. 24 Baseclass implementing common functionality for the various project browsers.
25
26 @signal closeSourceWindow(str) emitted to close a source file
25 """ 27 """
28 closeSourceWindow = pyqtSignal(str)
29
26 def __init__(self, project, type_, parent = None): 30 def __init__(self, project, type_, parent = None):
27 """ 31 """
28 Constructor 32 Constructor
29 33
30 @param project reference to the project object 34 @param project reference to the project object
53 self.DeselectFlags = QItemSelectionModel.SelectionFlags(\ 57 self.DeselectFlags = QItemSelectionModel.SelectionFlags(\
54 QItemSelectionModel.Deselect | QItemSelectionModel.Rows) 58 QItemSelectionModel.Deselect | QItemSelectionModel.Rows)
55 59
56 self.setContextMenuPolicy(Qt.CustomContextMenu) 60 self.setContextMenuPolicy(Qt.CustomContextMenu)
57 self.customContextMenuRequested.connect(self._contextMenuRequested) 61 self.customContextMenuRequested.connect(self._contextMenuRequested)
58 self.connect(self, SIGNAL("activated(const QModelIndex &)"), self._openItem) 62 self.activated.connect(self._openItem)
59 self.connect(self._model, SIGNAL("rowsInserted(const QModelIndex &, int, int)"), 63 self._model.rowsInserted.connect(self.__modelRowsInserted)
60 self.__modelRowsInserted)
61 self._connectExpandedCollapsed() 64 self._connectExpandedCollapsed()
62 65
63 self._createPopupMenus() 66 self._createPopupMenus()
64 67
65 self.currentItemName = None 68 self.currentItemName = None
71 74
72 def _connectExpandedCollapsed(self): 75 def _connectExpandedCollapsed(self):
73 """ 76 """
74 Protected method to connect the expanded and collapsed signals. 77 Protected method to connect the expanded and collapsed signals.
75 """ 78 """
76 self.connect(self, SIGNAL("expanded(const QModelIndex &)"), 79 self.expanded.connect(self._resizeColumns)
77 self._resizeColumns) 80 self.collapsed.connect(self._resizeColumns)
78 self.connect(self, SIGNAL("collapsed(const QModelIndex &)"),
79 self._resizeColumns)
80 81
81 def _disconnectExpandedCollapsed(self): 82 def _disconnectExpandedCollapsed(self):
82 """ 83 """
83 Protected method to disconnect the expanded and collapsed signals. 84 Protected method to disconnect the expanded and collapsed signals.
84 """ 85 """
85 self.disconnect(self, SIGNAL("expanded(const QModelIndex &)"), 86 self.expanded.disconnect(self._resizeColumns)
86 self._resizeColumns) 87 self.collapsed.disconnect(self._resizeColumns)
87 self.disconnect(self, SIGNAL("collapsed(const QModelIndex &)"),
88 self._resizeColumns)
89 88
90 def _createPopupMenus(self): 89 def _createPopupMenus(self):
91 """ 90 """
92 Protected overloaded method to generate the popup menus. 91 Protected overloaded method to generate the popup menus.
93 """ 92 """
257 """ 256 """
258 itmList = self.getSelectedItems() 257 itmList = self.getSelectedItems()
259 258
260 for itm in itmList[:]: 259 for itm in itmList[:]:
261 fn = itm.fileName() 260 fn = itm.fileName()
262 self.emit(SIGNAL('closeSourceWindow'), fn) 261 self.closeSourceWindow.emit(fn)
263 self.project.removeFile(fn) 262 self.project.removeFile(fn)
264 263
265 def _removeDir(self): 264 def _removeDir(self):
266 """ 265 """
267 Protected method to remove a (single) directory from the project. 266 Protected method to remove a (single) directory from the project.

eric ide

mercurial