26 # Start-of-Header |
26 # Start-of-Header |
27 name = "Pyramid Project Plugin" |
27 name = "Pyramid Project Plugin" |
28 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
28 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
29 autoactivate = True |
29 autoactivate = True |
30 deactivateable = True |
30 deactivateable = True |
31 version = "2.4.2" |
31 version = "2.4.3" |
32 className = "ProjectPyramidPlugin" |
32 className = "ProjectPyramidPlugin" |
33 packageName = "ProjectPyramid" |
33 packageName = "ProjectPyramid" |
34 shortDescription = "Project support for Pyramid projects." |
34 shortDescription = "Project support for Pyramid projects." |
35 longDescription = \ |
35 longDescription = \ |
36 """This plugin implements project support for Pyramid projects.""" |
36 """This plugin implements project support for Pyramid projects.""" |
151 """ |
151 """ |
152 Private slot to (re)initialize the plugin. |
152 Private slot to (re)initialize the plugin. |
153 """ |
153 """ |
154 self.__object = None |
154 self.__object = None |
155 |
155 |
|
156 self.__mainMenu = None |
156 self.__mainAct = None |
157 self.__mainAct = None |
157 self.__mainMenu = None |
158 self.__separatorAct = None |
158 |
159 |
159 self.__e5project = e5App().getObject("Project") |
160 self.__e5project = e5App().getObject("Project") |
160 |
161 |
161 self.__supportedVariants = [] |
162 self.__supportedVariants = [] |
162 |
163 |
271 def __projectOpened(self): |
272 def __projectOpened(self): |
272 """ |
273 """ |
273 Private slot to handle the projectOpened signal. |
274 Private slot to handle the projectOpened signal. |
274 """ |
275 """ |
275 if self.__e5project.getProjectType() == "Pyramid": |
276 if self.__e5project.getProjectType() == "Pyramid": |
276 projectAct = self.__ui.getMenuBarAction("project") |
277 projectToolsMenu = self.__ui.getMenu("project_tools") |
277 actions = self.__ui.menuBar().actions() |
278 if projectToolsMenu is not None: |
278 insertAct = actions[actions.index(projectAct) + 1] |
279 insertBeforeAct = projectToolsMenu.actions()[0] |
279 self.__mainAct = self.__ui.menuBar().insertMenu( |
280 self.__mainAct = projectToolsMenu.insertMenu( |
280 insertAct, self.__mainMenu) |
281 insertBeforeAct, self.__mainMenu) |
|
282 self.__separatorAct = projectToolsMenu.insertSeparator( |
|
283 insertBeforeAct) |
|
284 else: |
|
285 projectAct = self.__ui.getMenuBarAction("project") |
|
286 actions = self.__ui.menuBar().actions() |
|
287 insertBeforeAct = actions[actions.index(projectAct) + 1] |
|
288 self.__mainAct = self.__ui.menuBar().insertMenu( |
|
289 insertBeforeAct, self.__mainMenu) |
281 |
290 |
282 def __projectClosed(self): |
291 def __projectClosed(self): |
283 """ |
292 """ |
284 Private slot to handle the projectClosed signal. |
293 Private slot to handle the projectClosed signal. |
285 """ |
294 """ |
286 if self.__mainAct is not None: |
295 if self.__mainAct is not None: |
287 self.__ui.menuBar().removeAction(self.__mainAct) |
296 projectToolsMenu = self.__ui.getMenu("project_tools") |
288 self.__mainAct = None |
297 if projectToolsMenu is not None: |
|
298 projectToolsMenu.removeAction(self.__separatorAct) |
|
299 projectToolsMenu.removeAction(self.__mainAct) |
|
300 self.__mainAct = None |
|
301 self.__separatorAct = None |
|
302 else: |
|
303 self.__ui.menuBar().removeAction(self.__mainAct) |
|
304 self.__mainAct = None |
289 self.__object.projectClosed() |
305 self.__object.projectClosed() |
290 |
306 |
291 def fileTypesCallback(self): |
307 def fileTypesCallback(self): |
292 """ |
308 """ |
293 Public method get the filetype associations of the Pyramid project |
309 Public method get the filetype associations of the Pyramid project |