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. |