PluginPipxInterface.py

Fri, 28 Jun 2024 17:20:46 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 28 Jun 2024 17:20:46 +0200
changeset 17
8c52c75a860c
parent 15
2fb8d19c38ae
child 23
4c18addf12b2
permissions
-rw-r--r--

Removed obsolete TODO markers.

1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
3 # Copyright (c) 2024 Detlev Offenbach <detlev@die-offenbachs.de>
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the pipx Interface plug-in.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
10 import os
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
11 import sysconfig
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
12
2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
13 from PyQt6.QtCore import QCoreApplication, QObject, Qt, QTranslator
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
14 from PyQt6.QtGui import QKeySequence
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15
7
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
16 from eric7 import Globals, Preferences
2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
17 from eric7.EricGui import EricPixmapCache
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
18 from eric7.EricGui.EricAction import EricAction
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
19 from eric7.EricWidgets.EricApplication import ericApp
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
20 from eric7.SystemUtilities import OSUtilities
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
21
2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
22 try:
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
23 from eric7.UI.UserInterface import UserInterfaceSide
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
24
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
25 _Side = UserInterfaceSide.Right
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
26 except ImportError:
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
27 # backward compatibility for eric < 24.2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
28 from eric7.UI.UserInterface import UserInterface
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
29
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
30 _Side = UserInterface.RightSide
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
31
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
32 # Start-Of-Header
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
33 __header__ = {
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
34 "name": "pipx Interface",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
35 "author": "Detlev Offenbach <detlev@die-offenbachs.de>",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
36 "autoactivate": True,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
37 "deactivateable": True,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
38 "version": "10.0.0",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
39 "className": "PluginPipxInterface",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
40 "packageName": "PipxInterface",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
41 "shortDescription": "Graphical interface to the 'pipx' command.",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
42 "longDescription": (
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
43 "Plugin implementing widgets and dialogues to interact with the various pipx"
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
44 " commands and to start pipx managed applications from within the eric-ide."
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
45 ),
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
46 "needsRestart": False,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
47 "pyqtApi": 2,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
48 }
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
49 # End-Of-Header
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
50
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
51 error = "" # noqa: U200
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
52
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
53 pipxInterfacePluginObject = None
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
54
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
55
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
56 def exeDisplayData():
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
57 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
58 Module function to support the display of some executable info.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
59
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
60 @return dictionary containing the data to query the presence of
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
61 the executable
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
62 @rtype dict
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
63 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
64 pipx = os.path.join(sysconfig.get_path("scripts"), "pipx")
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
65 if OSUtilities.isWindowsPlatform():
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
66 pipx += ".exe"
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
67
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
68 data = {
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
69 "programEntry": True,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
70 "header": QCoreApplication.translate(
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
71 "PluginPipxInterface", "PyPI Application Management"
2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
72 ),
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
73 "exe": pipx,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
74 "versionCommand": "--version",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
75 "versionStartsWith": "",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
76 "versionRe": None,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
77 "versionPosition": -1,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
78 "version": "",
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
79 "versionCleanup": None,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
80 "exeModule": None,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
81 }
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
82
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
83 return data
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
84
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
85
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
86 def createPipxPage(
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
87 _configDlg,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
88 ):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
89 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
90 Module function to create the autocompletion configuration page.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
91
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
92 @param _configDlg reference to the configuration dialog (unused)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
93 @type ConfigurationWidget
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
94 @return reference to the configuration page
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
95 @rtype AutoCompletionRopePage
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
96 """
15
2fb8d19c38ae Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
97 from PipxInterface.ConfigurationPage.PipxPage import PipxPage # noqa: I102
2fb8d19c38ae Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
98
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
99 global pipxInterfacePluginObject
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
100
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
101 page = PipxPage(pipxInterfacePluginObject)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
102 return page
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
103
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
104
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
105 def getConfigData():
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
106 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
107 Module function returning data as required by the configuration dialog.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
108
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
109 @return dictionary containing the relevant data
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
110 @rtype dict
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
111 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
112 return {
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
113 "pipxPage": [
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
114 QCoreApplication.translate(
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
115 "PluginPipxInterface", "Python Application Management"
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
116 ),
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
117 os.path.join("PipxInterface", "icons", "pipx22"),
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
118 createPipxPage,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
119 None,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
120 None,
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
121 ],
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
122 }
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
123
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
124
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
125 def prepareUninstall():
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
126 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
127 Module function to prepare for an un-installation.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
128 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
129 Preferences.getSettings().remove(PluginPipxInterface.PreferencesKey)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
130
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
131
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
132 class PluginPipxInterface(QObject):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
133 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
134 Class documentation goes here.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
135 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
136
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
137 PreferencesKey = "Pipx"
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
138
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
139 def __init__(self, ui):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
140 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
141 Constructor
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
142
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
143 @param ui reference to the user interface object
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
144 @type UI.UserInterface
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
145 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
146 super().__init__(ui)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
147 self.__ui = ui
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
148 self.__initialize()
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
149
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
150 self.__defaults = {
7
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
151 "RecentAppWorkdirs": [],
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
152 "MaxRecentAppWorkdirs": 20,
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
153 }
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
154
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
155 self.__translator = None
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
156 self.__loadTranslator()
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
157
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
158 def __initialize(self):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
159 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
160 Private slot to (re)initialize the plugin.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
161 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
162 self.__widget = None
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
163
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
164 def activate(self):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
165 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
166 Public method to activate this plug-in.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
167
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
168 @return tuple of None and activation status
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
169 @rtype bool
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
170 """
15
2fb8d19c38ae Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
171 from PipxInterface.PipxWidget import PipxWidget # noqa: I102
2fb8d19c38ae Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
172
2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
173 global error, pipxInterfacePluginObject
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
174 error = "" # clear previous error
2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
175 pipxInterfacePluginObject = self
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
176
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
177 self.__widget = PipxWidget(self, fromEric=True)
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
178 iconName = "pipx96" if self.__ui.getLayoutType() == "Sidebars" else "pipx22"
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
179 self.__ui.addSideWidget(
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
180 _Side,
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
181 self.__widget,
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
182 EricPixmapCache.getIcon(os.path.join("PipxInterface", "icons", iconName)),
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
183 self.tr("PyPI Application Management"),
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
184 )
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
185
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
186 self.__activateAct = EricAction(
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
187 self.tr("PyPI Application Management"),
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
188 self.tr("PyPI Application Management"),
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
189 QKeySequence(self.tr("Ctrl+Alt+Shift+A")),
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
190 0,
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
191 self,
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
192 "pipx_interface_activate",
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
193 )
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
194 self.__activateAct.setStatusTip(
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
195 self.tr("Switch the input focus to the PyPI Application Management window.")
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
196 )
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
197 self.__activateAct.setWhatsThis(
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
198 self.tr(
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
199 """<b>Activate PyPI Application Management</b>"""
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
200 """<p>This switches the input focus to the PyPI Application"""
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
201 """ Management window.</p>"""
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
202 )
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
203 )
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
204 self.__activateAct.triggered.connect(self.__activateWidget)
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
205
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
206 self.__ui.addEricActions([self.__activateAct], "ui")
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
207 menu = self.__ui.getMenu("subwindow")
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
208 menu.addAction(self.__activateAct)
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
209
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
210 return None, True
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
211
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
212 def deactivate(self):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
213 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
214 Public method to deactivate this plug-in.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
215 """
2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
216 menu = self.__ui.getMenu("subwindow")
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
217 menu.removeAction(self.__activateAct)
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
218 self.__ui.removeEricActions([self.__activateAct], "ui")
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
219 self.__ui.removeSideWidget(self.__widget)
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
220
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
221 self.__initialize()
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
222
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
223 def __loadTranslator(self):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
224 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
225 Private method to load the translation file.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
226 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
227 if self.__ui is not None:
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
228 loc = self.__ui.getLocale()
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
229 if loc and loc != "C":
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
230 locale_dir = os.path.join(
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
231 os.path.dirname(__file__), "PipxInterface", "i18n"
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
232 )
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
233 translation = "pipx_{0}".format(loc)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
234 translator = QTranslator(None)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
235 loaded = translator.load(translation, locale_dir)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
236 if loaded:
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
237 self.__translator = translator
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
238 ericApp().installTranslator(self.__translator)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
239 else:
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
240 print(
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
241 "Warning: translation file '{0}' could not be"
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
242 " loaded.".format(translation)
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
243 )
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
244 print("Using default.")
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
245
2
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
246 def __activateWidget(self):
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
247 """
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
248 Private slot to handle the activation of the MQTT Monitor.
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
249 """
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
250 uiLayoutType = self.__ui.getLayoutType()
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
251
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
252 if uiLayoutType == "Toolboxes":
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
253 self.__ui.rToolboxDock.show()
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
254 self.__ui.rToolbox.setCurrentWidget(self.__widget)
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
255 elif uiLayoutType == "Sidebars":
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
256 self.__ui.rightSidebar.show()
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
257 self.__ui.rightSidebar.setCurrentWidget(self.__widget)
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
258 else:
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
259 self.__widget.show()
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
260 self.__widget.setFocus(Qt.FocusReason.ActiveWindowFocusReason)
26430067aa09 Added the main pipx interface widget and the pipx commands interface (basic variant each).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
261
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
262 def getPreferences(self, key):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
263 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
264 Public method to retrieve the various settings values.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
265
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
266 @param key the key of the value to get
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
267 @type str
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
268 @return the requested setting value
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
269 @rtype Any
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
270 """
7
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
271 if key in ("RecentAppWorkdirs",):
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
272 return Globals.toList(
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
273 Preferences.Prefs.settings.value(
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
274 self.PreferencesKey + "/" + key, self.__defaults[key]
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
275 )
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
276 )
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
277 elif key in ("MaxRecentAppWorkdirs",):
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
278 return int(
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
279 Preferences.Prefs.settings.value(
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
280 self.PreferencesKey + "/" + key, self.__defaults[key]
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
281 )
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
282 )
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
283
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
284 return None
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
285
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
286 def setPreferences(self, key, value):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
287 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
288 Public method to store the various settings values.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
289
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
290 @param key the key of the setting to be set
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
291 @type str
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
292 @param value the value to be set
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
293 @type Any
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
294 """
7
9a98f7260372 Modified the application execution dialog to allow the selection of a working directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
295 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value)
1
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
296
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
297
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
298 def installDependencies(pipInstall):
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
299 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
300 Function to install dependencies of this plug-in.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
301
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
302 @param pipInstall function to be called with a list of package names.
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
303 @type function
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
304 """
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
305 try:
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
306 import pipx # __IGNORE_WARNING__
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
307 except ImportError:
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
308 pipInstall(["pipx>=1.5.0"])
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
309
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
310
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
311 #
d83409a59365 Implemented the basic skeleton for the pipx Interface plugin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
312 # eflag: noqa = M801, U200

eric ide

mercurial