Sun, 31 Dec 2017 16:52:09 +0100
Updated copyright for 2018.
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 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
3 | # Copyright (c) 2006 - 2018 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 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
10 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
11 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5701
diff
changeset
|
12 | from PyQt5.QtCore import pyqtSlot |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
4577
e79a139aacc4
Changed more configuration pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
14 | from E5Gui.E5PathPicker import E5PathPickerModes |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
16 | from .ConfigurationPageBase import ConfigurationPageBase |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
17 | from .Ui_QtPage import Ui_QtPage |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | import Preferences |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5701
diff
changeset
|
20 | from Globals import qVersionTuple |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
22 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | class QtPage(ConfigurationPageBase, Ui_QtPage): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | Class implementing the Qt configuration page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | def __init__(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
31 | super(QtPage, self).__init__() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | self.setupUi(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | self.setObjectName("QtPage") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4577
diff
changeset
|
35 | self.qt4TransPicker.setMode(E5PathPickerModes.DirectoryMode) |
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
|
36 | self.qtToolsDirPicker.setMode(E5PathPickerModes.DirectoryShowFilesMode) |
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
|
37 | self.pyqtToolsDirPicker.setMode( |
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
|
38 | E5PathPickerModes.DirectoryShowFilesMode) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | # set initial values |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5701
diff
changeset
|
41 | if qVersionTuple() < (5, 0, 0): |
4815
74a3a3603ac5
Changed code to have separate translations directories for each Qt variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
42 | self.qt4TransPicker.setText( |
74a3a3603ac5
Changed code to have separate translations directories for each Qt variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
43 | Preferences.getQt("Qt4TranslationsDir")) |
74a3a3603ac5
Changed code to have separate translations directories for each Qt variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
44 | else: |
74a3a3603ac5
Changed code to have separate translations directories for each Qt variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
45 | self.qt4TransPicker.setText( |
74a3a3603ac5
Changed code to have separate translations directories for each Qt variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
46 | Preferences.getQt("Qt5TranslationsDir")) |
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
|
47 | self.qtToolsDirPicker.setText(Preferences.getQt("QtToolsDir")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.qt4PrefixEdit.setText(Preferences.getQt("QtToolsPrefix4")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.qt4PostfixEdit.setText(Preferences.getQt("QtToolsPostfix4")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.__updateQt4Sample() |
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
|
51 | self.pyqtToolsDirPicker.setText(Preferences.getQt("PyQtToolsDir")) |
3845
949682ceda54
Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
52 | self.pyuicIndentSpinBox.setValue(Preferences.getQt("PyuicIndent")) |
949682ceda54
Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
53 | self.pyuicImportsCheckBox.setChecked( |
949682ceda54
Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
54 | Preferences.getQt("PyuicFromImports")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | def save(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | Public slot to save the Qt configuration. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | """ |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5701
diff
changeset
|
60 | if qVersionTuple() < (5, 0, 0): |
4815
74a3a3603ac5
Changed code to have separate translations directories for each Qt variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
61 | Preferences.setQt("Qt4TranslationsDir", self.qt4TransPicker.text()) |
74a3a3603ac5
Changed code to have separate translations directories for each Qt variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
62 | else: |
74a3a3603ac5
Changed code to have separate translations directories for each Qt variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
63 | Preferences.setQt("Qt5TranslationsDir", self.qt4TransPicker.text()) |
5698
c8ac900389bf
Fixed an issue with the Qt configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5697
diff
changeset
|
64 | Preferences.setQt("QtToolsDir", self.qtToolsDirPicker.text()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | Preferences.setQt("QtToolsPrefix4", self.qt4PrefixEdit.text()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | Preferences.setQt("QtToolsPostfix4", self.qt4PostfixEdit.text()) |
5698
c8ac900389bf
Fixed an issue with the Qt configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5697
diff
changeset
|
67 | Preferences.setQt("PyQtToolsDir", self.pyqtToolsDirPicker.text()) |
3845
949682ceda54
Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
68 | Preferences.setQt("PyuicIndent", self.pyuicIndentSpinBox.value()) |
949682ceda54
Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
69 | Preferences.setQt("PyuicFromImports", |
949682ceda54
Added functionality to modify pyuic options.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
70 | self.pyuicImportsCheckBox.isChecked()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | def __updateQt4Sample(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | Private slot to update the Qt4 tools sample label. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | """ |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
76 | self.qt4SampleLabel.setText( |
5701
951c7f223aa2
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5698
diff
changeset
|
77 | self.tr("Sample: {0}designer{1}").format( |
951c7f223aa2
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5698
diff
changeset
|
78 | self.qt4PrefixEdit.text(), self.qt4PostfixEdit.text())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | @pyqtSlot(str) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | def on_qt4PrefixEdit_textChanged(self, txt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | 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
|
84 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | @param txt the entered string (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | self.__updateQt4Sample() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | @pyqtSlot(str) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | def on_qt4PostfixEdit_textChanged(self, txt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | 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
|
93 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | @param txt the entered string (string) |
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 | self.__updateQt4Sample() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
98 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | def create(dlg): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | Module function to create the configuration page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | @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
|
104 | @return reference to the instantiated page (ConfigurationPageBase) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | 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
|
107 | return page |