src/eric7/Project/PropertiesDialog.py

Fri, 08 Mar 2024 15:51:14 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 08 Mar 2024 15:51:14 +0100
branch
server
changeset 10632
1109854f15f9
parent 10610
bb0149571d94
parent 10608
43dd9d48c4d6
child 10814
ba20efe10336
child 11006
a671918232f3
permissions
-rw-r--r--

Merged with branch 'eric7' in order to track these changes.

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
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10430
diff changeset
3 # Copyright (c) 2002 - 2024 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
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
34 def __init__(self, project, new=True, isRemote=False, 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)
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
43 @param isRemote flag indicating a remote project (defaults to False)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
44 @type bool (optional)
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
45 @param parent parent widget of this dialog (defaults to None)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
46 @type QWidget (optional)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
47 @param name name of this dialog (defaults to None)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
48 @type str (optional)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 """
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
50 super().__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 if name:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 self.setObjectName(name)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
54
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
55 self.__remoteProject = isRemote
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
56 self.__remotefsInterface = (
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
57 ericApp().getObject("EricServer").getServiceInterface("FileSystem")
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
58 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
59
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
60 self.dirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
61 self.dirPicker.setRemote(isRemote)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
62
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
63 self.srcDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
64 self.srcDirPicker.setRemote(isRemote)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
65
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
66 self.mainscriptPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
67 self.mainscriptPicker.setRemote(isRemote)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
68
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
69 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
70
7998
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
71 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
72 for docstringType, docstringStyle in sorted(getSupportedDocstringTypes()):
7998
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
73 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
74
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.project = project
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 self.newProject = new
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
77
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 self.transPropertiesDlg = None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.spellPropertiesDlg = None
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
80 self.makePropertiesDlg = None
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
81 self.__fileTypesDict = {}
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
82
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
83 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
84 # some stuff is not supported for remote projects
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
85 self.makeCheckBox.setEnabled(False)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
86 self.makeButton.setEnabled(False)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
87 self.testingFrameworkComboBox.setEnabled(False)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
88 self.embeddedVenvCheckBox.setEnabled(False)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
89 self.spellPropertiesButton.setEnabled(False)
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
90 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
91
6292
e08a94e1ecdd PySide2 support: cintinued implementing support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6248
diff changeset
92 projectTypes = []
e08a94e1ecdd PySide2 support: cintinued implementing support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6248
diff changeset
93 for projectTypeItem in project.getProjectTypes().items():
e08a94e1ecdd PySide2 support: cintinued implementing support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6248
diff changeset
94 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
95 self.projectTypeComboBox.clear()
6292
e08a94e1ecdd PySide2 support: cintinued implementing support for PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6248
diff changeset
96 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
97 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
98
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
99 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
100 self.__initPaths = [self.__remotefsInterface.getcwd()]
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
101 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
102 ipath = Preferences.getMultiProject("Workspace") or OSUtilities.getHomeDir()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
103 self.__initPaths = [
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
104 FileSystemUtilities.fromNativeSeparators(ipath),
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
105 FileSystemUtilities.fromNativeSeparators(ipath) + "/",
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
106 ]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
107
9128
62cf3eb8b1f2 Refined the project properties dialog a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9125
diff changeset
108 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
109 self.__populateLicenseComboBox()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
110
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 if not new:
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
112 self.nameEdit.setReadOnly(True)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
113 self.dirPicker.setReadOnly(True)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
114
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
115 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
116 name = self.__remotefsInterface.splitext(self.project.pfile)[0]
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
117 self.nameEdit.setText(self.__remotefsInterface.basename(name))
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
118 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
119 name = os.path.splitext(self.project.pfile)[0]
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
120 self.nameEdit.setText(os.path.basename(name))
10606
db294fc15954 Corrected a little glitch in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
121 self.nameEdit.setReadOnly(True)
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 428
diff changeset
122 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
123 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
124 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
125 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
126 )
9514
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.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
128 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
129 )
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
130 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
131 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
132 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 if curIndex == -1:
8459
0ae07748dbe8 Changed quite a few PyQt5 references to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8358
diff changeset
134 curIndex = self.projectTypeComboBox.findData("PyQt6")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 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
136 self.dirPicker.setText(self.project.ppath)
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
137 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
138 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
139 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
140 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
141 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
142 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
143 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
144 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
145 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
146 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
147 self.eolComboBox.setCurrentIndex(self.project.getProjectData(dataKey="EOL"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 self.vcsLabel.show()
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
149 if not self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
150 # VCS not supported for remote projects
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
151 if self.project.vcs is not None:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
152 vcsSystemsDict = (
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
153 ericApp()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
154 .getObject("PluginManager")
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
155 .getPluginDisplayStrings("version_control")
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
156 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
157 try:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
158 vcsSystemDisplay = vcsSystemsDict[
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
159 self.project.getProjectData(dataKey="VCS")
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
160 ]
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
161 except KeyError:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
162 vcsSystemDisplay = "None"
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
163 self.vcsLabel.setText(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
164 self.tr(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
165 "The project is version controlled by <b>{0}</b>."
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
166 ).format(vcsSystemDisplay)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
167 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
168 self.vcsInfoButton.show()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
169 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
170 self.vcsLabel.setText(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
171 self.tr("The project is not version controlled.")
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
172 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
173 self.vcsInfoButton.hide()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
174 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
175 self.vcsLabel.setText(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
176 self.tr("Version control is not available for remote projects.")
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
177 )
0
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 self.vcsCheckBox.hide()
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
180 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
181 self.makeCheckBox.setChecked(False)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
182 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
183 self.makeCheckBox.setChecked(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
184 self.project.getProjectData(dataKey="MAKEPARAMS")["MakeEnabled"]
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
185 )
7998
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
186 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
187 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
188 )
7998
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
189 self.docstringStyleComboBox.setCurrentIndex(cindex)
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
190 if not self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
191 with contextlib.suppress(KeyError):
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
192 cindex = self.testingFrameworkComboBox.findData(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
193 self.project.getProjectData(dataKey="TESTING_FRAMEWORK")
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
194 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
195 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
196 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
197 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
198 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
199 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
200 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
201 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
202 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 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
204 self.languageComboBox.setCurrentText("Python3")
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 428
diff changeset
205 self.projectTypeComboBox.setCurrentIndex(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
206 self.projectTypeComboBox.findData("PyQt6")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
207 )
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
208 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
209 self.versionEdit.setText("0.1")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 self.vcsLabel.hide()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 self.vcsInfoButton.hide()
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
212 if self.__remoteProject or not self.project.vcsSoftwareAvailable():
1875
bbdd75d18412 Did the second step in the enhanced VCS handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1874
diff changeset
213 self.vcsCheckBox.hide()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
214
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
215 self.__origProgrammingLanguage = self.languageComboBox.currentText()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
216 self.__origMixedFlag = self.mixedLanguageCheckBox.isChecked()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
217 self.__origProjectType = self.getProjectType()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
218
10608
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
219 self.__initFileTypesDict(force=True)
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
220
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
221 self.languageComboBox.currentTextChanged.connect(self.__initFileTypesDict)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
222 self.mixedLanguageCheckBox.stateChanged.connect(self.__initFileTypesDict)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
223 self.projectTypeComboBox.currentIndexChanged.connect(self.__initFileTypesDict)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
224
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
225 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
226 bool(self.dirPicker.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
227 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
228 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
229
10608
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
230 def __setMainScriptPickerFilters(self):
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
231 """
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
232 Private method to set the filters for the main script file picker.
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
233 """
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
234 patterns = []
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
235 for pattern, filetype in self.__fileTypesDict.items():
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
236 if filetype == "SOURCES":
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
237 patterns.append(pattern)
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
238 filters = (
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
239 self.tr("Source Files ({0});;All Files (*)").format(
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
240 " ".join(sorted(patterns))
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
241 )
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
242 if patterns
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
243 else self.tr("All Files (*)")
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
244 )
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
245 self.mainscriptPicker.setFilters(filters)
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
246
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
247 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
248 """
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
249 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
250 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
251 """
3d2411181b3c Added the capability to define the project license in the project properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9108
diff changeset
252 self.licenseComboBox.addItem("")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
253 self.licenseComboBox.addItems(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
254 sorted(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
255 classifier.split("::")[-1].strip()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
256 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
257 if classifier.startswith("License ::")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
258 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
259 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
260
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
261 @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
262 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
263 """
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
264 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
265
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
266 @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
267 @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
268 """
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
269 curProjectType = self.getProjectType()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
270
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
271 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
272 for projectType in sorted(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
273 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
274 ):
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
275 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
276
4009
098c303a6857 Extended the project object a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3809
diff changeset
277 index = self.projectTypeComboBox.findData(curProjectType)
098c303a6857 Extended the project object a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3809
diff changeset
278 if index == -1:
098c303a6857 Extended the project object a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3809
diff changeset
279 index = 0
098c303a6857 Extended the project object a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3809
diff changeset
280 self.projectTypeComboBox.setCurrentIndex(index)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
281
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
282 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
283 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
284 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
285 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
286 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
287 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
288 self.testingFrameworkComboBox.setCurrentText(curTestingFramework)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
289
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
290 @pyqtSlot(str)
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
291 def on_dirPicker_textChanged(self, txt):
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
292 """
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
293 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
294
10430
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
295 @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
296 @type str
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
297 """
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
298 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
299 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
300 FileSystemUtilities.isRemoteFileName(txt)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
301 and txt not in self.__initPaths
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
302 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
303 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
304 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
305 bool(txt)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
306 and FileSystemUtilities.fromNativeSeparators(txt)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
307 not in self.__initPaths
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
308 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
309
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
310 @pyqtSlot(str)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
311 def on_srcDirPicker_pathSelected(self, srcDir):
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
312 """
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
313 Private slot to check the selected sources sub-directory name.
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
314
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
315 @param srcDir name of the sources directory name
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
316 @type str
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
317 """
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
318 if srcDir:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
319 ppath = self.dirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
320 if ppath:
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
321 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
322 ppath = (
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
323 FileSystemUtilities.remoteFileName(ppath)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
324 + self.__remotefsInterface.separator()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
325 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
326 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
327 ppath = os.path.abspath(ppath) + os.sep
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
328 srcDir = srcDir.replace(ppath, "")
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
329 self.srcDirPicker.setText(srcDir)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
330
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
331 @pyqtSlot()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
332 def on_srcDirPicker_aboutToShowPathPickerDialog(self):
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
333 """
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
334 Private slot to perform actions before the sources sub-directory selection
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
335 dialog is shown.
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
336 """
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
337 ppath = self.dirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
338 if not ppath:
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
339 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
340 ppath = self.__remotefsInterface.getcwd()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
341 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
342 ppath = QDir.currentPath()
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
343 self.srcDirPicker.setDefaultDirectory(ppath)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
344
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 def on_spellPropertiesButton_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 Private slot to display the spelling properties dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
350 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
351
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 if self.spellPropertiesDlg is None:
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
353 self.spellPropertiesDlg = SpellingPropertiesDialog(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
354 self.project, self.newProject, self
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
355 )
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
356 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
357 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
358 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
359
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 def on_transPropertiesButton_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 Private slot to display the translations properties dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
365 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
366
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 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
368 self.transPropertiesDlg = TranslationPropertiesDialog(
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
369 self.project, self.newProject, self, isRemote=self.__remoteProject
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
370 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 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
373 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
374 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
375 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
376
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
377 @pyqtSlot()
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
378 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
379 """
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
380 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
381 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
382 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
383
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
384 if self.makePropertiesDlg is None:
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
385 self.makePropertiesDlg = MakePropertiesDialog(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
386 self.project, self.newProject, self
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
387 )
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
388 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
389 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
390 self.makePropertiesDlg.initDialog()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
391
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
392 @pyqtSlot(str)
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
393 def on_mainscriptPicker_pathSelected(self, script):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 """
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
395 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
396
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
397 @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
398 @type str
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
399 """
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
400 if script:
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
401 ppath = self.dirPicker.text()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 if ppath:
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
403 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
404 ppath = (
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
405 FileSystemUtilities.remoteFileName(ppath)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
406 + self.__remotefsInterface.separator()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
407 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
408 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
409 ppath = os.path.abspath(ppath) + os.sep
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
410 script = script.replace(ppath, "")
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
411 self.mainscriptPicker.setText(script)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
412
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
413 @pyqtSlot()
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
414 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
415 """
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
416 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
417 is shown.
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
418 """
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
419 ppath = self.dirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
420 if not ppath:
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
421 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
422 ppath = self.__remotefsInterface.getcwd()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
423 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
424 ppath = QDir.currentPath()
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
425 self.mainscriptPicker.setDefaultDirectory(ppath)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
426
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 def on_vcsInfoButton_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430 Private slot to display a vcs information dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
432 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
433
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 if self.project.vcs is None:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
436
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 info = self.project.vcs.vcsRepositoryInfos(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 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
439 dlg.exec()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
440
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 def getProjectType(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 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
444
10430
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
445 @return selected UI type
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
446 @rtype str
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447 """
2995
63d874899b8b Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2408
diff changeset
448 return self.projectTypeComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
449 self.projectTypeComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
450 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
451
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452 def getPPath(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 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
455
10430
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
456 @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
457 @rtype str
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458 """
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
459 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
460 return FileSystemUtilities.remoteFileName(self.dirPicker.text())
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
461 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
462 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
463
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
464 @pyqtSlot()
10608
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
465 def __initFileTypesDict(self, force=False):
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
466 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
467 Private slot to (re-)initialize the filetype dictionary.
10608
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
468
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
469 @param force flag indicating to force the initialization (defaults to False)
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
470 @type bool (optional)
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
471 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
472 if (
10608
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
473 force
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
474 or self.__origProgrammingLanguage != self.languageComboBox.currentText()
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
475 or self.__origMixedFlag != self.mixedLanguageCheckBox.isChecked()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
476 or self.__origProjectType != self.getProjectType()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
477 ):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
478 # any of the defining data got changed
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
479 self.__fileTypesDict = self.project.defaultFileTypes(
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
480 self.languageComboBox.currentText(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
481 self.mixedLanguageCheckBox.isChecked(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
482 self.getProjectType(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
483 )
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
484 else:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
485 # all of the defining data was changed back to original
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
486 self.__fileTypesDict = self.project.getProjectData(dataKey="FILETYPES")
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
487
10608
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
488 self.__setMainScriptPickerFilters()
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
489
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
490 @pyqtSlot()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
491 def on_filetypesButton_clicked(self):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
492 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
493 Private slot to open a dialog to edit the filetype associations.
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
494 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
495 from .FiletypeAssociationDialog import FiletypeAssociationDialog
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
496
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
497 if not self.__fileTypesDict:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
498 self.__fileTypesDict = self.project.getProjectData(dataKey="FILETYPES")
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
499 if (
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
500 not self.__fileTypesDict
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
501 or self.__origProgrammingLanguage != self.languageComboBox.currentText()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
502 or self.__origMixedFlag != self.mixedLanguageCheckBox.isChecked()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
503 or self.__origProjectType != self.getProjectType()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
504 ):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
505 # 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
506 # changed
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
507 self.__fileTypesDict = self.project.defaultFileTypes(
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
508 self.languageComboBox.currentText(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
509 self.mixedLanguageCheckBox.isChecked(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
510 self.getProjectType(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
511 )
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
512
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
513 dlg = FiletypeAssociationDialog(self.project, self.__fileTypesDict)
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
514 if dlg.exec() == QDialog.DialogCode.Accepted:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
515 self.__fileTypesDict = dlg.getData()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
516
10608
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
517 self.__setMainScriptPickerFilters()
43dd9d48c4d6 Fixed an issue with the project properties dialog causing the main script filters to be initialized wrongly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10606
diff changeset
518
10632
1109854f15f9 Merged with branch 'eric7' in order to track these changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10610 10608
diff changeset
519 self.__setMainScriptPickerFilters()
1109854f15f9 Merged with branch 'eric7' in order to track these changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10610 10608
diff changeset
520
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
521 def storeData(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
522 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
523 Public method to store the entered/modified data.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
524 """
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
525 if self.newProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
526 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
527 self.project.ppath = FileSystemUtilities.remoteFileName(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
528 self.__remotefsInterface.abspath(self.dirPicker.text())
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
529 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
530 fn = self.nameEdit.text()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
531 if fn:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
532 self.project.name = fn
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
533 fn = f"{fn}.epj"
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
534 self.project.pfile = self.__remotefsInterface.join(
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
535 self.project.ppath, fn
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
536 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
537 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
538 self.project.pfile = ""
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
539 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
540 self.project.ppath = os.path.abspath(self.dirPicker.text())
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
541 fn = self.nameEdit.text()
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
542 if fn:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
543 self.project.name = fn
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
544 fn = f"{fn}.epj"
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
545 self.project.pfile = os.path.join(self.project.ppath, fn)
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
546 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
547 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
548 self.project.setProjectData(self.versionEdit.text(), dataKey="VERSION")
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
549 srcDir = self.srcDirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
550 if srcDir:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
551 srcDir = self.project.getRelativePath(srcDir)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
552 self.project.setProjectData(srcDir, dataKey="SOURCESDIR")
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
553 else:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
554 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
555 fn = self.mainscriptPicker.text()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
556 if fn:
250
332afc99e9fa Fixed an issue introduced by latest change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 248
diff changeset
557 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
558 self.project.setProjectData(fn, dataKey="MAINSCRIPT")
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
559 if self.__remoteProject:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
560 self.project.translationsRoot = self.__remotefsInterface.splitext(fn)[0]
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
561 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
562 self.project.translationsRoot = os.path.splitext(fn)[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
563 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
564 self.project.setProjectData("", dataKey="MAINSCRIPT")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 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
566 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
567 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
568 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
569 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
570 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
571 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
572 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
573 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
574 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
575 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
576 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577 projectType = self.getProjectType()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578 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
579 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
580 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
581
1875
bbdd75d18412 Did the second step in the enhanced VCS handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1874
diff changeset
582 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
583
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 if self.spellPropertiesDlg is not None:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 self.spellPropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
586
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 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
588 self.transPropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
589
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
590 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
591 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
592 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
593 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
594 self.makePropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
595
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
596 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
597 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
598 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
599
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
600 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
601 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
602 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
603
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
604 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
605 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
606 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
607
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
608 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
609 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
610 )
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
611
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
612 if self.__fileTypesDict:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
613 self.project.setProjectData(self.__fileTypesDict, dataKey="FILETYPES")

eric ide

mercurial