src/eric7/Project/ProjectVenvCreationParametersDialog.py

Thu, 06 Oct 2022 16:22:35 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 06 Oct 2022 16:22:35 +0200
branch
eric7
changeset 9389
7b2344009d7a
child 9413
80c06d472826
permissions
-rw-r--r--

Project
- refined the embedded environment handling

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
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de>
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
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from EricWidgets.EricPathPicker import EricPathPickerModes
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .Ui_ProjectVenvCreationParametersDialog import (
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 Ui_ProjectVenvCreationParametersDialog,
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 )
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 import Globals
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 class ProjectVenvCreationParametersDialog(
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 QDialog, Ui_ProjectVenvCreationParametersDialog
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 ):
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 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
27 virtual environment.
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 def __init__(self, withSystemSitePackages=False, parent=None):
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 Constructor
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @param withSystemSitePackages flag indicating to access the system site-packages
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 (defaults to False)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 @type bool
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @param parent reference to the parent widget (defaults to None)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 @type QWidget (optional)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 super().__init__(parent)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.setupUi(self)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter"))
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.pythonExecPicker.setDefaultDirectory(Globals.getPythonExecutable())
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.systemCheckBox.setChecked(withSystemSitePackages)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 msh = self.minimumSizeHint()
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.resize(max(self.width(), msh.width()), msh.height())
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 def getData(self):
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Public method to retrieve the entered data.
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @return tuple containing the path of the Python executable and a flag indicating
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 to enable access to the system wide site-packages
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @rtype tuple of (str, bool)
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
7b2344009d7a Project
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 return self.pythonExecPicker.text().strip(), self.systemCheckBox.isChecked()

eric ide

mercurial