PluginProjectFlask.py

Mon, 28 Oct 2024 17:11:28 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 28 Oct 2024 17:11:28 +0100
branch
eric7
changeset 85
fcb5126077b1
parent 84
f39230b845e4
child 87
075f7667f69d
permissions
-rw-r--r--

- changed to the new style header
- ensured proper parent relationship of modal dialogs
- included compiled form files

2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
83
d8788dc3442f Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 82
diff changeset
3 # Copyright (c) 2020 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the Flask project plugin.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
75
7a30d96ea9f6 Resorted the import statements with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 74
diff changeset
10 import fnmatch
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
11 import glob
75
7a30d96ea9f6 Resorted the import statements with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 74
diff changeset
12 import os
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
13
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
14 from PyQt6.QtCore import QCoreApplication, QObject, QTranslator
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15
72
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
16 from eric7 import Preferences
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
17 from eric7.EricWidgets.EricApplication import ericApp
80
662e5eb1ba8b Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
18
662e5eb1ba8b Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
19 try:
662e5eb1ba8b Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
20 from eric7.SystemUtilities.OSUtilities import isMacPlatform, isWindowsPlatform
662e5eb1ba8b Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
21 except ImportError:
662e5eb1ba8b Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
22 # imports for eric < 23.1
662e5eb1ba8b Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
23 from eric7.Globals import isMacPlatform, isWindowsPlatform
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24 from ProjectFlask.Project import Project
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
25
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
26 # Start-of-Header
85
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
27 __header__ = {
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
28 "name": "Flask Project Plugin",
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
29 "author": "Detlev Offenbach <detlev@die-offenbachs.de>",
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
30 "autoactivate": True,
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
31 "deactivateable": True,
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
32 "version": "10.5.0",
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
33 "className": "ProjectFlaskPlugin",
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
34 "packageName": "ProjectFlask",
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
35 "shortDescription": "Project support for Flask projects.",
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
36 "longDescription": "This plugin implements project support for Flask projects.",
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
37 "needsRestart": False,
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
38 "hasCompiledForms": True,
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
39 "pyqtApi": 2,
fcb5126077b1 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 84
diff changeset
40 }
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
41 # End-of-Header
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
42
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
43 error = ""
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
44
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
45 flaskPluginObject = None
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
46
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
47
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
48 def apiFiles(language):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
49 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
50 Module function to return the API files made available by this plugin.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
51
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
52 @param language language to get APIs for
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
53 @type str
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
54 @return list of API filenames
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
55 @rtype list of str
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
56 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
57 if language in ["Python3"]:
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
58 apisDir = os.path.join(os.path.dirname(__file__), "ProjectFlask", "APIs")
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
59 apis = glob.glob(os.path.join(apisDir, "*.api"))
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
60 else:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
61 apis = []
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
62 return apis
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
63
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
64
84
f39230b845e4 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 83
diff changeset
65 def createFlaskPage(configDlg): # noqa: U100
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
66 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
67 Module function to create the Flask configuration page.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
68
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
69 @param configDlg reference to the configuration dialog
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
70 @type ConfigurationWidget
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
71 @return reference to the configuration page
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
72 @rtype FlaskPage
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
73 """
84
f39230b845e4 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 83
diff changeset
74 from ProjectFlask.ConfigurationPage.FlaskPage import FlaskPage
f39230b845e4 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 83
diff changeset
75
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
76 global flaskPluginObject
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
77
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
78 page = FlaskPage(flaskPluginObject)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
79 return page
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
80
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
81
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
82 def getConfigData():
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
83 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
84 Module function returning data as required by the configuration dialog.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
85
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
86 @return dictionary containing the relevant data
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
87 @rtype dict
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
88 """
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
89 usesDarkPalette = ericApp().usesDarkPalette()
61
fe1e8783a95f - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
90 iconSuffix = "dark" if usesDarkPalette else "light"
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
91
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
92 return {
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
93 "flaskPage": [
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
94 QCoreApplication.translate("ProjectFlaskPlugin", "Flask"),
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
95 os.path.join("ProjectFlask", "icons", "flask-{0}".format(iconSuffix)),
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
96 createFlaskPage,
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
97 None,
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
98 None,
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
99 ],
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
100 }
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
101
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
102
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
103 def prepareUninstall():
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
104 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
105 Module function to prepare for an uninstallation.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
106 """
78
5c1a800d43de Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
107 try:
5c1a800d43de Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
108 Preferences.removeProjectBrowsers(ProjectFlaskPlugin.PreferencesKey)
5c1a800d43de Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
109 except AttributeError:
5c1a800d43de Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
110 # backward compatibility for eric7 < 22.12
5c1a800d43de Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
111 Preferences.removeProjectBrowserFlags(ProjectFlaskPlugin.PreferencesKey)
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
112 Preferences.Prefs.settings.remove(ProjectFlaskPlugin.PreferencesKey)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
113 Preferences.Prefs.rsettings.remove(ProjectFlaskPlugin.PreferencesKey)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
114
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
115
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
116 class ProjectFlaskPlugin(QObject):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
117 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
118 Class implementing the Flask project plugin.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
119 """
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
120
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
121 PreferencesKey = "Flask"
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
122
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
123 lexerAssociations = {
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
124 "*.htm": "Pygments|HTML+Django/Jinja",
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
125 "*.html": "Pygments|HTML+Django/Jinja",
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
126 }
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
127
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
128 def __init__(self, ui):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
129 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
130 Constructor
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
131
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
132 @param ui reference to the user interface object
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
133 @type UserInterface
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
134 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
135 QObject.__init__(self, ui)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
136 self.__ui = ui
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
137 self.__initialize()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
138
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
139 self.__defaults = {
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
140 "VirtualEnvironmentNamePy3": "",
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
141 "FlaskDocUrl": "https://flask.palletsprojects.com",
11
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
142 "TranslationsEditor": "",
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
143 "UseExternalBrowser": False,
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
144 }
6
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
145 if isWindowsPlatform():
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
146 self.__defaults["AnsiColorScheme"] = "Windows 10"
9
79094fb72c18 Continued implementing various flask actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
147 self.__defaults["ConsoleCommand"] = "cmd.exe /c"
6
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
148 elif isMacPlatform():
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
149 self.__defaults["AnsiColorScheme"] = "xterm"
9
79094fb72c18 Continued implementing various flask actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
150 self.__defaults["ConsoleCommand"] = "xterm -e"
6
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
151 else:
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
152 self.__defaults["AnsiColorScheme"] = "Ubuntu"
9
79094fb72c18 Continued implementing various flask actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
153 self.__defaults["ConsoleCommand"] = "konsole -e"
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
154
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
155 self.__translator = None
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
156 self.__loadTranslator()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
157
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
158 def __initialize(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
159 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
160 Private slot to (re)initialize the plugin.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
161 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
162 self.__object = None
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
163
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
164 self.__mainMenu = None
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
165 self.__mainAct = None
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
166 self.__separatorAct = None
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
167
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
168 self.__ericProject = ericApp().getObject("Project")
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
169
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
170 self.__supportedVariants = []
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
171
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
172 def activate(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
173 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
174 Public method to activate this plugin.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
175
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
176 @return tuple of None and activation status
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
177 @rtype tuple of (None, bool)
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
178 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
179 global flaskPluginObject
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
180 flaskPluginObject = self
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
181
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
182 usesDarkPalette = ericApp().usesDarkPalette()
61
fe1e8783a95f - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
183 iconSuffix = "dark" if usesDarkPalette else "light"
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
184
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
185 self.__object = Project(self, iconSuffix, self.__ui)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
186 self.__object.initActions()
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
187 ericApp().registerPluginObject("ProjectFlask", self.__object)
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
188
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
189 self.__mainMenu = self.__object.initMenu()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
190
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
191 self.__supportedVariants = self.__object.supportedPythonVariants()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
192
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
193 if self.__supportedVariants:
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
194 self.__ericProject.registerProjectType(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
195 "Flask",
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
196 self.tr("Flask"),
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
197 self.fileTypesCallback,
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
198 lexerAssociationCallback=self.lexerAssociationCallback,
11
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
199 binaryTranslationsCallback=self.binaryTranslationsCallback,
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
200 progLanguages=self.__supportedVariants[:],
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
201 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
202
84
f39230b845e4 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 83
diff changeset
203 Preferences.setProjectBrowsersDefault(
f39230b845e4 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 83
diff changeset
204 "Flask",
f39230b845e4 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 83
diff changeset
205 ("sources", "forms", "translations", "others"),
f39230b845e4 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 83
diff changeset
206 )
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
207
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
208 if self.__ericProject.isOpen():
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
209 self.__projectOpened()
11
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
210 self.__object.projectOpenedHooks()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
211
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
212 ericApp().getObject("Project").projectOpened.connect(self.__projectOpened)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
213 ericApp().getObject("Project").projectClosed.connect(self.__projectClosed)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
214 ericApp().getObject("Project").newProject.connect(self.__projectOpened)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
215
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
216 ericApp().getObject("Project").projectOpenedHooks.connect(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
217 self.__object.projectOpenedHooks
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
218 )
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
219 ericApp().getObject("Project").projectClosedHooks.connect(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
220 self.__object.projectClosedHooks
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
221 )
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
222 ericApp().getObject("Project").newProjectHooks.connect(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
223 self.__object.projectOpenedHooks
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
224 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
225
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
226 return None, True
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
227
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
228 def deactivate(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
229 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
230 Public method to deactivate this plugin.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
231 """
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
232 ericApp().unregisterPluginObject("ProjectFlask")
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
233
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
234 ericApp().getObject("Project").projectOpened.disconnect(self.__projectOpened)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
235 ericApp().getObject("Project").projectClosed.disconnect(self.__projectClosed)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
236 ericApp().getObject("Project").newProject.disconnect(self.__projectOpened)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
237
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
238 ericApp().getObject("Project").projectOpenedHooks.disconnect(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
239 self.__object.projectOpenedHooks
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
240 )
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
241 ericApp().getObject("Project").projectClosedHooks.disconnect(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
242 self.__object.projectClosedHooks
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
243 )
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
244 ericApp().getObject("Project").newProjectHooks.disconnect(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
245 self.__object.projectOpenedHooks
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
246 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
247
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
248 self.__ericProject.unregisterProjectType("Flask")
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
249
11
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
250 self.__object.projectClosedHooks()
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
251 self.__projectClosed()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
252
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
253 self.__initialize()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
254
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
255 def __loadTranslator(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
256 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
257 Private method to load the translation file.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
258 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
259 if self.__ui is not None:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
260 loc = self.__ui.getLocale()
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
261 if loc and loc != "C":
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
262 locale_dir = os.path.join(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
263 os.path.dirname(__file__), "ProjectFlask", "i18n"
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
264 )
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
265 translation = "flask_{0}".format(loc)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
266 translator = QTranslator(None)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
267 loaded = translator.load(translation, locale_dir)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
268 if loaded:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
269 self.__translator = translator
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
270 ericApp().installTranslator(self.__translator)
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
271 else:
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
272 print(
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
273 "Warning: translation file '{0}' could not be"
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
274 " loaded.".format(translation)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
275 )
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
276 print("Using default.")
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
277
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
278 def __projectOpened(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
279 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
280 Private slot to handle the projectOpened signal.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
281 """
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
282 if self.__ericProject.getProjectType() == "Flask":
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
283 projectToolsMenu = self.__ui.getMenu("project_tools")
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
284 insertBeforeAct = projectToolsMenu.actions()[0]
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
285 self.__mainAct = projectToolsMenu.insertMenu(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
286 insertBeforeAct, self.__mainMenu
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
287 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
288 self.__separatorAct = projectToolsMenu.insertSeparator(insertBeforeAct)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
289
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
290 def __projectClosed(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
291 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
292 Private slot to handle the projectClosed signal.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
293 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
294 if self.__mainAct is not None:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
295 projectToolsMenu = self.__ui.getMenu("project_tools")
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
296 projectToolsMenu.removeAction(self.__separatorAct)
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
297 projectToolsMenu.removeAction(self.__mainAct)
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
298 self.__mainAct = None
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
299 self.__separatorAct = None
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
300 self.__object.projectClosed()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
301
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
302 def fileTypesCallback(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
303 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
304 Public method get the filetype associations of the Django project type.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
305
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
306 @return dictionary with file type associations
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
307 @rtype dict
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
308 """
61
fe1e8783a95f - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
309 fileTypes = (
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
310 {
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
311 "*.py": "SOURCES",
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
312 "*.js": "SOURCES",
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
313 "*.html": "FORMS",
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
314 "*.htm": "FORMS",
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
315 "*.pot": "TRANSLATIONS",
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
316 "*.po": "TRANSLATIONS",
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
317 "*.mo": "TRANSLATIONS",
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
318 }
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
319 if self.__ericProject.getProjectType() == "Flask"
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
320 else {}
61
fe1e8783a95f - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
321 )
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
322 return fileTypes
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
323
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
324 def lexerAssociationCallback(self, filename):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
325 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
326 Public method to get the lexer association of the Django project type
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
327 for a file.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
328
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
329 @param filename name of the file
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
330 @type str
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
331 @return name of the lexer (Pygments lexers are prefixed with
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
332 'Pygments|')
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
333 @rtype str
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
334 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
335 for pattern, language in self.lexerAssociations.items():
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
336 if fnmatch.fnmatch(filename, pattern):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
337 return language
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
338
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
339 return ""
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
340
11
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
341 def binaryTranslationsCallback(self, filename):
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
342 """
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
343 Public method to determine the filename of a compiled translation file
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
344 given the translation source file.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
345
11
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
346 @param filename name of the translation source file
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
347 @type str
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
348 @return name of the binary translation file
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
349 @rtype str
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
350 """
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
351 if filename.endswith(".po"):
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
352 return filename.replace(".po", ".mo")
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
353
11
da6ef8ab8268 Started support for translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
354 return filename
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
355
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
356 def getDefaultPreference(self, key):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
357 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
358 Public method to get the default value for a setting.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
359
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
360 @param key the key of the value to get
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
361 @type str
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
362 @return the requested setting
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
363 @rtype any
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
364 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
365 return self.__defaults[key]
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
366
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
367 def getPreferences(self, key):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
368 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
369 Public method to retrieve the various settings.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
370
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
371 @param key the key of the value to get
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
372 @type str
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
373 @return the requested setting
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
374 @rtype any
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
375 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
376 if key in ["UseExternalBrowser"]:
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
377 return Preferences.toBool(
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
378 Preferences.Prefs.settings.value(
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
379 self.PreferencesKey + "/" + key, self.__defaults[key]
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
380 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
381 )
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
382 else:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
383 return Preferences.Prefs.settings.value(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
384 self.PreferencesKey + "/" + key, self.__defaults[key]
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
385 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
386
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
387 def setPreferences(self, key, value):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
388 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
389 Public method to store the various settings.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
390
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
391 @param key the key of the setting to be set
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
392 @type str
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
393 @param value the value to be set
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
394 @type any
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
395 """
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
396 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
397
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
398 if key in ["VirtualEnvironmentNamePy3"]:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
399 self.__reregisterProjectType()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
400
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
401 def __reregisterProjectType(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
402 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
403 Private method to re-register the project type.
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
404 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
405 supportedVariants = self.__object.supportedPythonVariants()
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
406 if supportedVariants != self.__supportedVariants:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
407 # step 1: unregister
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
408 self.__ericProject.unregisterProjectType("Flask")
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
409
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
410 # step 2: register again with new language settings
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
411 self.__supportedVariants = supportedVariants
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
412 if self.__supportedVariants:
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
413 self.__ericProject.registerProjectType(
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
414 "Flask",
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
415 self.tr("Flask"),
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
416 self.fileTypesCallback,
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
417 lexerAssociationCallback=self.lexerAssociationCallback,
16
dd3f6bfb85f7 Done implementing pybabel translations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
418 binaryTranslationsCallback=self.binaryTranslationsCallback,
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
419 progLanguages=self.__supportedVariants[:],
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
420 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
421
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
422 def getMenu(self, name):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
423 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
424 Public method to get a reference to the requested menu.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
425
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
426 @param name name of the menu
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
427 @type str
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
428 @return reference to the menu or None, if no
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
429 menu with the given name exists
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
430 @rtype QMenu or None
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
431 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
432 if self.__object is not None:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
433 return self.__object.getMenu(name)
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
434 else:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
435 return None
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
436
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
437 def getMenuNames(self):
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
438 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
439 Public method to get the names of all menus.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
440
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
441 @return menu names
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
442 @rtype list of str
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
443 """
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
444 if self.__object is not None:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
445 return list(self.__menus.keys())
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
446 else:
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
447 return []
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
448
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 67
diff changeset
449
2
6cc80e4db8a7 Added code for the basic project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
450 #
84
f39230b845e4 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 83
diff changeset
451 # eflag: noqa = M801, U200

eric ide

mercurial