eric6/Preferences/ConfigurationPages/QtPage.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7198
684261ef2165
equal deleted inserted replaced
6941:f99d60d6b59b 6942:2602857055c5
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2006 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Qt configuration page.
8 """
9
10 from __future__ import unicode_literals
11
12 from PyQt5.QtCore import pyqtSlot
13
14 from E5Gui.E5PathPicker import E5PathPickerModes
15
16 from .ConfigurationPageBase import ConfigurationPageBase
17 from .Ui_QtPage import Ui_QtPage
18
19 import Preferences
20 from Globals import qVersionTuple
21
22
23 class QtPage(ConfigurationPageBase, Ui_QtPage):
24 """
25 Class implementing the Qt configuration page.
26 """
27 def __init__(self):
28 """
29 Constructor
30 """
31 super(QtPage, self).__init__()
32 self.setupUi(self)
33 self.setObjectName("QtPage")
34
35 self.qt4TransPicker.setMode(E5PathPickerModes.DirectoryMode)
36 self.qtToolsDirPicker.setMode(E5PathPickerModes.DirectoryShowFilesMode)
37 self.pyqtToolsDirPicker.setMode(
38 E5PathPickerModes.DirectoryShowFilesMode)
39
40 # set initial values
41 if qVersionTuple() < (5, 0, 0):
42 self.qt4TransPicker.setText(
43 Preferences.getQt("Qt4TranslationsDir"))
44 else:
45 self.qt4TransPicker.setText(
46 Preferences.getQt("Qt5TranslationsDir"))
47 self.qtToolsDirPicker.setText(Preferences.getQt("QtToolsDir"))
48 self.qt4PrefixEdit.setText(Preferences.getQt("QtToolsPrefix4"))
49 self.qt4PostfixEdit.setText(Preferences.getQt("QtToolsPostfix4"))
50 self.__updateQt4Sample()
51 self.pyqtToolsDirPicker.setText(Preferences.getQt("PyQtToolsDir"))
52 self.pyuicIndentSpinBox.setValue(Preferences.getQt("PyuicIndent"))
53 self.pyuicImportsCheckBox.setChecked(
54 Preferences.getQt("PyuicFromImports"))
55
56 def save(self):
57 """
58 Public slot to save the Qt configuration.
59 """
60 if qVersionTuple() < (5, 0, 0):
61 Preferences.setQt("Qt4TranslationsDir", self.qt4TransPicker.text())
62 else:
63 Preferences.setQt("Qt5TranslationsDir", self.qt4TransPicker.text())
64 Preferences.setQt("QtToolsDir", self.qtToolsDirPicker.text())
65 Preferences.setQt("QtToolsPrefix4", self.qt4PrefixEdit.text())
66 Preferences.setQt("QtToolsPostfix4", self.qt4PostfixEdit.text())
67 Preferences.setQt("PyQtToolsDir", self.pyqtToolsDirPicker.text())
68 Preferences.setQt("PyuicIndent", self.pyuicIndentSpinBox.value())
69 Preferences.setQt("PyuicFromImports",
70 self.pyuicImportsCheckBox.isChecked())
71
72 def __updateQt4Sample(self):
73 """
74 Private slot to update the Qt4 tools sample label.
75 """
76 self.qt4SampleLabel.setText(
77 self.tr("Sample: {0}designer{1}").format(
78 self.qt4PrefixEdit.text(), self.qt4PostfixEdit.text()))
79
80 @pyqtSlot(str)
81 def on_qt4PrefixEdit_textChanged(self, txt):
82 """
83 Private slot to handle a change in the entered Qt directory.
84
85 @param txt the entered string (string)
86 """
87 self.__updateQt4Sample()
88
89 @pyqtSlot(str)
90 def on_qt4PostfixEdit_textChanged(self, txt):
91 """
92 Private slot to handle a change in the entered Qt directory.
93
94 @param txt the entered string (string)
95 """
96 self.__updateQt4Sample()
97
98
99 def create(dlg):
100 """
101 Module function to create the configuration page.
102
103 @param dlg reference to the configuration dialog
104 @return reference to the instantiated page (ConfigurationPageBase)
105 """
106 page = QtPage()
107 return page

eric ide

mercurial