Thu, 10 Apr 2025 18:39:29 +0200
Changed the application shutdown code to use a signal to indicate the shutdown.
10084 | 1 | # -*- coding: utf-8 -*- |
2 | ||
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10919
diff
changeset
|
3 | # Copyright (c) 2023 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
10084 | 4 | # |
5 | ||
6 | """ | |
7 | Module implementing the standalone pip packages management window. | |
8 | """ | |
9 | ||
11215
d07c71a34adf
Changed the application shutdown code to use a signal to indicate the shutdown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
10 | from PyQt6.QtCore import Qt, pyqtSignal |
10084 | 11 | from PyQt6.QtWidgets import QDialogButtonBox, QVBoxLayout, QWidget |
12 | ||
13 | from eric7.EricWidgets.EricApplication import ericApp | |
14 | from eric7.EricWidgets.EricMainWindow import EricMainWindow | |
15 | from eric7.PipInterface.Pip import Pip | |
16 | from eric7.PipInterface.PipPackagesWidget import PipPackagesWidget | |
17 | from eric7.VirtualEnv.VirtualenvManager import VirtualenvManager | |
18 | ||
19 | ||
20 | class PipPackagesWindow(EricMainWindow): | |
21 | """ | |
22 | Main window class for the standalone pip packages manager. | |
11215
d07c71a34adf
Changed the application shutdown code to use a signal to indicate the shutdown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
23 | |
d07c71a34adf
Changed the application shutdown code to use a signal to indicate the shutdown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
24 | @signal shutdown() emitted to indicate a shutdown of the application |
10084 | 25 | """ |
26 | ||
11215
d07c71a34adf
Changed the application shutdown code to use a signal to indicate the shutdown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
27 | shutdown = pyqtSignal() |
d07c71a34adf
Changed the application shutdown code to use a signal to indicate the shutdown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
28 | |
10084 | 29 | def __init__(self, parent=None): |
30 | """ | |
31 | Constructor | |
32 | ||
33 | @param parent reference to the parent widget | |
34 | @type QWidget | |
35 | """ | |
36 | super().__init__(parent) | |
37 | ||
38 | self.__pip = Pip(self) | |
39 | ericApp().registerObject("Pip", self.__pip) | |
40 | ||
41 | self.__venvManager = VirtualenvManager(self) | |
42 | ericApp().registerObject("VirtualEnvManager", self.__venvManager) | |
43 | ||
44 | self.__centralWidget = QWidget(self) | |
45 | self.__layout = QVBoxLayout(self.__centralWidget) | |
46 | self.__centralWidget.setLayout(self.__layout) | |
47 | ||
48 | self.__pipPackagesWidget = PipPackagesWidget( | |
49 | self.__pip, parent=self.__centralWidget | |
50 | ) | |
51 | self.__layout.addWidget(self.__pipPackagesWidget) | |
52 | ||
53 | self.__buttonBox = QDialogButtonBox( | |
54 | QDialogButtonBox.StandardButton.Close, Qt.Orientation.Horizontal, self | |
55 | ) | |
56 | self.__layout.addWidget(self.__buttonBox) | |
57 | ||
58 | self.setCentralWidget(self.__centralWidget) | |
59 | self.resize(700, 900) | |
60 | self.setWindowTitle(self.tr("Manage Packages")) | |
61 | ||
62 | self.__buttonBox.accepted.connect(self.close) | |
63 | self.__buttonBox.rejected.connect(self.close) | |
10919
4e4c8ee38c45
Added a QProcess derived class with timeout and changed the pip interface to use that class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
64 | |
4e4c8ee38c45
Added a QProcess derived class with timeout and changed the pip interface to use that class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
65 | def closeEvent(self, evt): |
4e4c8ee38c45
Added a QProcess derived class with timeout and changed the pip interface to use that class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
66 | """ |
4e4c8ee38c45
Added a QProcess derived class with timeout and changed the pip interface to use that class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
67 | Protected method handling a close event. |
4e4c8ee38c45
Added a QProcess derived class with timeout and changed the pip interface to use that class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
68 | |
4e4c8ee38c45
Added a QProcess derived class with timeout and changed the pip interface to use that class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
69 | @param evt reference to the close event object |
4e4c8ee38c45
Added a QProcess derived class with timeout and changed the pip interface to use that class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
70 | @type QCloseEvent |
4e4c8ee38c45
Added a QProcess derived class with timeout and changed the pip interface to use that class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
71 | """ |
11215
d07c71a34adf
Changed the application shutdown code to use a signal to indicate the shutdown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
72 | self.shutdown.emit() |