PluginProjectDjango.py

Wed, 30 Dec 2020 11:02:06 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 30 Dec 2020 11:02:06 +0100
changeset 168
c6182aab51e9
parent 165
80afe6639c6c
child 169
b8f263e05c39
permissions
-rw-r--r--

Updated copyright for 2021.

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

eric ide

mercurial