src/eric7/Project/PropertiesDialog.py

Fri, 25 Oct 2024 17:58:59 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 25 Oct 2024 17:58:59 +0200
branch
eric7
changeset 11006
a671918232f3
parent 10632
1109854f15f9
child 11019
27cd57e98461
child 11040
a4fd43ac7923
permissions
-rw-r--r--

Modified modal dialog usage to always include a valid parent (needed for Wayland).

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(
11006
a671918232f3 Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10632
diff changeset
354 self.project, self.newProject, parent=self
9221
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(
11006
a671918232f3 Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10632
diff changeset
369 self.project,
a671918232f3 Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10632
diff changeset
370 self.newProject,
a671918232f3 Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10632
diff changeset
371 parent=self,
a671918232f3 Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10632
diff changeset
372 isRemote=self.__remoteProject,
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
373 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 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
376 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
377 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
378 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
379
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
380 @pyqtSlot()
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
381 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
382 """
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
383 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
384 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
385 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
386
6243
528fbf120d68 Project.PropertiesDialog: extended the dialog to add 'make' support
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
387 if self.makePropertiesDlg is None:
7266
d001bc703c29 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
388 self.makePropertiesDlg = MakePropertiesDialog(
11006
a671918232f3 Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10632
diff changeset
389 self.project, self.newProject, parent=self
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
390 )
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
391 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
392 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
393 self.makePropertiesDlg.initDialog()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
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 @pyqtSlot(str)
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
396 def on_mainscriptPicker_pathSelected(self, script):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 """
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
398 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
399
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
400 @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
401 @type str
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
402 """
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
403 if script:
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
404 ppath = self.dirPicker.text()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
405 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
406 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
407 ppath = (
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
408 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
409 + 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
410 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
411 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
412 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
413 script = script.replace(ppath, "")
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
414 self.mainscriptPicker.setText(script)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
415
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
416 @pyqtSlot()
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
417 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
418 """
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
419 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
420 is shown.
4582
3a1d1d4c6f4f Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
421 """
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
422 ppath = self.dirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
423 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
424 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
425 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
426 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
427 ppath = QDir.currentPath()
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
428 self.mainscriptPicker.setDefaultDirectory(ppath)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
429
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 def on_vcsInfoButton_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 Private slot to display a vcs information dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 """
9482
a2bc06a54d9d Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
435 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
436
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 if self.project.vcs is None:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
439
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 info = self.project.vcs.vcsRepositoryInfos(self.project.ppath)
11006
a671918232f3 Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10632
diff changeset
441 dlg = VcsRepositoryInfoDialog(parent=self, info=info)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
442 dlg.exec()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
443
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 def getProjectType(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
445 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 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
447
10430
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
448 @return selected UI type
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
449 @rtype str
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 """
2995
63d874899b8b Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2408
diff changeset
451 return self.projectTypeComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
452 self.projectTypeComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
453 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
454
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 def getPPath(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
456 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457 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
458
10430
e440aaf179ce Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10154
diff changeset
459 @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
460 @rtype str
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 """
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
462 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
463 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
464 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
465 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
466
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
467 @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
468 def __initFileTypesDict(self, force=False):
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
469 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
470 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
471
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
472 @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
473 @type bool (optional)
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
474 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
475 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
476 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
477 or self.__origProgrammingLanguage != self.languageComboBox.currentText()
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
478 or self.__origMixedFlag != self.mixedLanguageCheckBox.isChecked()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
479 or self.__origProjectType != self.getProjectType()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
480 ):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
481 # any of the defining data got changed
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
482 self.__fileTypesDict = self.project.defaultFileTypes(
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
483 self.languageComboBox.currentText(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
484 self.mixedLanguageCheckBox.isChecked(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
485 self.getProjectType(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
486 )
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
487 else:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
488 # all of the defining data was changed back to original
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
489 self.__fileTypesDict = self.project.getProjectData(dataKey="FILETYPES")
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
490
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
491 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
492
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
493 @pyqtSlot()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
494 def on_filetypesButton_clicked(self):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
495 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
496 Private slot to open a dialog to edit the filetype associations.
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
497 """
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
498 from .FiletypeAssociationDialog import FiletypeAssociationDialog
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
499
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
500 if not self.__fileTypesDict:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
501 self.__fileTypesDict = self.project.getProjectData(dataKey="FILETYPES")
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
502 if (
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
503 not self.__fileTypesDict
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
504 or self.__origProgrammingLanguage != self.languageComboBox.currentText()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
505 or self.__origMixedFlag != self.mixedLanguageCheckBox.isChecked()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
506 or self.__origProjectType != self.getProjectType()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
507 ):
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
508 # 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
509 # changed
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
510 self.__fileTypesDict = self.project.defaultFileTypes(
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
511 self.languageComboBox.currentText(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
512 self.mixedLanguageCheckBox.isChecked(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
513 self.getProjectType(),
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
514 )
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
515
11006
a671918232f3 Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10632
diff changeset
516 dlg = FiletypeAssociationDialog(self.project, self.__fileTypesDict, parent=self)
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
517 if dlg.exec() == QDialog.DialogCode.Accepted:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
518 self.__fileTypesDict = dlg.getData()
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
519
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
520 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
521
10632
1109854f15f9 Merged with branch 'eric7' in order to track these changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10610 10608
diff changeset
522 self.__setMainScriptPickerFilters()
1109854f15f9 Merged with branch 'eric7' in order to track these changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10610 10608
diff changeset
523
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
524 def storeData(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
525 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
526 Public method to store the entered/modified data.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
527 """
10610
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
528 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
529 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
530 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
531 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
532 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
533 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
534 if fn:
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.name = fn
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
536 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
537 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
538 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
539 )
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
540 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
541 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
542 else:
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.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
544 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
545 if fn:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
546 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
547 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
548 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
549 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
550 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
551 self.project.setProjectData(self.versionEdit.text(), dataKey="VERSION")
10154
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
552 srcDir = self.srcDirPicker.text()
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
553 if srcDir:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
554 srcDir = self.project.getRelativePath(srcDir)
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
555 self.project.setProjectData(srcDir, dataKey="SOURCESDIR")
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
556 else:
d833c6a8c41f Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
557 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
558 fn = self.mainscriptPicker.text()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
559 if fn:
250
332afc99e9fa Fixed an issue introduced by latest change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 248
diff changeset
560 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
561 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
562 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
563 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
564 else:
bb0149571d94 Finished adapting the project functions to support an 'eric-ide' server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10595
diff changeset
565 self.project.translationsRoot = os.path.splitext(fn)[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 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
567 self.project.setProjectData("", dataKey="MAINSCRIPT")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568 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
569 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
570 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
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.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
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.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
576 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
577 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
578 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
579 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 projectType = self.getProjectType()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 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
582 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
583 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
584
1875
bbdd75d18412 Did the second step in the enhanced VCS handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1874
diff changeset
585 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
586
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 if self.spellPropertiesDlg is not None:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 self.spellPropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
589
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 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
591 self.transPropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
592
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
593 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
594 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
595 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
596 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
597 self.makePropertiesDlg.storeData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
598
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
599 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
600 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
601 )
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
602
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
603 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
604 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
605 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
606
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
607 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
608 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
609 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
610
9514
2b104ad132a4 Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9482
diff changeset
611 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
612 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
613 )
9610
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
614
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
615 if self.__fileTypesDict:
b45bccbdf331 Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9514
diff changeset
616 self.project.setProjectData(self.__fileTypesDict, dataKey="FILETYPES")

eric ide

mercurial