22 # Start-of-Header |
22 # Start-of-Header |
23 name = "Kivy Project Plugin" |
23 name = "Kivy Project Plugin" |
24 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
24 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
25 autoactivate = True |
25 autoactivate = True |
26 deactivateable = True |
26 deactivateable = True |
27 version = "1.0.0" |
27 version = "1.0.1" |
28 className = "ProjectKivyPlugin" |
28 className = "ProjectKivyPlugin" |
29 packageName = "ProjectKivy" |
29 packageName = "ProjectKivy" |
30 shortDescription = "Project support for Kivy projects." |
30 shortDescription = "Project support for Kivy projects." |
31 longDescription = """This plugin implements project support for Kivy projects.""" |
31 longDescription = \ |
|
32 """This plugin implements project support for Kivy projects.""" |
32 needsRestart = False |
33 needsRestart = False |
33 pyqtApi = 2 |
34 pyqtApi = 2 |
34 # End-of-Header |
35 # End-of-Header |
35 |
36 |
36 error = "" |
37 error = "" |
38 |
39 |
39 def apiFiles(language): |
40 def apiFiles(language): |
40 """ |
41 """ |
41 Module function to return the API files made available by this plugin. |
42 Module function to return the API files made available by this plugin. |
42 |
43 |
|
44 @param language language to get API file for (string) |
43 @return list of API filenames (list of string) |
45 @return list of API filenames (list of string) |
44 """ |
46 """ |
45 if language in ["Python2"]: |
47 if language in ["Python2"]: |
46 apisDir = \ |
48 apisDir = \ |
47 os.path.join(os.path.dirname(__file__), "ProjectKivy", "APIs") |
49 os.path.join(os.path.dirname(__file__), "ProjectKivy", "APIs") |
93 Public method to activate this plugin. |
95 Public method to activate this plugin. |
94 |
96 |
95 @return tuple of None and activation status (boolean) |
97 @return tuple of None and activation status (boolean) |
96 """ |
98 """ |
97 try: |
99 try: |
98 self.__e5project.registerProjectType("Kivy", self.trUtf8("Kivy"), |
100 self.__e5project.registerProjectType( |
99 self.fileTypesCallback, |
101 "Kivy", self.trUtf8("Kivy"), self.fileTypesCallback, |
100 lexerAssociationCallback=self.lexerAssociationCallback, |
102 lexerAssociationCallback=self.lexerAssociationCallback, |
101 progLanguages=["Python2"]) |
103 progLanguages=["Python2"]) |
102 except TypeError: |
104 except TypeError: |
103 # for backward compatibility |
105 # for backward compatibility |
104 self.__e5project.registerProjectType("Kivy", self.trUtf8("Kivy"), |
106 self.__e5project.registerProjectType( |
105 self.fileTypesCallback, |
107 "Kivy", self.trUtf8("Kivy"), self.fileTypesCallback, |
106 lexerAssociationCallback=self.lexerAssociationCallback) |
108 lexerAssociationCallback=self.lexerAssociationCallback) |
107 |
109 |
108 from Project.ProjectBrowser import SourcesBrowserFlag, FormsBrowserFlag, \ |
110 from Project.ProjectBrowser import SourcesBrowserFlag, \ |
109 TranslationsBrowserFlag, OthersBrowserFlag |
111 FormsBrowserFlag, TranslationsBrowserFlag, OthersBrowserFlag |
110 Preferences.setProjectBrowserFlagsDefault("Kivy", |
112 Preferences.setProjectBrowserFlagsDefault( |
111 SourcesBrowserFlag | \ |
113 "Kivy", |
112 FormsBrowserFlag | \ |
114 SourcesBrowserFlag | |
113 TranslationsBrowserFlag | \ |
115 FormsBrowserFlag | |
|
116 TranslationsBrowserFlag | |
114 OthersBrowserFlag, |
117 OthersBrowserFlag, |
115 ) |
118 ) |
116 |
119 |
117 LEXERS[self.KivyLexerKey] = self.KivyLexerEntry |
120 LEXERS[self.KivyLexerKey] = self.KivyLexerEntry |
118 import QScintilla.Lexers |
121 import QScintilla.Lexers |
119 if self.__ui.versionIsNewer('5.3.5', '20130611'): |
122 if self.__ui.versionIsNewer('5.3.5', '20130611'): |
120 QScintilla.Lexers.registerLexer( |
123 QScintilla.Lexers.registerLexer( |
121 "Kivy", |
124 "Kivy", |
122 self.trUtf8("Kivy"), |
125 self.trUtf8("Kivy"), |
123 "dummy.kv", |
126 "dummy.kv", |
124 self.getLexer, |
127 self.getLexer, |
125 [self.trUtf8('Kivy Files (*.kv *.kivy)')], |
128 [self.trUtf8('Kivy Files (*.kv *.kivy)')], |
126 [self.trUtf8('Kivy Files (*.kv)')], |
129 [self.trUtf8('Kivy Files (*.kv)')], |
127 ['*.kv', '*.kivy'] |
130 ['*.kv', '*.kivy'] |
128 ) |
131 ) |
129 else: |
132 else: |
130 # work around a bug in older versions |
133 # work around a bug in older versions |
131 QScintilla.Lexers.registerLexer( |
134 QScintilla.Lexers.registerLexer( |
132 "Kivy", |
135 "Kivy", |
133 self.trUtf8("Kivy"), |
136 self.trUtf8("Kivy"), |
134 "dummy.kv", |
137 "dummy.kv", |
135 self.getLexer, |
138 self.getLexer, |
136 self.trUtf8('Kivy Files (*.kv *.kivy)'), |
139 self.trUtf8('Kivy Files (*.kv *.kivy)'), |
137 self.trUtf8('Kivy Files (*.kv)'), |
140 self.trUtf8('Kivy Files (*.kv)'), |
138 ['*.kv', '*.kivy'] |
141 ['*.kv', '*.kivy'] |
139 ) |
142 ) |
140 |
143 |
158 Private method to load the translation file. |
161 Private method to load the translation file. |
159 """ |
162 """ |
160 if self.__ui is not None: |
163 if self.__ui is not None: |
161 loc = self.__ui.getLocale() |
164 loc = self.__ui.getLocale() |
162 if loc and loc != "C": |
165 if loc and loc != "C": |
163 locale_dir = \ |
166 locale_dir = os.path.join( |
164 os.path.join(os.path.dirname(__file__), "ProjectKivy", "i18n") |
167 os.path.dirname(__file__), "ProjectKivy", "i18n") |
165 translation = "django_%s" % loc |
168 translation = "django_%s" % loc |
166 translator = QTranslator(None) |
169 translator = QTranslator(None) |
167 loaded = translator.load(translation, locale_dir) |
170 loaded = translator.load(translation, locale_dir) |
168 if loaded: |
171 if loaded: |
169 self.__translator = translator |
172 self.__translator = translator |
170 e5App().installTranslator(self.__translator) |
173 e5App().installTranslator(self.__translator) |
171 else: |
174 else: |
172 print("Warning: translation file '{0}' could not be loaded.".format( |
175 print("Warning: translation file '{0}' could not be" |
173 translation)) |
176 " loaded.".format(translation)) |
174 print("Using default.") |
177 print("Using default.") |
175 |
178 |
176 def fileTypesCallback(self): |
179 def fileTypesCallback(self): |
177 """ |
180 """ |
178 Public method get the filetype associations of the Kivy project type. |
181 Public method get the filetype associations of the Kivy project type. |