PluginProjectDjango.py

changeset 143
29d8187f989e
parent 142
ecadd7fd0963
child 145
104b14713e9e
equal deleted inserted replaced
142:ecadd7fd0963 143:29d8187f989e
26 # Start-of-Header 26 # Start-of-Header
27 name = "Django Project Plugin" 27 name = "Django 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 = "5.2.2" 31 version = "5.2.3"
32 className = "ProjectDjangoPlugin" 32 className = "ProjectDjangoPlugin"
33 packageName = "ProjectDjango" 33 packageName = "ProjectDjango"
34 shortDescription = "Project support for Django projects." 34 shortDescription = "Project support for Django projects."
35 longDescription = \ 35 longDescription = \
36 """This plugin implements project support for Django projects.""" 36 """This plugin implements project support for Django projects."""
163 """ 163 """
164 Private slot to (re)initialize the plugin. 164 Private slot to (re)initialize the plugin.
165 """ 165 """
166 self.__object = None 166 self.__object = None
167 167
168 self.__mainMenu = None
168 self.__mainAct = None 169 self.__mainAct = None
169 self.__mainMenu = None 170 self.__separatorAct = None
170 171
171 self.__e5project = e5App().getObject("Project") 172 self.__e5project = e5App().getObject("Project")
172 173
173 self.__supportedVariants = [] 174 self.__supportedVariants = []
174 175
285 def __projectOpened(self): 286 def __projectOpened(self):
286 """ 287 """
287 Private slot to handle the projectOpened signal. 288 Private slot to handle the projectOpened signal.
288 """ 289 """
289 if self.__e5project.getProjectType() == "Django": 290 if self.__e5project.getProjectType() == "Django":
290 projectAct = self.__ui.getMenuBarAction("project") 291 projectToolsMenu = self.__ui.getMenu("project_tools")
291 actions = self.__ui.menuBar().actions() 292 if projectToolsMenu is not None:
292 insertAct = actions[actions.index(projectAct) + 1] 293 insertBeforeAct = projectToolsMenu.actions()[0]
293 self.__mainAct = self.__ui.menuBar().insertMenu( 294 self.__mainAct = projectToolsMenu.insertMenu(
294 insertAct, self.__mainMenu) 295 insertBeforeAct, self.__mainMenu)
296 self.__separatorAct = projectToolsMenu.insertSeparator(
297 insertBeforeAct)
298 else:
299 projectAct = self.__ui.getMenuBarAction("project")
300 actions = self.__ui.menuBar().actions()
301 insertBeforeAct = actions[actions.index(projectAct) + 1]
302 self.__mainAct = self.__ui.menuBar().insertMenu(
303 insertBeforeAct, self.__mainMenu)
295 304
296 def __projectClosed(self): 305 def __projectClosed(self):
297 """ 306 """
298 Private slot to handle the projectClosed signal. 307 Private slot to handle the projectClosed signal.
299 """ 308 """
300 if self.__mainAct is not None: 309 if self.__mainAct is not None:
301 self.__ui.menuBar().removeAction(self.__mainAct) 310 projectToolsMenu = self.__ui.getMenu("project_tools")
302 self.__mainAct = None 311 if projectToolsMenu is not None:
312 projectToolsMenu.removeAction(self.__separatorAct)
313 projectToolsMenu.removeAction(self.__mainAct)
314 self.__mainAct = None
315 self.__separatorAct = None
316 else:
317 self.__ui.menuBar().removeAction(self.__mainAct)
318 self.__mainAct = None
303 self.__object.projectClosed() 319 self.__object.projectClosed()
304 320
305 def fileTypesCallback(self): 321 def fileTypesCallback(self):
306 """ 322 """
307 Public method get the filetype associations of the Django project type. 323 Public method get the filetype associations of the Django project type.

eric ide

mercurial