23 """ |
23 """ |
24 def __init__(self, multiProject, parent=None): |
24 def __init__(self, multiProject, parent=None): |
25 """ |
25 """ |
26 Constructor |
26 Constructor |
27 |
27 |
28 @param project reference to the multi project object |
28 @param multiProject reference to the multi project object |
29 @param parent parent widget (QWidget) |
29 @param parent parent widget (QWidget) |
30 """ |
30 """ |
31 super(MultiProjectBrowser, self).__init__(parent) |
31 super(MultiProjectBrowser, self).__init__(parent) |
32 self.multiProject = multiProject |
32 self.multiProject = multiProject |
33 |
33 |
34 self.setWindowIcon(UI.PixmapCache.getIcon("eric.png")) |
34 self.setWindowIcon(UI.PixmapCache.getIcon("eric.png")) |
35 self.setAlternatingRowColors(True) |
35 self.setAlternatingRowColors(True) |
36 |
36 |
37 self.__openingProject = False |
37 self.__openingProject = False |
38 |
38 |
39 self.multiProject.newMultiProject.connect(self.__newMultiProject) |
39 self.multiProject.newMultiProject.connect( |
40 self.multiProject.multiProjectOpened.connect(self.__multiProjectOpened) |
40 self.__newMultiProject) |
41 self.multiProject.multiProjectClosed.connect(self.__multiProjectClosed) |
41 self.multiProject.multiProjectOpened.connect( |
42 self.multiProject.projectDataChanged.connect(self.__projectDataChanged) |
42 self.__multiProjectOpened) |
43 self.multiProject.projectAdded.connect(self.__projectAdded) |
43 self.multiProject.multiProjectClosed.connect( |
44 self.multiProject.projectRemoved.connect(self.__projectRemoved) |
44 self.__multiProjectClosed) |
45 self.multiProject.projectOpened.connect(self.__projectOpened) |
45 self.multiProject.projectDataChanged.connect( |
|
46 self.__projectDataChanged) |
|
47 self.multiProject.projectAdded.connect( |
|
48 self.__projectAdded) |
|
49 self.multiProject.projectRemoved.connect( |
|
50 self.__projectRemoved) |
|
51 self.multiProject.projectOpened.connect( |
|
52 self.__projectOpened) |
46 |
53 |
47 self.__createPopupMenu() |
54 self.__createPopupMenu() |
48 self.setContextMenuPolicy(Qt.CustomContextMenu) |
55 self.setContextMenuPolicy(Qt.CustomContextMenu) |
49 self.customContextMenuRequested.connect(self.__contextMenuRequested) |
56 self.customContextMenuRequested.connect(self.__contextMenuRequested) |
50 self.itemActivated.connect(self.__openItem) |
57 self.itemActivated.connect(self.__openItem) |
51 |
58 |
52 ############################################################################ |
59 ########################################################################### |
53 ## Slot handling methods below |
60 ## Slot handling methods below |
54 ############################################################################ |
61 ########################################################################### |
55 |
62 |
56 def __newMultiProject(self): |
63 def __newMultiProject(self): |
57 """ |
64 """ |
58 Private slot to handle the creation of a new multi project. |
65 Private slot to handle the creation of a new multi project. |
59 """ |
66 """ |
148 if filename: |
157 if filename: |
149 self.__openingProject = True |
158 self.__openingProject = True |
150 self.multiProject.openProject(filename) |
159 self.multiProject.openProject(filename) |
151 self.__openingProject = False |
160 self.__openingProject = False |
152 |
161 |
153 ############################################################################ |
162 ########################################################################### |
154 ## Private methods below |
163 ## Private methods below |
155 ############################################################################ |
164 ########################################################################### |
156 |
165 |
157 def __addProject(self, project): |
166 def __addProject(self, project): |
158 """ |
167 """ |
159 Private method to add a project to the list. |
168 Private method to add a project to the list. |
160 |
169 |
238 Private method to create the popup menu. |
247 Private method to create the popup menu. |
239 """ |
248 """ |
240 self.__menu = QMenu(self) |
249 self.__menu = QMenu(self) |
241 self.__menu.addAction(self.trUtf8("Open"), self.__openItem) |
250 self.__menu.addAction(self.trUtf8("Open"), self.__openItem) |
242 self.__menu.addAction(self.trUtf8("Remove"), self.__removeProject) |
251 self.__menu.addAction(self.trUtf8("Remove"), self.__removeProject) |
243 self.__menu.addAction(self.trUtf8("Properties"), self.__showProjectProperties) |
252 self.__menu.addAction(self.trUtf8("Properties"), |
|
253 self.__showProjectProperties) |
244 self.__menu.addSeparator() |
254 self.__menu.addSeparator() |
245 self.__menu.addAction(self.trUtf8("Add Project..."), self.__addNewProject) |
255 self.__menu.addAction(self.trUtf8("Add Project..."), |
|
256 self.__addNewProject) |
246 self.__menu.addSeparator() |
257 self.__menu.addSeparator() |
247 self.__menu.addAction(self.trUtf8("Configure..."), self.__configure) |
258 self.__menu.addAction(self.trUtf8("Configure..."), self.__configure) |
248 |
259 |
249 self.__backMenu = QMenu(self) |
260 self.__backMenu = QMenu(self) |
250 self.__backMenu.addAction(self.trUtf8("Add Project..."), self.__addNewProject) |
261 self.__backMenu.addAction(self.trUtf8("Add Project..."), |
|
262 self.__addNewProject) |
251 self.__backMenu.addSeparator() |
263 self.__backMenu.addSeparator() |
252 self.__backMenu.addAction(self.trUtf8("Configure..."), self.__configure) |
264 self.__backMenu.addAction(self.trUtf8("Configure..."), |
|
265 self.__configure) |
253 |
266 |
254 def __configure(self): |
267 def __configure(self): |
255 """ |
268 """ |
256 Private method to open the configuration dialog. |
269 Private method to open the configuration dialog. |
257 """ |
270 """ |