PluginProjectDjango.py

Wed, 21 Dec 2022 09:27:28 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 21 Dec 2022 09:27:28 +0100
branch
eric7
changeset 188
b08c2cb2e0a0
parent 186
bd5621e752ca
child 190
f394b11f9f31
permissions
-rw-r--r--

Adapted some import statements to eric 23.1 and newer.

1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
175
30cb5e553e7e Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
3 # Copyright (c) 2013 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the Django project plugin.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
181
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
10 import fnmatch
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
11 import glob
181
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
12 import os
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
13
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
14 from PyQt6.QtCore import QCoreApplication, QObject, QTranslator
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15
181
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
16 from eric7 import Preferences
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
17 from eric7.EricWidgets.EricApplication import ericApp
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
18
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
19 try:
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
20 from eric7.SystemUtilities.OSUtilities import isMacPlatform, isWindowsPlatform
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
21 except ImportError:
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
22 # imports for eric < 23.1
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
23 from eric7.Globals import isWindowsPlatform, isMacPlatform
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
25 from ProjectDjango.Project import Project
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
26
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
27 # Start-of-Header
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
28 name = "Django Project Plugin"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
29 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
30 autoactivate = True
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
31 deactivateable = True
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
32 version = "10.3.0"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
33 className = "ProjectDjangoPlugin"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
34 packageName = "ProjectDjango"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
35 shortDescription = "Project support for Django projects."
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
36 longDescription = """This plugin implements project support for Django projects."""
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
37 needsRestart = False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
38 pyqtApi = 2
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
39 # End-of-Header
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
40
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
41 error = ""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
42
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
43 djangoPluginObject = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
44
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
45
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
46 def apiFiles(language):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
47 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
48 Module function to return the API files made available by this plugin.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
49
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
50 @param language language to get APIs for
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
51 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
52 @return list of API filenames
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
53 @rtype list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
54 """
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
55 if language in ["Python3"]:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
56 apisDir = os.path.join(os.path.dirname(__file__), "ProjectDjango", "APIs")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
57 apis = glob.glob(os.path.join(apisDir, "*.api"))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
58 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
59 apis = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
60 return apis
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
61
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
62
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
63 def createDjangoPage(configDlg):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
64 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
65 Module function to create the Django configuration page.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
66
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
67 @param configDlg reference to the configuration dialog
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
68 @type ConfigurationWidget
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
69 @return reference to the configuration page
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
70 @rtype DjangoPage
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
71 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
72 global djangoPluginObject
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
73 from ProjectDjango.ConfigurationPage.DjangoPage import DjangoPage
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
74
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
75 page = DjangoPage(djangoPluginObject)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
76 return page
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
77
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
78
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
79 def getConfigData():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
80 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
81 Module function returning data as required by the configuration dialog.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
82
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
83 @return dictionary containing the relevant data
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
84 @rtype dict
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
85 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
86 usesDarkPalette = ericApp().usesDarkPalette()
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
87 iconSuffix = "dark" if usesDarkPalette else "light"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
88
100
6de07bdc8f13 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 98
diff changeset
89 return {
6de07bdc8f13 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 98
diff changeset
90 "djangoPage": [
6de07bdc8f13 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 98
diff changeset
91 QCoreApplication.translate("ProjectDjangoPlugin", "Django"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
92 os.path.join("ProjectDjango", "icons", "django-{0}".format(iconSuffix)),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
93 createDjangoPage,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
94 None,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
95 None,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
96 ],
100
6de07bdc8f13 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 98
diff changeset
97 }
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
98
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
99
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
100 def prepareUninstall():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
101 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
102 Module function to prepare for an uninstallation.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
103 """
186
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
104 try:
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
105 Preferences.removeProjectBrowsers(ProjectDjangoPlugin.PreferencesKey)
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
106 except AttributeError:
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
107 # backward compatibility for eric7 < 22.12
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
108 Preferences.removeProjectBrowserFlags(ProjectDjangoPlugin.PreferencesKey)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
109 Preferences.Prefs.settings.remove(ProjectDjangoPlugin.PreferencesKey)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
110 Preferences.Prefs.rsettings.remove(ProjectDjangoPlugin.PreferencesKey)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
111
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
112
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
113 class ProjectDjangoPlugin(QObject):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
114 """
11
5eda53fad138 Fixed a few bugs (copy-paste issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
115 Class implementing the Django project plugin.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
116 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
117
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
118 PreferencesKey = "Django"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
119
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
120 lexerAssociations = {
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
121 "*.htm": "Pygments|HTML+Django/Jinja",
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
122 "*.html": "Pygments|HTML+Django/Jinja",
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
123 }
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
124
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
125 def __init__(self, ui):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
126 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
127 Constructor
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
128
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
129 @param ui reference to the user interface object
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
130 @type UserInterface
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
131 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
132 QObject.__init__(self, ui)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
133 self.__ui = ui
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
134 self.__initialize()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
135
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
136 self.__defaults = {
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 128
diff changeset
137 "VirtualEnvironmentNamePy3": "",
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
138 "Python3ConsoleType": "ipython",
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
139 "ServerAddress": "",
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
140 "RecentNumberApps": 10,
4
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
141 "UseIPv6": False,
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
142 "UseThreading": True,
20
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
143 "TranslationsEditor": "",
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
144 "FuzzyTranslations": False,
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
145 "UseExternalBrowser": False,
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
146 "CheckDeployMode": False,
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
147 "RecentNumberTestData": 10,
119
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 117
diff changeset
148 "KeepTestDatabase": False,
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
149 "RecentNumberDatabaseNames": 10,
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
150 }
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
151 if isWindowsPlatform():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
152 self.__defaults["ConsoleCommandNoClose"] = "cmd.exe /k"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
153 self.__defaults["ConsoleCommand"] = "cmd.exe /c"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
154 elif isMacPlatform():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
155 self.__defaults["ConsoleCommandNoClose"] = "xterm -hold -e"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
156 self.__defaults["ConsoleCommand"] = "xterm -e"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
157 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
158 self.__defaults["ConsoleCommandNoClose"] = "konsole --noclose -e"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
159 self.__defaults["ConsoleCommand"] = "konsole -e"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
160
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
161 self.__translator = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
162 self.__loadTranslator()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
163
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
164 def __initialize(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
165 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
166 Private slot to (re)initialize the plugin.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
167 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
168 self.__object = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
169
143
29d8187f989e PluginProjectDjango: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 142
diff changeset
170 self.__mainMenu = None
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
171 self.__mainAct = None
143
29d8187f989e PluginProjectDjango: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 142
diff changeset
172 self.__separatorAct = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
173
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
174 self.__ericProject = ericApp().getObject("Project")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
175
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
176 self.__supportedVariants = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
177
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
178 def activate(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
179 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
180 Public method to activate this plugin.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
181
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
182 @return tuple of None and activation status
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
183 @rtype bool
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
184 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
185 global djangoPluginObject
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
186 djangoPluginObject = self
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
187
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
188 usesDarkPalette = ericApp().usesDarkPalette()
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
189 iconSuffix = "dark" if usesDarkPalette else "light"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
190
153
55389b5b105a Fixed a severe oversight.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
191 self.__object = Project(self, iconSuffix, self.__ui)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
192 self.__object.initActions()
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
193 ericApp().registerPluginObject("ProjectDjango", self.__object)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
194
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
195 self.__mainMenu = self.__object.initMenu()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
196
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
197 self.__supportedVariants = self.__object.supportedPythonVariants()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
198
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
199 if self.__supportedVariants:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
200 self.__ericProject.registerProjectType(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
201 "Django",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
202 self.tr("Django"),
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
203 self.fileTypesCallback,
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
204 lexerAssociationCallback=self.lexerAssociationCallback,
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
205 binaryTranslationsCallback=self.binaryTranslationsCallback,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
206 progLanguages=self.__supportedVariants[:],
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
207 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
208
186
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
209 try:
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
210 # backward compatibility for eric7 < 22.12
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
211 from eric7.Project.ProjectBrowser import (
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
212 FormsBrowserFlag,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
213 OthersBrowserFlag,
186
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
214 SourcesBrowserFlag,
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
215 TranslationsBrowserFlag,
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
216 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
217
186
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
218 Preferences.setProjectBrowserFlagsDefault(
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
219 "Django",
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
220 SourcesBrowserFlag
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
221 | FormsBrowserFlag
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
222 | TranslationsBrowserFlag
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
223 | OthersBrowserFlag,
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
224 )
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
225 except ImportError:
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
226 Preferences.setProjectBrowsersDefault(
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
227 "Django",
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
228 ("sources", "forms", "translations", "others"),
bd5621e752ca Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
229 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
230
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
231 if self.__ericProject.isOpen():
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
232 self.__projectOpened()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
233 self.__object.projectOpenedHooks()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
234
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
235 ericApp().getObject("Project").projectOpened.connect(self.__projectOpened)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
236 ericApp().getObject("Project").projectClosed.connect(self.__projectClosed)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
237 ericApp().getObject("Project").newProject.connect(self.__projectOpened)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
238
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
239 ericApp().getObject("Project").projectOpenedHooks.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
240 self.__object.projectOpenedHooks
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
241 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
242 ericApp().getObject("Project").projectClosedHooks.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
243 self.__object.projectClosedHooks
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
244 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
245 ericApp().getObject("Project").newProjectHooks.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
246 self.__object.projectOpenedHooks
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
247 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
248
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
249 ericApp().getObject("Project").projectAboutToBeCreated.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
250 self.__object.startProjectOrApplication
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
251 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
252 ericApp().getObject("Project").newProject.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
253 self.__object.newProjectCreated
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
254 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
255
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
256 return None, True
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
257
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
258 def deactivate(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
259 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
260 Public method to deactivate this plugin.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
261 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
262 ericApp().unregisterPluginObject("ProjectDjango")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
263
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
264 ericApp().getObject("Project").projectOpened.disconnect(self.__projectOpened)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
265 ericApp().getObject("Project").projectClosed.disconnect(self.__projectClosed)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
266 ericApp().getObject("Project").newProject.disconnect(self.__projectOpened)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
267
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
268 ericApp().getObject("Project").projectOpenedHooks.disconnect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
269 self.__object.projectOpenedHooks
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
270 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
271 ericApp().getObject("Project").projectClosedHooks.disconnect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
272 self.__object.projectClosedHooks
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
273 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
274 ericApp().getObject("Project").newProjectHooks.disconnect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
275 self.__object.projectOpenedHooks
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
276 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
277
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
278 ericApp().getObject("Project").projectAboutToBeCreated.disconnect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
279 self.__object.startProjectOrApplication
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
280 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
281 ericApp().getObject("Project").newProject.disconnect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
282 self.__object.newProjectCreated
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
283 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
284
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
285 self.__ericProject.unregisterProjectType("Django")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
286
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
287 self.__object.projectClosedHooks()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
288 self.__projectClosed()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
289
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
290 self.__initialize()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
291
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
292 def __loadTranslator(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
293 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
294 Private method to load the translation file.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
295 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
296 if self.__ui is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
297 loc = self.__ui.getLocale()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
298 if loc and loc != "C":
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
299 locale_dir = os.path.join(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
300 os.path.dirname(__file__), "ProjectDjango", "i18n"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
301 )
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
302 translation = "django_{0}".format(loc)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
303 translator = QTranslator(None)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
304 loaded = translator.load(translation, locale_dir)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
305 if loaded:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
306 self.__translator = translator
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
307 ericApp().installTranslator(self.__translator)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
308 else:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
309 print(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
310 "Warning: translation file '{0}' could not be"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
311 " loaded.".format(translation)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
312 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
313 print("Using default.")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
314
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
315 def __projectOpened(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
316 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
317 Private slot to handle the projectOpened signal.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
318 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
319 if self.__ericProject.getProjectType() == "Django":
143
29d8187f989e PluginProjectDjango: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 142
diff changeset
320 projectToolsMenu = self.__ui.getMenu("project_tools")
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
321 insertBeforeAct = projectToolsMenu.actions()[0]
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
322 self.__mainAct = projectToolsMenu.insertMenu(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
323 insertBeforeAct, self.__mainMenu
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
324 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
325 self.__separatorAct = projectToolsMenu.insertSeparator(insertBeforeAct)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
326
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
327 def __projectClosed(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
328 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
329 Private slot to handle the projectClosed signal.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
330 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
331 if self.__mainAct is not None:
143
29d8187f989e PluginProjectDjango: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 142
diff changeset
332 projectToolsMenu = self.__ui.getMenu("project_tools")
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
333 projectToolsMenu.removeAction(self.__separatorAct)
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
334 projectToolsMenu.removeAction(self.__mainAct)
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
335 self.__mainAct = None
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
336 self.__separatorAct = None
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
337 self.__object.projectClosed()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
338
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
339 def fileTypesCallback(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
340 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
341 Public method get the filetype associations of the Django project type.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
342
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
343 @return dictionary with file type associations
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
344 @rtype dict
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
345 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
346 fileTypes = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
347 {
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
348 "*.html": "FORMS",
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
349 "*.htm": "FORMS",
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
350 "*.js": "SOURCES",
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
351 "*.pot": "TRANSLATIONS",
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
352 "*.po": "TRANSLATIONS",
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
353 "*.mo": "TRANSLATIONS",
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
354 "*.py": "SOURCES",
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
355 }
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
356 if self.__ericProject.getProjectType() == "Django"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
357 else {}
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
358 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
359 return fileTypes
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
360
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
361 def lexerAssociationCallback(self, filename):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
362 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
363 Public method to get the lexer association of the Django project type
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
364 for a file.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
365
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
366 @param filename name of the file
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
367 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
368 @return name of the lexer (Pygments lexers are prefixed with
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
369 'Pygments|')
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
370 @rtype str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
371 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
372 for pattern, language in self.lexerAssociations.items():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
373 if fnmatch.fnmatch(filename, pattern):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
374 return language
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
375
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
376 return ""
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
377
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
378 def binaryTranslationsCallback(self, filename):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
379 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
380 Public method to determine the filename of a compiled translation file
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
381 given the translation source file.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
382
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
383 @param filename name of the translation source file
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
384 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
385 @return name of the binary translation file
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
386 @rtype str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
387 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
388 if filename.endswith(".po"):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
389 filename = filename.replace(".po", ".mo")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
390 return filename
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
391
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
392 def getPreferences(self, key):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
393 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
394 Public method to retrieve the various settings.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
395
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
396 @param key the key of the value to get
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
397 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
398 @return value of the requested setting
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
399 @rtype Any
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
400 """
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
401 if key in ["RecentNumberApps", "RecentNumberTestData"]:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
402 return int(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
403 Preferences.Prefs.settings.value(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
404 self.PreferencesKey + "/" + key, self.__defaults[key]
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
405 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
406 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
407 elif key in [
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
408 "UseIPv6",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
409 "UseThreading",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
410 "UseExternalBrowser",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
411 "CheckDeployMode",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
412 "KeepTestDatabase",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
413 "FuzzyTranslations",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
414 ]:
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
415 return Preferences.toBool(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
416 Preferences.Prefs.settings.value(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
417 self.PreferencesKey + "/" + key, self.__defaults[key]
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
418 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
419 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
420 else:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
421 return Preferences.Prefs.settings.value(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
422 self.PreferencesKey + "/" + key, self.__defaults[key]
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
423 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
424
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
425 def setPreferences(self, key, value):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
426 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
427 Public method to store the various settings.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
428
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
429 @param key the key of the setting to be set
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
430 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
431 @param value value to be set
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
432 @type Any
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
433 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
434 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
435
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
436 if key in ["VirtualEnvironmentNamePy3"]:
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
437 self.__reregisterProjectType()
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
438 elif key == "TranslationsEditor" and self.__object:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
439 self.__object.registerOpenHook()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
440
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
441 def __reregisterProjectType(self):
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
442 """
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
443 Private method to re-register the project type.
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
444 """
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
445 supportedVariants = self.__object.supportedPythonVariants()
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
446 if supportedVariants != self.__supportedVariants:
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
447 # step 1: unregister
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
448 self.__ericProject.unregisterProjectType("Django")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
449
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
450 # step 2: register again with new language settings
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
451 self.__supportedVariants = supportedVariants
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
452 if self.__supportedVariants:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
453 self.__ericProject.registerProjectType(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
454 "Django",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
455 self.tr("Django"),
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
456 self.fileTypesCallback,
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
457 lexerAssociationCallback=self.lexerAssociationCallback,
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
458 binaryTranslationsCallback=self.binaryTranslationsCallback,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
459 progLanguages=self.__supportedVariants[:],
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
460 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
461
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
462 def getMenu(self, name):
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
463 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
464 Public method to get a reference to the requested menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
465
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
466 @param name name of the menu (string)
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
467 @return reference to the menu (QMenu) or None, if no
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
468 menu with the given name exists
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
469 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
470 if self.__object is not None:
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
471 return self.__object.getMenu(name)
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
472 else:
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
473 return None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
474
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
475 def getMenuNames(self):
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
476 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
477 Public method to get the names of all menus.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
478
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
479 @return menu names (list of string)
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
480 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
481 if self.__object is not None:
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
482 return list(self.__menus.keys())
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
483 else:
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
484 return []
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
485
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
486
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
487 #
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
488 # eflag: noqa = M801

eric ide

mercurial