PluginProjectPyramid.py

changeset 127
5e8519ee5565
parent 126
f148f85d9e16
child 132
c0d53fb9a0e0
equal deleted inserted replaced
126:f148f85d9e16 127:5e8519ee5565
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

eric ide

mercurial