eric7/Preferences/ConfigurationPages/QtPage.py

Sun, 16 May 2021 20:07:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 May 2021 20:07:24 +0200
branch
eric7
changeset 8318
962bce857696
parent 8312
800c432b34c8
child 8327
666c2b81cbb7
permissions
-rw-r--r--

Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.

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
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7911
diff changeset
3 # Copyright (c) 2006 - 2021 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 Qt configuration page.
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
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
10 from PyQt6.QtCore import pyqtSlot
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
12 from E5Gui.E5Application import e5App
4577
e79a139aacc4 Changed more configuration pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
13 from E5Gui.E5PathPicker import E5PathPickerModes
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15 from .ConfigurationPageBase import ConfigurationPageBase
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
16 from .Ui_QtPage import Ui_QtPage
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 import Preferences
7911
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
19 import UI.PixmapCache
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
21
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 class QtPage(ConfigurationPageBase, Ui_QtPage):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Class implementing the Qt configuration page.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 def __init__(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
30 super().__init__()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 self.setupUi(self)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 self.setObjectName("QtPage")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
34 try:
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
35 self.__virtualenvManager = e5App().getObject("VirtualEnvManager")
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
36 except KeyError:
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
37 from VirtualEnv.VirtualenvManager import VirtualenvManager
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
38 self.__virtualenvManager = VirtualenvManager()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
39
7911
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
40 for button in (
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
41 self.pyqt5VenvDlgButton, self.pyqt6VenvDlgButton,
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
42 self.pyside2VenvDlgButton, self.pyside6VenvDlgButton,
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
43 ):
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
44 button.setIcon(UI.PixmapCache.getIcon("virtualenv"))
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
45
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
46 self.qtTransPicker.setMode(E5PathPickerModes.DirectoryMode)
7911
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
47 for picker in (
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
48 self.qtToolsDirPicker,
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
49 self.pyqtToolsDirPicker,
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
50 self.pyqt6ToolsDirPicker,
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
51 self.pyside2ToolsDirPicker,
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
52 self.pyside6ToolsDirPicker,
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
53 ):
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
54 picker.setMode(E5PathPickerModes.DirectoryShowFilesMode)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
56 self.__populateAndSetVenvComboBoxes(True)
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
57
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 # set initial values
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
59 self.qtTransPicker.setText(
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
60 Preferences.getQt("Qt5TranslationsDir"))
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
61
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
62 # Qt
5070
4e4651e88674 Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4815
diff changeset
63 self.qtToolsDirPicker.setText(Preferences.getQt("QtToolsDir"))
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
64 self.qtPrefixEdit.setText(Preferences.getQt("QtToolsPrefix"))
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
65 self.qtPostfixEdit.setText(Preferences.getQt("QtToolsPostfix"))
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
66 self.__updateQtSample()
7451
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
67
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
68 # PyQt 5
5697
ee81081a0ff7 Finished implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
69 self.pyqtToolsDirPicker.setText(Preferences.getQt("PyQtToolsDir"))
3845
949682ceda54 Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
70 self.pyuicIndentSpinBox.setValue(Preferences.getQt("PyuicIndent"))
949682ceda54 Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
71 self.pyuicImportsCheckBox.setChecked(
949682ceda54 Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
72 Preferences.getQt("PyuicFromImports"))
7451
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
73 self.pyuicExecuteCheckBox.setChecked(
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
74 Preferences.getQt("PyuicExecute"))
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
75
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
76 # PyQt 6
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
77 self.pyqt6ToolsDirPicker.setText(Preferences.getQt("PyQt6ToolsDir"))
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
78 self.pyuic6IndentSpinBox.setValue(Preferences.getQt("Pyuic6Indent"))
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
79 self.pyuic6ExecuteCheckBox.setChecked(
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
80 Preferences.getQt("Pyuic6Execute"))
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
81
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
82 # PySide 2
7451
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
83 self.pyside2ToolsDirPicker.setText(
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
84 Preferences.getQt("PySide2ToolsDir"))
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
85 self.pyside2uicImportsCheckBox.setChecked(
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
86 Preferences.getQt("PySide2FromImports"))
7911
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
87
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
88 # PySide 6
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
89 self.pyside6ToolsDirPicker.setText(
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
90 Preferences.getQt("PySide6ToolsDir"))
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
91 self.pyside6uicImportsCheckBox.setChecked(
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
92 Preferences.getQt("PySide6FromImports"))
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
93
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 def save(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 Public slot to save the Qt configuration.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 """
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
98 Preferences.setQt("Qt5TranslationsDir", self.qtTransPicker.text())
5698
c8ac900389bf Fixed an issue with the Qt configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5697
diff changeset
99 Preferences.setQt("QtToolsDir", self.qtToolsDirPicker.text())
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
100 Preferences.setQt("QtToolsPrefix", self.qtPrefixEdit.text())
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
101 Preferences.setQt("QtToolsPostfix", self.qtPostfixEdit.text())
7451
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
102
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
103 Preferences.setQt("PyQtVenvName", self.pyqt5VenvComboBox.currentText())
5698
c8ac900389bf Fixed an issue with the Qt configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5697
diff changeset
104 Preferences.setQt("PyQtToolsDir", self.pyqtToolsDirPicker.text())
3845
949682ceda54 Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
105 Preferences.setQt("PyuicIndent", self.pyuicIndentSpinBox.value())
949682ceda54 Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
106 Preferences.setQt("PyuicFromImports",
949682ceda54 Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
107 self.pyuicImportsCheckBox.isChecked())
7451
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
108 Preferences.setQt("PyuicExecute",
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
109 self.pyuicExecuteCheckBox.isChecked())
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
110
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
111 Preferences.setQt("PyQt6VenvName",
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
112 self.pyqt6VenvComboBox.currentText())
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
113 Preferences.setQt("PyQt6ToolsDir", self.pyqt6ToolsDirPicker.text())
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
114 Preferences.setQt("Pyuic6Indent", self.pyuic6IndentSpinBox.value())
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
115 Preferences.setQt("Pyuic6Execute",
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
116 self.pyuic6ExecuteCheckBox.isChecked())
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
117
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
118 Preferences.setQt("PySide2VenvName",
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
119 self.pyside2VenvComboBox.currentText())
7451
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
120 Preferences.setQt("PySide2ToolsDir", self.pyside2ToolsDirPicker.text())
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
121 Preferences.setQt("PySide2FromImports",
f04328aef87a PySide2 support: separated pyside2-uic options from those for pyuic5 and fixed tool detection for PySide2
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7446
diff changeset
122 self.pyside2uicImportsCheckBox.isChecked())
7911
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
123
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
124 Preferences.setQt("PySide6VenvName",
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
125 self.pyside6VenvComboBox.currentText())
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
126 Preferences.setQt("PySide6ToolsDir", self.pyside6ToolsDirPicker.text())
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
127 Preferences.setQt("PySide6FromImports",
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
128 self.pyside6uicImportsCheckBox.isChecked())
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
129
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
130 def __updateQtSample(self):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 """
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
132 Private slot to update the Qt tools sample label.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 """
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
134 self.qtSampleLabel.setText(
5701
951c7f223aa2 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5698
diff changeset
135 self.tr("Sample: {0}designer{1}").format(
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
136 self.qtPrefixEdit.text(), self.qtPostfixEdit.text()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 @pyqtSlot(str)
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
139 def on_qtPrefixEdit_textChanged(self, txt):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 Private slot to handle a change in the entered Qt directory.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 @param txt the entered string (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 """
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
145 self.__updateQtSample()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 @pyqtSlot(str)
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
148 def on_qtPostfixEdit_textChanged(self, txt):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 Private slot to handle a change in the entered Qt directory.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 @param txt the entered string (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 """
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
154 self.__updateQtSample()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
156 def __populateAndSetVenvComboBox(self, comboBox, envKey, initial):
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
157 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
158 Private method to populate and set the virtual environment combo boxes.
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
159
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
160 @param comboBox reference to the combo box to be populated
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
161 @type QComboBox
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
162 @param envKey preferences key for the environment
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
163 @type str
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
164 @param initial flag indicating an initial population
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
165 @type bool
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
166 """
8234
fcb6b4b96274 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
167 venvName = (Preferences.getQt(envKey) if initial
fcb6b4b96274 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
168 else comboBox.currentText())
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
169
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
170 comboBox.clear()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
171 comboBox.addItems(
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
172 [""] +
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
173 sorted(self.__virtualenvManager.getVirtualenvNames())
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
174 )
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
175
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
176 if venvName:
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
177 index = comboBox.findText(venvName)
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
178 if index < 0:
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
179 index = 0
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
180 comboBox.setCurrentIndex(index)
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
181
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
182 def __populateAndSetVenvComboBoxes(self, initial):
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
183 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
184 Private method to populate the virtual environment combo boxes.
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
185
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
186 @param initial flag indicating an initial population
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
187 @type bool
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
188 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
189 self.__populateAndSetVenvComboBox(
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
190 self.pyqt5VenvComboBox, "PyQtVenvName", initial)
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
191 self.__populateAndSetVenvComboBox(
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
192 self.pyqt6VenvComboBox, "PyQt6VenvName", initial)
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
193 self.__populateAndSetVenvComboBox(
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
194 self.pyside2VenvComboBox, "PySide2VenvName", initial)
7911
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
195 self.__populateAndSetVenvComboBox(
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
196 self.pyside6VenvComboBox, "PySide6VenvName", initial)
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
197
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
198 def __showVirtualEnvManager(self):
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
199 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
200 Private method to show the virtual environment manager dialog.
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
201 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
202 self.__virtualenvManager.showVirtualenvManagerDialog(modal=True)
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
203 self.__populateAndSetVenvComboBoxes(False)
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
204 self.activateWindow()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
205 self.raise_()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
206
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
207 @pyqtSlot()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
208 def on_pyqt5VenvDlgButton_clicked(self):
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
209 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
210 Private slot to show the virtual environment manager dialog.
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
211 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
212 self.__showVirtualEnvManager()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
213
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
214 @pyqtSlot()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
215 def on_pyqt6VenvDlgButton_clicked(self):
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
216 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
217 Private slot to show the virtual environment manager dialog.
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
218 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
219 self.__showVirtualEnvManager()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
220
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
221 @pyqtSlot()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
222 def on_pyside2VenvDlgButton_clicked(self):
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
223 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
224 Private slot to show the virtual environment manager dialog.
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
225 """
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
226 self.__showVirtualEnvManager()
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
227
7911
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
228 @pyqtSlot()
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
229 def on_pyside6VenvDlgButton_clicked(self):
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
230 """
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
231 Private slot to show the virtual environment manager dialog.
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
232 """
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
233 self.__showVirtualEnvManager()
4621c9082a43 Added support for PySide6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7907
diff changeset
234
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
235
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 def create(dlg):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 Module function to create the configuration page.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 @param dlg reference to the configuration dialog
2964
84b65fb9e780 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2619
diff changeset
241 @return reference to the instantiated page (ConfigurationPageBase)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 page = QtPage()
880
52ed20236a1c Added the option to not use the native file dialog to prevent crashes on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
244 return page

eric ide

mercurial