PluginProjectDjangoTagsMenu.py

Thu, 01 Jan 2015 13:25:09 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 01 Jan 2015 13:25:09 +0100
changeset 30
4ff7495f67b1
parent 26
b21b4fc418bc
child 31
8faca9e95f38
permissions
-rw-r--r--

Updated copyright for 2015.

1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
30
4ff7495f67b1 Updated copyright for 2015.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
3 # Copyright (c) 2014 - 2015 Detlev Offenbach <detlev@die-offenbachs.de>
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the Django tags menu plugin.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
23
070a6c65c8a9 Released as stable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
10 from __future__ import unicode_literals
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
11
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
12 import os
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
13
26
b21b4fc418bc Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 23
diff changeset
14 from PyQt5.QtCore import QObject, QTranslator
b21b4fc418bc Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 23
diff changeset
15 from PyQt5.QtWidgets import QMenu
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
16
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
17 from E5Gui.E5Application import e5App
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
18
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
19 from ProjectDjangoTagsMenu.DjangoTagsMenuHandler import DjangoTagsMenuHandler
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
20
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
21 # Start-of-Header
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
22 name = "Django Tags Menu Plugin"
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
23 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24 autoactivate = True
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
25 deactivateable = True
26
b21b4fc418bc Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 23
diff changeset
26 version = "2.0.0"
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
27 className = "ProjectDjangoTagsMenuPlugin"
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
28 packageName = "ProjectDjangoTagsMenu"
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
29 shortDescription = "Tags menu for Django projects."
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
30 longDescription = \
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
31 """This plug-in adds a menu to select various tag templates to the""" \
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
32 """ Django menu."""
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
33 needsRestart = False
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
34 pyqtApi = 2
23
070a6c65c8a9 Released as stable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
35 python2Compatible = True
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
36 # End-of-Header
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
37
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
38 error = ""
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
39
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
40
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
41 class ProjectDjangoTagsMenuPlugin(QObject):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
42 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
43 Class implementing the Django tags menu plugin.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
44 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
45 def __init__(self, ui):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
46 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
47 Constructor
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
48
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
49 @param ui reference to the user interface object (UI.UserInterface)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
50 """
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
51 super(ProjectDjangoTagsMenuPlugin, self).__init__(ui)
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
52 self.__ui = ui
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
53
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
54 self.__handler = DjangoTagsMenuHandler(ui, self)
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
55
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
56 self.__initMenu()
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
57
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
58 def __initMenu(self):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
59 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
60 Private slot to initialize the tags menu.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
61 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
62 self.__menuAttached = False
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
63 self.__menuAction = None
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
64 self.__menuSeparator = None
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
65
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
66 self.__menu = QMenu(self.tr("Template Tags"))
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
67 self.__handler.initMenus(self.__menu)
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
68
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
69 def __attachMenu(self):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
70 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
71 Private method to attach the menu to the Django menu.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
72 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
73 if not self.__menuAttached:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
74 try:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
75 pluginObject = e5App().getPluginObject("ProjectDjango")
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
76 except KeyError:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
77 pluginObject = None
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
78
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
79 if pluginObject:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
80 djangoMenu = pluginObject.getMenu("main")
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
81 djangoDatabaseMenuAction = \
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
82 pluginObject.getMenu("database").menuAction()
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
83 self.__menuAction = djangoMenu.insertMenu(
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
84 djangoDatabaseMenuAction, self.__menu)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
85 self.__menuSeparator = djangoMenu.insertSeparator(
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
86 djangoDatabaseMenuAction)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
87 self.__menuAttached = True
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
88
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
89 def __detachMenu(self):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
90 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
91 Private method to detach the menu from the Django menu.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
92 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
93 if self.__menuAttached:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
94 try:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
95 pluginObject = e5App().getPluginObject("ProjectDjango")
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
96 except KeyError:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
97 pluginObject = None
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
98
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
99 if pluginObject:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
100 djangoMenu = pluginObject.getMenu("main")
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
101 djangoMenu.removeAction(self.__menuAction)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
102 djangoMenu.removeAction(self.__menuSeparator)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
103
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
104 self.__menuAction = None
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
105 self.__menuSeparator = None
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
106 self.__menuAttached = False
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
107
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
108 def activate(self):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
109 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
110 Public method to activate this plugin.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
111
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
112 @return tuple of None and activation status (boolean)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
113 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
114 pluginManager = e5App().getObject("PluginManager")
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
115 pluginManager.pluginActivated.connect(self.__pluginActivated)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
116 pluginManager.pluginAboutToBeDeactivated.connect(
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
117 self.__pluginAboutToBeDeactivated)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
118
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
119 if pluginManager.isPluginActive("PluginProjectDjango"):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
120 self.__attachMenu()
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
121
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
122 e5App().getObject("Project").projectClosed.connect(
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
123 self.__projectClosed)
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
124
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
125 return None, True
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
126
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
127 def deactivate(self):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
128 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
129 Public method to deactivate this plugin.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
130 """
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
131 e5App().getObject("Project").projectClosed.disconnect(
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
132 self.__projectClosed)
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
133
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
134 self.__handler.closeAllWindows()
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
135 self.__detachMenu()
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
136
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
137 pluginManager = e5App().getObject("PluginManager")
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
138 pluginManager.pluginActivated.disconnect(self.__pluginActivated)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
139 pluginManager.pluginAboutToBeDeactivated.disconnect(
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
140 self.__pluginAboutToBeDeactivated)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
141
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
142 def __loadTranslator(self):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
143 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
144 Private method to load the translation file.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
145 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
146 if self.__ui is not None:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
147 loc = self.__ui.getLocale()
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
148 if loc and loc != "C":
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
149 locale_dir = os.path.join(
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
150 os.path.dirname(__file__), "ProjectDjangoTagsMenu", "i18n")
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
151 translation = "djangotagsmenu_%s" % loc
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
152 translator = QTranslator(None)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
153 loaded = translator.load(translation, locale_dir)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
154 if loaded:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
155 self.__translator = translator
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
156 e5App().installTranslator(self.__translator)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
157 else:
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
158 print("Warning: translation file '{0}' could not be"
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
159 " loaded.".format(translation))
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
160 print("Using default.")
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
161
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
162 def __projectClosed(self):
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
163 """
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
164 Private slot to handle the projectClosed signal.
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
165 """
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
166 self.__handler.closeAllWindows()
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
167
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
168 def __pluginActivated(self, moduleName, pluginObject):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
169 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
170 Private slot to react on plugin activation of the Django plugin.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
171
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
172 @param moduleName name of the module activated (string)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
173 @param pluginObject reference to the activated plug-in object (object)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
174 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
175 if moduleName == "PluginProjectDjango":
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
176 self.__attachMenu()
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
177
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
178 def __pluginAboutToBeDeactivated(self, moduleName, pluginObject):
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
179 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
180 Private slot to react on the Django plugin about to be deactivated.
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
181
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
182 @param moduleName name of the module about to be deactivated (string)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
183 @param pluginObject reference to the about to be deactivated
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
184 plug-in object (object)
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
185 """
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
186 if moduleName == "PluginProjectDjango":
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
187 self.__handler.closeAllWindows()
1
b2f26d630942 Implemented the basic framework.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
188 self.__detachMenu()

eric ide

mercurial