MultiProject/MultiProjectBrowser.py

branch
Py2 comp.
changeset 3057
10516539f238
parent 2525
8b507a9a2d40
parent 2992
dbdf27746da5
child 3145
a9de05d4a22f
equal deleted inserted replaced
3056:9986ec0e559a 3057:10516539f238
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 """
107 self.sortItems() 114 self.sortItems()
108 115
109 def __projectOpened(self, projectfile): 116 def __projectOpened(self, projectfile):
110 """ 117 """
111 Private slot to handle the opening of a project. 118 Private slot to handle the opening of a project.
119
120 @param projectfile file name of the opened project file (string)
112 """ 121 """
113 project = { 122 project = {
114 'name': "", 123 'name': "",
115 'file': projectfile, 124 'file': projectfile,
116 'master': False, 125 'master': False,
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 """

eric ide

mercurial