src/eric7/Project/ProjectVenvCreationParametersDialog.py

Sat, 23 Dec 2023 15:48:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 15:48:12 +0100
branch
eric7
changeset 10439
21c28b0f9e41
parent 9653
e67609152c5e
child 11090
f5f5f5803935
permissions
-rw-r--r--

Updated copyright for 2024.

9389
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
3 # Copyright (c) 2022 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
9389
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the parameters for the creation of the embedded
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 virtual environment.
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt6.QtWidgets import QDialog
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
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: 9389
diff changeset
13 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
14 from eric7.SystemUtilities import PythonUtilities
9389
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_ProjectVenvCreationParametersDialog import (
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 Ui_ProjectVenvCreationParametersDialog,
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 )
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 class ProjectVenvCreationParametersDialog(
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 QDialog, Ui_ProjectVenvCreationParametersDialog
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 ):
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Class implementing a dialog to enter the parameters for the creation of the embedded
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 virtual environment.
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 def __init__(self, withSystemSitePackages=False, parent=None):
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 Constructor
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param withSystemSitePackages flag indicating to access the system site-packages
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 (defaults to False)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 @type bool
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 @param parent reference to the parent widget (defaults to None)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @type QWidget (optional)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 super().__init__(parent)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.setupUi(self)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter"))
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
44 self.pythonExecPicker.setDefaultDirectory(PythonUtilities.getPythonExecutable())
9389
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.systemCheckBox.setChecked(withSystemSitePackages)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 msh = self.minimumSizeHint()
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.resize(max(self.width(), msh.width()), msh.height())
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 def getData(self):
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 Public method to retrieve the entered data.
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 @return tuple containing the path of the Python executable and a flag indicating
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 to enable access to the system wide site-packages
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 @rtype tuple of (str, bool)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 return self.pythonExecPicker.text().strip(), self.systemCheckBox.isChecked()

eric ide

mercurial