src/eric7/Project/PropertiesDialog.py

Wed, 20 Dec 2023 19:28:22 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 20 Dec 2023 19:28:22 +0100
branch
eric7
changeset 10430
e440aaf179ce
parent 10154
d833c6a8c41f
child 10439
21c28b0f9e41
permissions
-rw-r--r--

Converted some source code documentation to the new style.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9653
e67609152c5e Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9624
diff changeset
3 # Copyright (c) 2002 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the project properties dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
9065
39405e6eba20 Integrated the new testing widget into the eric IDE (compared to as a standalone app) and implemented the 'Show Source' functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
10 import contextlib
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
9175
21e2be5f0b41 Changed code to use the 'trove-classifiers' package instead of a local text file copy or a download from PyPI.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9141
diff changeset
13 import trove_classifiers
21e2be5f0b41 Changed code to use the 'trove-classifiers' package instead of a local text file copy or a download from PyPI.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9141
diff changeset
14
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
15 from PyQt6.QtCore import QDir, pyqtSlot
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
16 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9610
diff changeset
18 from eric7 import Preferences
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
19 from eric7.EricGui import EricPixmapCache
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9323
diff changeset
20 from eric7.EricWidgets.EricApplication import ericApp
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9323
diff changeset
21 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
22 from eric7.QScintilla.DocstringGenerator import getSupportedDocstringTypes
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9610
diff changeset
23 from eric7.SystemUtilities import FileSystemUtilities, OSUtilities
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
24 from eric7.Testing.Interfaces import FrameworkNames
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
26 from .Ui_PropertiesDialog import Ui_PropertiesDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
28
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 class PropertiesDialog(QDialog, Ui_PropertiesDialog):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 Class implementing the project properties dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
33
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
34 def __init__(self, project, new=True, parent=None, name=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
37
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 @param project reference to the project object
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
39 @type Project
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 @param new flag indicating the generation of a new project
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
41 (defaults to True)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
42 @type bool (optional)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
43 @param parent parent widget of this dialog (defaults to None)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
44 @type QWidget (optional)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
45 @param name name of this dialog (defaults to None)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
46 @type str (optional)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
48 super().__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 if name:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.setObjectName(name)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
52
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
53 self.dirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
54 self.srcDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
55 self.mainscriptPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
56
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9323
diff changeset
57 self.makeButton.setIcon(EricPixmapCache.getIcon("makefile"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
58
7998
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
59 self.docstringStyleComboBox.addItem(self.tr("None"), "")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
60 for docstringType, docstringStyle in sorted(getSupportedDocstringTypes()):
7998
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
61 self.docstringStyleComboBox.addItem(docstringStyle, docstringType)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
62
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.project = project
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.newProject = new
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.transPropertiesDlg = None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.spellPropertiesDlg = None
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
67 self.makePropertiesDlg = None
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
68 self.__fileTypesDict = {}
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
70 patterns = []
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
71 for pattern, filetype in self.project.getProjectData(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
72 dataKey="FILETYPES"
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
73 ).items():
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
74 if filetype == "SOURCES":
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
75 patterns.append(pattern)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
76 filters = self.tr("Source Files ({0});;All Files (*)").format(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
77 " ".join(sorted(patterns))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
78 )
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
79 self.mainscriptPicker.setFilters(filters)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
80
2040
4cefd094353b Made the selectable project types of the project properties dialog dependent upon the selected programming language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1940
diff changeset
81 self.languageComboBox.addItems(project.getProgrammingLanguages())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
82
6292
e08a94e1ecdd PySide2 support: cintinued implementing support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6248
diff changeset
83 projectTypes = []
e08a94e1ecdd PySide2 support: cintinued implementing support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6248
diff changeset
84 for projectTypeItem in project.getProjectTypes().items():
e08a94e1ecdd PySide2 support: cintinued implementing support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6248
diff changeset
85 projectTypes.append((projectTypeItem[1], projectTypeItem[0]))
2040
4cefd094353b Made the selectable project types of the project properties dialog dependent upon the selected programming language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1940
diff changeset
86 self.projectTypeComboBox.clear()
6292
e08a94e1ecdd PySide2 support: cintinued implementing support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6248
diff changeset
87 for projectType in sorted(projectTypes):
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
88 self.projectTypeComboBox.addItem(projectType[0], projectType[1])
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
89
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9610
diff changeset
90 ipath = Preferences.getMultiProject("Workspace") or OSUtilities.getHomeDir()
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
91 self.__initPaths = [
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9610
diff changeset
92 FileSystemUtilities.fromNativeSeparators(ipath),
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9610
diff changeset
93 FileSystemUtilities.fromNativeSeparators(ipath) + "/",
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
94 ]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
95
9128
62cf3eb8b1f2 Refined the project properties dialog a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9125
diff changeset
96 self.licenseComboBox.lineEdit().setClearButtonEnabled(True)
9125
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
97 self.__populateLicenseComboBox()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
98
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 if not new:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 name = os.path.splitext(self.project.pfile)[0]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 self.nameEdit.setText(os.path.basename(name))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 428
diff changeset
102 self.languageComboBox.setCurrentIndex(
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
103 self.languageComboBox.findText(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
104 self.project.getProjectData(dataKey="PROGLANGUAGE")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
105 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
106 )
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
107 self.mixedLanguageCheckBox.setChecked(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
108 self.project.getProjectData(dataKey="MIXEDLANGUAGE")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
109 )
2040
4cefd094353b Made the selectable project types of the project properties dialog dependent upon the selected programming language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1940
diff changeset
110 curIndex = self.projectTypeComboBox.findData(
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
111 self.project.getProjectData(dataKey="PROJECTTYPE")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
112 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 if curIndex == -1:
8459
0ae07748dbe8 Changed quite a few PyQt5 references to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8358
diff changeset
114 curIndex = self.projectTypeComboBox.findData("PyQt6")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 self.projectTypeComboBox.setCurrentIndex(curIndex)
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
116 self.dirPicker.setText(self.project.ppath)
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
117 self.srcDirPicker.setText(self.project.getProjectData(dataKey="SOURCESDIR"))
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
118 self.versionEdit.setText(self.project.getProjectData(dataKey="VERSION"))
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
119 self.mainscriptPicker.setText(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
120 self.project.getProjectData(dataKey="MAINSCRIPT")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
121 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
122 self.authorEdit.setText(self.project.getProjectData(dataKey="AUTHOR"))
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
123 self.emailEdit.setText(self.project.getProjectData(dataKey="EMAIL"))
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
124 self.descriptionEdit.setPlainText(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
125 self.project.getProjectData(dataKey="DESCRIPTION")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
126 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
127 self.eolComboBox.setCurrentIndex(self.project.getProjectData(dataKey="EOL"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 self.vcsLabel.show()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 if self.project.vcs is not None:
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
130 vcsSystemsDict = (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
131 ericApp()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
132 .getObject("PluginManager")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 .getPluginDisplayStrings("version_control")
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
134 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 try:
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
136 vcsSystemDisplay = vcsSystemsDict[
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
137 self.project.getProjectData(dataKey="VCS")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
138 ]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 except KeyError:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 vcsSystemDisplay = "None"
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 428
diff changeset
141 self.vcsLabel.setText(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
142 self.tr("The project is version controlled by <b>{0}</b>.").format(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
143 vcsSystemDisplay
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
144 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
145 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 self.vcsInfoButton.show()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 else:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
148 self.vcsLabel.setText(self.tr("The project is not version controlled."))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.vcsInfoButton.hide()
1875
bbdd75d18412 Did the second step in the enhanced VCS handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1874
diff changeset
150 self.vcsCheckBox.hide()
6248
9458a3d45f27 Project Make Support: implemented the MakePropertiesDialog class and extended the Project class accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6243
diff changeset
151 self.makeCheckBox.setChecked(
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
152 self.project.getProjectData(dataKey="MAKEPARAMS")["MakeEnabled"]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
153 )
7998
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
154 cindex = self.docstringStyleComboBox.findData(
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
155 self.project.getProjectData(dataKey="DOCSTRING")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
156 )
7998
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
157 self.docstringStyleComboBox.setCurrentIndex(cindex)
9065
39405e6eba20 Integrated the new testing widget into the eric IDE (compared to as a standalone app) and implemented the 'Show Source' functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
158 with contextlib.suppress(KeyError):
39405e6eba20 Integrated the new testing widget into the eric IDE (compared to as a standalone app) and implemented the 'Show Source' functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
159 cindex = self.testingFrameworkComboBox.findData(
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
160 self.project.getProjectData(dataKey="TESTING_FRAMEWORK")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
161 )
9065
39405e6eba20 Integrated the new testing widget into the eric IDE (compared to as a standalone app) and implemented the 'Show Source' functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
162 self.testingFrameworkComboBox.setCurrentIndex(cindex)
9125
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
163 with contextlib.suppress(KeyError):
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
164 self.licenseComboBox.setCurrentText(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
165 self.project.getProjectData(dataKey="LICENSE")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
166 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
167 self.embeddedVenvCheckBox.setChecked(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
168 self.project.getProjectData(dataKey="EMBEDDED_VENV")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
169 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 else:
9125
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
171 self.languageComboBox.setCurrentText("Python3")
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 428
diff changeset
172 self.projectTypeComboBox.setCurrentIndex(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
173 self.projectTypeComboBox.findData("PyQt6")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
174 )
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
175 self.dirPicker.setText(self.__initPaths[0])
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
176 self.versionEdit.setText("0.1")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 self.vcsLabel.hide()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 self.vcsInfoButton.hide()
1875
bbdd75d18412 Did the second step in the enhanced VCS handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1874
diff changeset
179 if not self.project.vcsSoftwareAvailable():
bbdd75d18412 Did the second step in the enhanced VCS handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1874
diff changeset
180 self.vcsCheckBox.hide()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
181
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
182 self.__origProgrammingLanguage = self.languageComboBox.currentText()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
183 self.__origMixedFlag = self.mixedLanguageCheckBox.isChecked()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
184 self.__origProjectType = self.getProjectType()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
185
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
186 self.languageComboBox.currentTextChanged.connect(self.__initFileTypesDict)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
187 self.mixedLanguageCheckBox.stateChanged.connect(self.__initFileTypesDict)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
188 self.projectTypeComboBox.currentIndexChanged.connect(self.__initFileTypesDict)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
189
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
190 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
191 bool(self.dirPicker.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
192 and self.dirPicker.text() not in self.__initPaths
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
193 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
194
9125
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
195 def __populateLicenseComboBox(self):
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
196 """
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
197 Private method to populate the license selector with the list of trove
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
198 license types.
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
199 """
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
200 self.licenseComboBox.addItem("")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
201 self.licenseComboBox.addItems(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
202 sorted(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
203 classifier.split("::")[-1].strip()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
204 for classifier in trove_classifiers.classifiers
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
205 if classifier.startswith("License ::")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
206 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
207 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
208
9074
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
209 @pyqtSlot(str)
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
210 def on_languageComboBox_currentTextChanged(self, language):
2040
4cefd094353b Made the selectable project types of the project properties dialog dependent upon the selected programming language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1940
diff changeset
211 """
4cefd094353b Made the selectable project types of the project properties dialog dependent upon the selected programming language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1940
diff changeset
212 Private slot handling the selection of a programming language.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
213
9074
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
214 @param language text of the current item
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
215 @type str
2040
4cefd094353b Made the selectable project types of the project properties dialog dependent upon the selected programming language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1940
diff changeset
216 """
4cefd094353b Made the selectable project types of the project properties dialog dependent upon the selected programming language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1940
diff changeset
217 curProjectType = self.getProjectType()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
218
2040
4cefd094353b Made the selectable project types of the project properties dialog dependent upon the selected programming language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1940
diff changeset
219 self.projectTypeComboBox.clear()
9074
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
220 for projectType in sorted(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
221 self.project.getProjectTypes(language).items(), key=lambda k: k[1]
9074
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
222 ):
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
223 self.projectTypeComboBox.addItem(projectType[1], projectType[0])
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
224
4009
098c303a6857 Extended the project object a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3809
diff changeset
225 index = self.projectTypeComboBox.findData(curProjectType)
098c303a6857 Extended the project object a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3809
diff changeset
226 if index == -1:
098c303a6857 Extended the project object a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3809
diff changeset
227 index = 0
098c303a6857 Extended the project object a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3809
diff changeset
228 self.projectTypeComboBox.setCurrentIndex(index)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
229
9074
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
230 curTestingFramework = self.testingFrameworkComboBox.currentText()
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
231 self.testingFrameworkComboBox.clear()
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
232 self.testingFrameworkComboBox.addItem(self.tr("None"), "")
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
233 with contextlib.suppress(KeyError):
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
234 for framework in sorted(FrameworkNames[language]):
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
235 self.testingFrameworkComboBox.addItem(framework, framework)
1afb90182258 Removed unit test related functionality from the debugger in favor of the new Testing interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9066
diff changeset
236 self.testingFrameworkComboBox.setCurrentText(curTestingFramework)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
237
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
238 @pyqtSlot(str)
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
239 def on_dirPicker_textChanged(self, txt):
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
240 """
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
241 Private slot to handle a change of the project directory.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
242
10430
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
243 @param txt name of the project directory
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
244 @type str
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
245 """
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
246 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9610
diff changeset
247 bool(txt)
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9610
diff changeset
248 and FileSystemUtilities.fromNativeSeparators(txt) not in self.__initPaths
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
249 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
250
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
251 @pyqtSlot(str)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
252 def on_srcDirPicker_pathSelected(self, srcDir):
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
253 """
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
254 Private slot to check the selected sources sub-directory name.
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
255
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
256 @param srcDir name of the sources directory name
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
257 @type str
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
258 """
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
259 if srcDir:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
260 ppath = self.dirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
261 if ppath:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
262 ppath = QDir(ppath).absolutePath() + QDir.separator()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
263 srcDir = srcDir.replace(ppath, "")
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
264 self.srcDirPicker.setText(srcDir)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
265
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
266 @pyqtSlot()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
267 def on_srcDirPicker_aboutToShowPathPickerDialog(self):
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
268 """
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
269 Private slot to perform actions before the sources sub-directory selection
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
270 dialog is shown.
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
271 """
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
272 ppath = self.dirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
273 if not ppath:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
274 ppath = QDir.currentPath()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
275 self.srcDirPicker.setDefaultDirectory(ppath)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
276
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 def on_spellPropertiesButton_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 Private slot to display the spelling properties dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
282 from .SpellingPropertiesDialog import SpellingPropertiesDialog
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
283
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 if self.spellPropertiesDlg is None:
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
285 self.spellPropertiesDlg = SpellingPropertiesDialog(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
286 self.project, self.newProject, self
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
287 )
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
288 res = self.spellPropertiesDlg.exec()
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
289 if res == QDialog.DialogCode.Rejected:
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
290 self.spellPropertiesDlg.initDialog() # reset the dialogs contents
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
291
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 def on_transPropertiesButton_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 Private slot to display the translations properties dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
297 from .TranslationPropertiesDialog import TranslationPropertiesDialog
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
298
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 if self.transPropertiesDlg is None:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
300 self.transPropertiesDlg = TranslationPropertiesDialog(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
301 self.project, self.newProject, self
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
302 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 self.transPropertiesDlg.initFilters()
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
305 res = self.transPropertiesDlg.exec()
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
306 if res == QDialog.DialogCode.Rejected:
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
307 self.transPropertiesDlg.initDialog() # reset the dialogs contents
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
308
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
309 @pyqtSlot()
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
310 def on_makeButton_clicked(self):
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
311 """
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
312 Private slot to display the make properties dialog.
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
313 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
314 from .MakePropertiesDialog import MakePropertiesDialog
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
315
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
316 if self.makePropertiesDlg is None:
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
317 self.makePropertiesDlg = MakePropertiesDialog(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
318 self.project, self.newProject, self
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
319 )
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
320 res = self.makePropertiesDlg.exec()
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
321 if res == QDialog.DialogCode.Rejected:
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
322 self.makePropertiesDlg.initDialog()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
323
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
324 @pyqtSlot(str)
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
325 def on_mainscriptPicker_pathSelected(self, script):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 """
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
327 Private slot to check the selected main script name.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
328
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
329 @param script name of the main script
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
330 @type str
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
331 """
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
332 if script:
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
333 ppath = self.dirPicker.text()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 if ppath:
83
b302c5816c1c Fixed a porting bug.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 55
diff changeset
335 ppath = QDir(ppath).absolutePath() + QDir.separator()
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
336 script = script.replace(ppath, "")
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
337 self.mainscriptPicker.setText(script)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
338
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
339 @pyqtSlot()
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
340 def on_mainscriptPicker_aboutToShowPathPickerDialog(self):
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
341 """
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
342 Private slot to perform actions before the main script selection dialog
4601
0017e7cb67ae Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4582
diff changeset
343 is shown.
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
344 """
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
345 ppath = self.dirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
346 if not ppath:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
347 ppath = QDir.currentPath()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
348 self.mainscriptPicker.setDefaultDirectory(ppath)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
349
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 def on_vcsInfoButton_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 Private slot to display a vcs information dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
355 from eric7.VCS.RepositoryInfoDialog import VcsRepositoryInfoDialog
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
356
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 if self.project.vcs is None:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
359
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 info = self.project.vcs.vcsRepositoryInfos(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 dlg = VcsRepositoryInfoDialog(self, info)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
362 dlg.exec()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
363
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 def getProjectType(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 Public method to get the selected project type.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
367
10430
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
368 @return selected UI type
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
369 @rtype str
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 """
2995
63d874899b8b Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2408
diff changeset
371 return self.projectTypeComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
372 self.projectTypeComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
373 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
374
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 def getPPath(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 Public method to get the project path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
378
10430
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
379 @return data of the project directory edit
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
380 @rtype str
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 """
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
382 return os.path.abspath(self.dirPicker.text())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
383
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
384 @pyqtSlot()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
385 def __initFileTypesDict(self):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
386 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
387 Private slot to (re-)initialize the filetype dictionary.
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
388 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
389 if (
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
390 self.__origProgrammingLanguage != self.languageComboBox.currentText()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
391 or self.__origMixedFlag != self.mixedLanguageCheckBox.isChecked()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
392 or self.__origProjectType != self.getProjectType()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
393 ):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
394 # any of the defining data got changed
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
395 self.__fileTypesDict = self.project.defaultFileTypes(
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
396 self.languageComboBox.currentText(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
397 self.mixedLanguageCheckBox.isChecked(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
398 self.getProjectType(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
399 )
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
400 else:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
401 # all of the defining data was changed back to original
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
402 self.__fileTypesDict = self.project.getProjectData(dataKey="FILETYPES")
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
403
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
404 @pyqtSlot()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
405 def on_filetypesButton_clicked(self):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
406 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
407 Private slot to open a dialog to edit the filetype associations.
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
408 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
409 from .FiletypeAssociationDialog import FiletypeAssociationDialog
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
410
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
411 if not self.__fileTypesDict:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
412 self.__fileTypesDict = self.project.getProjectData(dataKey="FILETYPES")
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
413 if (
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
414 not self.__fileTypesDict
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
415 or self.__origProgrammingLanguage != self.languageComboBox.currentText()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
416 or self.__origMixedFlag != self.mixedLanguageCheckBox.isChecked()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
417 or self.__origProjectType != self.getProjectType()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
418 ):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
419 # the associations were not defined yet or any of the defining data got
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
420 # changed
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
421 self.__fileTypesDict = self.project.defaultFileTypes(
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
422 self.languageComboBox.currentText(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
423 self.mixedLanguageCheckBox.isChecked(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
424 self.getProjectType(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
425 )
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
426
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
427 dlg = FiletypeAssociationDialog(self.project, self.__fileTypesDict)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
428 if dlg.exec() == QDialog.DialogCode.Accepted:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
429 self.__fileTypesDict = dlg.getData()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
430
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 def storeData(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 Public method to store the entered/modified data.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 """
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
435 self.project.ppath = os.path.abspath(self.dirPicker.text())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 fn = self.nameEdit.text()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 if fn:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 self.project.name = fn
8047
b5594178c7fa Made some more JSON file related changes and exported some dark styles in the new file format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7998
diff changeset
439 fn = "{0}.epj".format(fn)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 self.project.pfile = os.path.join(self.project.ppath, fn)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 self.project.pfile = ""
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
443 self.project.setProjectData(self.versionEdit.text(), dataKey="VERSION")
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
444 srcDir = self.srcDirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
445 if srcDir:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
446 srcDir = self.project.getRelativePath(srcDir)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
447 self.project.setProjectData(srcDir, dataKey="SOURCESDIR")
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
448 else:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
449 self.project.setProjectData("", dataKey="SOURCESDIR")
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
450 fn = self.mainscriptPicker.text()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 if fn:
250
332afc99e9fa Fixed an issue introduced by latest change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 248
diff changeset
452 fn = self.project.getRelativePath(fn)
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
453 self.project.setProjectData(fn, dataKey="MAINSCRIPT")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 self.project.translationsRoot = os.path.splitext(fn)[0]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 else:
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
456 self.project.setProjectData("", dataKey="MAINSCRIPT")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457 self.project.translationsRoot = ""
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
458 self.project.setProjectData(self.authorEdit.text(), dataKey="AUTHOR")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
459 self.project.setProjectData(self.emailEdit.text(), dataKey="EMAIL")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
460 self.project.setProjectData(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
461 self.descriptionEdit.toPlainText(), dataKey="DESCRIPTION"
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
462 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
463 self.project.setProjectData(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
464 self.languageComboBox.currentText(), dataKey="PROGLANGUAGE"
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
465 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
466 self.project.setProjectData(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
467 self.mixedLanguageCheckBox.isChecked(), dataKey="MIXEDLANGUAGE"
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
468 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 projectType = self.getProjectType()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 if projectType is not None:
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
471 self.project.setProjectData(projectType, dataKey="PROJECTTYPE")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
472 self.project.setProjectData(self.eolComboBox.currentIndex(), dataKey="EOL")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
473
1875
bbdd75d18412 Did the second step in the enhanced VCS handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1874
diff changeset
474 self.project.vcsRequested = self.vcsCheckBox.isChecked()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
475
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476 if self.spellPropertiesDlg is not None:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 self.spellPropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
478
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 if self.transPropertiesDlg is not None:
608
d8fea1e76975 Removed capability to write compressed project (and related) files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
480 self.transPropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
481
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
482 makeParams = self.project.getProjectData(dataKey="MAKEPARAMS")
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
483 makeParams["MakeEnabled"] = self.makeCheckBox.isChecked()
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
484 self.project.setProjectData(makeParams, dataKey="MAKEPARAMS")
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
485 if self.makePropertiesDlg is not None:
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
486 self.makePropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
487
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
488 self.project.setProjectData(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
489 self.docstringStyleComboBox.currentData(), dataKey="DOCSTRING"
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
490 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
491
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
492 self.project.setProjectData(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
493 self.testingFrameworkComboBox.currentData(), dataKey="TESTING_FRAMEWORK"
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
494 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
495
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
496 self.project.setProjectData(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
497 self.licenseComboBox.currentText(), dataKey="LICENSE"
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
498 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
499
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
500 self.project.setProjectData(
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
501 self.embeddedVenvCheckBox.isChecked(), dataKey="EMBEDDED_VENV"
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
502 )
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
503
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
504 if self.__fileTypesDict:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
505 self.project.setProjectData(self.__fileTypesDict, dataKey="FILETYPES")

eric ide

mercurial