PluginProjectKivy.py

Sat, 23 Dec 2023 15:48:53 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 15:48:53 +0100
branch
eric7
changeset 68
20cdd6e03807
parent 66
978b7b8eee65
child 70
2c0a54bf5b4c
permissions
-rw-r--r--

Updated copyright for 2024.

1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
68
20cdd6e03807 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
3 # Copyright (c) 2013 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the Kivy project plug-in.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
10 import contextlib
57
ebf3e41eff26 Sorted imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 55
diff changeset
11 import fnmatch
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
12 import glob
57
ebf3e41eff26 Sorted imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 55
diff changeset
13 import os
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
14
57
ebf3e41eff26 Sorted imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 55
diff changeset
15 from pygments.lexers._mapping import LEXERS
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
16 from PyQt6.QtCore import QObject, QTranslator
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
17
51
344ab3a70c58 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 50
diff changeset
18 from eric7 import Preferences
344ab3a70c58 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 50
diff changeset
19 from eric7.EricWidgets.EricApplication import ericApp
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
20 from eric7.QScintilla import Lexers, TypingCompleters
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
21
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
22 # Start-of-Header
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
23 name = "Kivy Project Plugin"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
25 autoactivate = True
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
26 deactivateable = True
66
978b7b8eee65 Prepared new release.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 59
diff changeset
27 version = "10.3.1"
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
28 className = "ProjectKivyPlugin"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
29 packageName = "ProjectKivy"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
30 shortDescription = "Project support for Kivy projects."
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
31 longDescription = """This plugin implements project support for Kivy projects."""
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
32 needsRestart = False
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
33 pyqtApi = 2
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
34 # End-of-Header
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
35
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
36 error = ""
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
37
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
38
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
39 def apiFiles(language):
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
40 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
41 Module function to return the API files made available by this plugin.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
42
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
43 @param language language to get API file for
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
44 @type str
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
45 @return list of API filenames
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
46 @rtype list of str
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
47 """
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
48 if language in ["Python3"]:
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
49 apisDir = os.path.join(os.path.dirname(__file__), "ProjectKivy", "APIs")
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
50 return glob.glob(os.path.join(apisDir, "*.api"))
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
51 else:
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
52 return []
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
53
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
54
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
55 def prepareUninstall():
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
56 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
57 Module function to prepare for an uninstallation.
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
58 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
59 Preferences.Prefs.settings.remove(ProjectKivyPlugin.PreferencesKey)
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
60
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
61
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
62 class ProjectKivyPlugin(QObject):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
63 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
64 Class implementing the Kivy project plugin.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
65 """
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
66
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
67 PreferencesKey = "Kivy"
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
68
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
69 lexerAssociations = {
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
70 "*.kv": "Pygments|Kivy",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
71 "*.kivy": "Pygments|Kivy",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
72 }
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
73
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
74 KivyLexerKey = "KivyLexer"
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
75 KivyLexerEntry = (
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
76 "ProjectKivy.KivyLexer",
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
77 "Kivy",
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
78 ("kivy", "kv"),
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
79 ("*.kv", "*.kivy"),
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
80 ("application/x-kivy",),
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
81 )
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
82
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
83 def __init__(self, ui):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
84 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
85 Constructor
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
86
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
87 @param ui reference to the user interface object
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
88 @type UserInterface
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
89 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
90 QObject.__init__(self, ui)
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
91 self.__ui = ui
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
92 self.__initialize()
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
93
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
94 self.__typingDefaults = {
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
95 "EnabledTypingAids": True,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
96 "InsertClosingBrace": True,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
97 "SkipBrace": True,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
98 "InsertQuote": True,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
99 "AutoIndentation": True,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
100 "ColonDetection": True,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
101 "InsertBlankColon": True,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
102 "InsertBlankComma": True,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
103 }
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
104
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
105 self.__translator = None
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
106 self.__loadTranslator()
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
107
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
108 def __initialize(self):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
109 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
110 Private slot to (re)initialize the plugin.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
111 """
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
112 self.__ericProject = ericApp().getObject("Project")
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
113
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
114 def activate(self):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
115 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
116 Public method to activate this plugin.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
117
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
118 @return tuple of None and activation status
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
119 @rtype bool
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
120 """
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
121 self.__ericProject.registerProjectType(
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
122 "Kivy",
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
123 self.tr("Kivy"),
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
124 self.fileTypesCallback,
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
125 lexerAssociationCallback=self.lexerAssociationCallback,
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
126 progLanguages=["Python3"],
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
127 )
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
128
53
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
129 try:
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
130 # backward compatibility for eric7 < 22.12
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
131 from eric7.Project.ProjectBrowser import ( # noqa: I101
57
ebf3e41eff26 Sorted imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 55
diff changeset
132 FormsBrowserFlag,
ebf3e41eff26 Sorted imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 55
diff changeset
133 OthersBrowserFlag,
53
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
134 SourcesBrowserFlag,
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
135 TranslationsBrowserFlag,
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
136 )
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
137
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
138 Preferences.setProjectBrowserFlagsDefault(
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
139 "Kivy",
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
140 SourcesBrowserFlag
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
141 | FormsBrowserFlag
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
142 | TranslationsBrowserFlag
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
143 | OthersBrowserFlag,
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
144 )
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
145 except ImportError:
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
146 Preferences.setProjectBrowsersDefault(
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
147 "Kivy",
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
148 ("sources", "forms", "translations", "others"),
92a00696c442 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
149 )
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
150
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
151 LEXERS[self.KivyLexerKey] = self.KivyLexerEntry
51
344ab3a70c58 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 50
diff changeset
152 Lexers.registerLexer(
35
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
153 "Pygments|Kivy",
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
154 self.tr("Kivy"),
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
155 "dummy.kv",
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
156 self.getLexer,
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
157 [self.tr("Kivy Files (*.kv *.kivy)")],
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
158 [self.tr("Kivy Files (*.kv)")],
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
159 ["*.kv", "*.kivy"],
35
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
160 )
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
161
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
162 with contextlib.suppress(AttributeError):
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
163 # Typing Completer (eric7 > 23.9)
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
164 TypingCompleters.registerCompleter(
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
165 language="Pygments|Kivy",
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
166 createCompleterFunction=self.createTypingCompleter,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
167 createConfigPageFunction=self.createTypingCompleterConfigWidget,
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
168 )
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
169
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
170 return None, True
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
171
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
172 def deactivate(self):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
173 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
174 Public method to deactivate this plugin.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
175 """
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
176 self.__ericProject.unregisterProjectType("Kivy")
51
344ab3a70c58 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 50
diff changeset
177
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
178 with contextlib.suppress(AttributeError):
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
179 # Typing Completer (eric7 > 23.9)
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
180 TypingCompleters.unregisterTypingCompleter("Pygments|Kivy")
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
181
55
51942cec15c0 Fixed an issue causing the lexer not to be unregistered upon plugin deactivation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
182 Lexers.unregisterLexer("Pygments|Kivy")
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
183 if self.KivyLexerKey in LEXERS:
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
184 del LEXERS[self.KivyLexerKey]
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
185
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
186 self.__initialize()
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
187
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
188 def __loadTranslator(self):
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
189 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
190 Private method to load the translation file.
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
191 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
192 if self.__ui is not None:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
193 loc = self.__ui.getLocale()
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
194 if loc and loc != "C":
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
195 locale_dir = os.path.join(
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
196 os.path.dirname(__file__), "ProjectKivy", "i18n"
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
197 )
32
1264664c5ba9 Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
198 translation = "kivy_{0}".format(loc)
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
199 translator = QTranslator(None)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
200 loaded = translator.load(translation, locale_dir)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
201 if loaded:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
202 self.__translator = translator
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
203 ericApp().installTranslator(self.__translator)
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
204 else:
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
205 print(
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
206 "Warning: translation file '{0}' could not be"
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
207 " loaded.".format(translation)
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
208 )
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
209 print("Using default.")
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
210
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
211 def fileTypesCallback(self):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
212 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
213 Public method get the filetype associations of the Kivy project type.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
214
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
215 @return dictionary with file type associations
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
216 @rtype dict
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
217 """
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
218 if self.__ericProject.getProjectType() == "Kivy":
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
219 return {
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
220 "*.kv": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
221 "*.kivy": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
222 "*.py": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
223 }
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
224 else:
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
225 return {}
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
226
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
227 def lexerAssociationCallback(self, filename):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
228 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
229 Public method to get the lexer association of the Kivy project type for
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
230 a file.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
231
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
232 @param filename name of the file
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
233 @type str
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
234 @return name of the lexer (Pygments lexers are prefixed with
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
235 'Pygments|')
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
236 @rtype str
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
237 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
238 for pattern, language in self.lexerAssociations.items():
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
239 if fnmatch.fnmatch(filename, pattern):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
240 return language
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
241
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
242 return ""
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
243
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
244 def getLexer(self, parent=None):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
245 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
246 Public method to instantiate a Pygments Kivy lexer object.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
247
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
248 @param parent reference to the parent object
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
249 @type QObject
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
250 @return reference to the instanciated lexer object
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
251 @rtype QsciLexer
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
252 """
51
344ab3a70c58 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 50
diff changeset
253 from eric7.QScintilla.Lexers.LexerPygments import LexerPygments
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
254
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
255 lexer = LexerPygments(parent, name="Kivy")
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
256 if lexer.canStyle():
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
257 return lexer
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
258 else:
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
259 return None
32
1264664c5ba9 Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
260
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
261 def getTypingPreferences(self, key):
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
262 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
263 Public method to retrieve the typing completer settings.
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
264
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
265 @param key the key of the value to get
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
266 @type str
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
267 @return value of the requested setting
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
268 @rtype Any
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
269 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
270 return Preferences.toBool(
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
271 Preferences.Prefs.settings.value(
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
272 f"{self.PreferencesKey}/Typing/{key}", self.__typingDefaults[key]
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
273 )
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
274 )
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
275
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
276 def setTypingPreferences(self, key, value):
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
277 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
278 Public method to store the typing completer settings.
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
279
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
280 @param key the key of the setting to be set
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
281 @type str
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
282 @param value value to be set
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
283 @type Any
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
284 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
285 Preferences.Prefs.settings.setValue(
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
286 f"{self.PreferencesKey}/Typing/{key}", value
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
287 )
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
288
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
289 def createTypingCompleter(self, editor, parent=None):
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
290 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
291 Public method to create a typing completer object for the given editor.
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
292
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
293 @param editor reference to the editor object
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
294 @type Editor
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
295 @param parent reference to the parent object (defaults to None)
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
296 @type QObject (optional)
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
297 @return reference to the instantiated typing completer object
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
298 @rtype CompleterKivy
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
299 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
300 from ProjectKivy.CompleterKivy import CompleterKivy
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
301
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
302 return CompleterKivy(self, editor, parent)
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
303
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
304 def createTypingCompleterConfigWidget(self):
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
305 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
306 Public method to create and populate the typing completer configuration widget.
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
307
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
308 @return instantiated and populated configuration widget
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
309 @rtype CompleterKivyConfigWidget
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
310 """
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
311 from ProjectKivy.CompleterKivyConfigWidget import CompleterKivyConfigWidget
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
312
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
313 widget = CompleterKivyConfigWidget(self)
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
314 return widget
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
315
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
316
32
1264664c5ba9 Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
317 #
59
fb361b396c68 Added a Typing Completer and an associated configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 58
diff changeset
318 # eflag: noqa = M801, M811, U200

eric ide

mercurial