Wed, 30 Apr 2014 23:13:40 +0200
Missing translation added; Translations regenerated.
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
3160
209a07d7e401
Updated copyright for 2014.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2990
diff
changeset
|
3 | # Copyright (c) 2009 - 2014 Detlev Offenbach <detlev@die-offenbachs.de> |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
7 | Module implementing specialized line edits. |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
1964
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
10 | from PyQt4.QtCore import pyqtSignal, Qt, QEvent, qVersion |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
11 | from PyQt4.QtGui import QLineEdit, QStyle, QPainter, QPalette, \ |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
12 | QStyleOptionFrameV2, QWidget, QHBoxLayout, QBoxLayout, QLayout, \ |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
13 | QApplication, QSpacerItem, QSizePolicy |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
14 | |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
15 | import UI.PixmapCache |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
16 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
17 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
18 | class E5LineEditSideWidget(QWidget): |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
19 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
20 | Class implementing the side widgets for the line edit class. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
21 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
22 | sizeHintChanged = pyqtSignal() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
23 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
24 | def __init__(self, parent=None): |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
25 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
26 | Constructor |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
27 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
28 | @param parent reference to the parent widget (QWidget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
29 | """ |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
30 | super().__init__(parent) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
31 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
32 | def event(self, evt): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
33 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
34 | Protected method to handle events. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
35 | |
2953
703452a2876f
Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
36 | @param evt reference to the event (QEvent) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
37 | @return flag indicating, whether the event was recognized (boolean) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
38 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
39 | if evt.type() == QEvent.LayoutRequest: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
40 | self.sizeHintChanged.emit() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
41 | return QWidget.event(self, evt) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
43 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | class E5LineEdit(QLineEdit): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | Class implementing a line edit widget showing some inactive text. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
48 | LeftSide = 0 |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
49 | RightSide = 1 |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
50 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
51 | def __init__(self, parent=None, inactiveText=""): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | Constructor |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | @param parent reference to the parent widget (QWidget) |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | @param inactiveText text to be shown on inactivity (string) |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | """ |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
58 | super().__init__(parent) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
60 | self.setMinimumHeight(22) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
61 | |
1964
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
62 | if qVersion() < "4.7.0": |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
63 | self.__inactiveText = inactiveText |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
64 | else: |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
65 | self.setPlaceholderText(inactiveText) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
66 | |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
67 | self.__mainLayout = QHBoxLayout(self) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
68 | self.__mainLayout.setContentsMargins(0, 0, 0, 0) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
69 | self.__mainLayout.setSpacing(0) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
70 | |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
71 | self.__leftMargin = 0 |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
72 | self.__leftWidget = E5LineEditSideWidget(self) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
73 | self.__leftWidget.resize(0, 0) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
74 | self.__leftLayout = QHBoxLayout(self.__leftWidget) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
75 | self.__leftLayout.setContentsMargins(0, 0, 2, 0) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
76 | if QApplication.isRightToLeft(): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
77 | self.__leftLayout.setDirection(QBoxLayout.RightToLeft) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
78 | else: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
79 | self.__leftLayout.setDirection(QBoxLayout.LeftToRight) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
80 | self.__leftLayout.setSizeConstraint(QLayout.SetFixedSize) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
81 | |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
82 | self.__rightWidget = E5LineEditSideWidget(self) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
83 | self.__rightWidget.resize(0, 0) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
84 | self.__rightLayout = QHBoxLayout(self.__rightWidget) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
85 | self.__rightLayout.setContentsMargins(0, 0, 2, 0) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
86 | if self.isRightToLeft(): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
87 | self.__rightLayout.setDirection(QBoxLayout.RightToLeft) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
88 | else: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
89 | self.__rightLayout.setDirection(QBoxLayout.LeftToRight) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
90 | |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
91 | horizontalSpacer = QSpacerItem( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
92 | 0, 0, QSizePolicy.Expanding, QSizePolicy.Minimum) |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
93 | self.__mainLayout.addWidget( |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
94 | self.__leftWidget, 0, Qt.AlignVCenter | Qt.AlignLeft) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
95 | self.__mainLayout.addItem(horizontalSpacer) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
96 | self.__mainLayout.addWidget( |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
97 | self.__rightWidget, 0, Qt.AlignVCenter | Qt.AlignRight) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
98 | if self.isRightToLeft(): |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
99 | self.__mainLayout.setDirection(QBoxLayout.RightToLeft) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
100 | else: |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
101 | self.__mainLayout.setDirection(QBoxLayout.LeftToRight) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
102 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
103 | self.setWidgetSpacing(3) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
104 | self.__leftWidget.sizeHintChanged.connect(self._updateTextMargins) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
105 | self.__rightWidget.sizeHintChanged.connect(self._updateTextMargins) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
106 | |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
107 | def setLeftMargin(self, margin): |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
108 | """ |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
109 | Public method to set the left margin. |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
110 | |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
111 | @param margin left margin in pixel (integer) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
112 | """ |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
113 | self.__leftMargin = margin |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
114 | |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
115 | def leftMargin(self): |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
116 | """ |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
117 | Public method to get the size of the left margin. |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
118 | |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
119 | @return left margin in pixel (integer) |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
120 | """ |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
121 | return self.__leftMargin |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
122 | |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
123 | def event(self, evt): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
124 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
125 | Protected method to handle events. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
126 | |
2953
703452a2876f
Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
127 | @param evt reference to the event (QEvent) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
128 | @return flag indicating, whether the event was recognized (boolean) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
129 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
130 | if evt.type() == QEvent.LayoutDirectionChange: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
131 | if self.isRightToLeft(): |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
132 | self.__mainLayout.setDirection(QBoxLayout.RightToLeft) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
133 | self.__leftLayout.setDirection(QBoxLayout.RightToLeft) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
134 | self.__rightLayout.setDirection(QBoxLayout.RightToLeft) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
135 | else: |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
136 | self.__mainLayout.setDirection(QBoxLayout.LeftToRight) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
137 | self.__leftLayout.setDirection(QBoxLayout.LeftToRight) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
138 | self.__rightLayout.setDirection(QBoxLayout.LeftToRight) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
139 | return QLineEdit.event(self, evt) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
140 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
141 | def paintEvent(self, evt): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
142 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
143 | Protected method handling a paint event. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
144 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
145 | @param evt reference to the paint event (QPaintEvent) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
146 | """ |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
147 | super().paintEvent(evt) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
643
diff
changeset
|
148 | |
1964
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
149 | if qVersion() < "4.7.0": |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
150 | if not self.text() and \ |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
151 | self.__inactiveText and \ |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
152 | not self.hasFocus(): |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
153 | panel = QStyleOptionFrameV2() |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
154 | self.initStyleOption(panel) |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
155 | textRect = self.style().subElementRect( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
156 | QStyle.SE_LineEditContents, panel, self) |
1964
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
157 | textRect.adjust(2, 0, 0, 0) |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
158 | left = self.textMargin(self.LeftSide) |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
159 | right = self.textMargin(self.RightSide) |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
160 | textRect.adjust(left, 0, -right, 0) |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
161 | painter = QPainter(self) |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
162 | painter.setPen(self.palette().brush( |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
163 | QPalette.Disabled, QPalette.Text).color()) |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
164 | painter.drawText( |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
165 | textRect, Qt.AlignLeft | Qt.AlignVCenter, |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
166 | self.__inactiveText) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
167 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
168 | def _updateTextMargins(self): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
169 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
170 | Protected slot to update the text margins. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
171 | """ |
2293
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
172 | if self.__leftMargin == 0: |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
173 | left = self.__leftWidget.sizeHint().width() |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
174 | else: |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
175 | left = self.__leftMargin |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
176 | right = self.__rightWidget.sizeHint().width() |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
177 | top = 0 |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
178 | bottom = 0 |
ec6c1459f5b3
Fixed an issue caused by Qt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2206
diff
changeset
|
179 | self.setTextMargins(left, top, right, bottom) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
180 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
181 | def addWidget(self, widget, position): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
182 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
183 | Public method to add a widget to a side. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
184 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
185 | @param widget reference to the widget to add (QWidget) |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
186 | @param position position to add to (E5LineEdit.LeftSide, |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
187 | E5LineEdit.RightSide) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
188 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
189 | if widget is None: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
190 | return |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
191 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
192 | if self.isRightToLeft(): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
193 | if position == self.LeftSide: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
194 | position = self.RightSide |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
195 | else: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
196 | position = self.LeftSide |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
197 | if position == self.LeftSide: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
198 | self.__leftLayout.addWidget(widget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
199 | else: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
200 | self.__rightLayout.insertWidget(1, widget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
201 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
202 | def removeWidget(self, widget): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
203 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
204 | Public method to remove a widget from a side. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
205 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
206 | @param widget reference to the widget to remove (QWidget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
207 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
208 | if widget is None: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
209 | return |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
210 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
211 | self.__leftLayout.removeWidget(widget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
212 | self.__rightLayout.removeWidget(widget) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
213 | widget.hide() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
214 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
215 | def widgetSpacing(self): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
216 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
217 | Public method to get the side widget spacing. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
218 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
219 | @return side widget spacing (integer) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
220 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
221 | return self.__leftLayout.spacing() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
222 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
223 | def setWidgetSpacing(self, spacing): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
224 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
225 | Public method to set the side widget spacing. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
226 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
227 | @param spacing side widget spacing (integer) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
228 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
229 | self.__leftLayout.setSpacing(spacing) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
230 | self.__rightLayout.setSpacing(spacing) |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
231 | self._updateTextMargins() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
232 | |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
233 | def textMargin(self, position): |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
234 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
235 | Public method to get the text margin for a side. |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
236 | |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
237 | @param position side to get margin for (E5LineEdit.LeftSide, |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
238 | E5LineEdit.RightSide) |
2953
703452a2876f
Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
239 | @return text margin (integer) |
643
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
240 | """ |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
241 | spacing = self.__rightLayout.spacing() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
242 | w = 0 |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
243 | if position == self.LeftSide: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
244 | w = self.__leftWidget.sizeHint().width() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
245 | else: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
246 | w = self.__rightWidget.sizeHint().width() |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
247 | if w == 0: |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
248 | return 0 |
719db11dd4df
Added a line widget with embeddable buttons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
249 | return w + spacing * 2 |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | def inactiveText(self): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | Public method to get the inactive text. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | |
2953
703452a2876f
Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
255 | @return inactive text (string) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | """ |
1964
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
257 | if qVersion() < "4.7.0": |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
258 | return self.__inactiveText |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
259 | else: |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
260 | return self.placeholderText() |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | def setInactiveText(self, inactiveText): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | Public method to set the inactive text. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | @param inactiveText text to be shown on inactivity (string) |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | """ |
1964
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
268 | if qVersion() < "4.7.0": |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
269 | self.__inactiveText = inactiveText |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
270 | self.update() |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
271 | else: |
6a6a53f2d086
Added a filter edit to filter the configuration tree to the configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
272 | self.setPlaceholderText(inactiveText) |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
273 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
274 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
275 | class E5ClearableLineEdit(E5LineEdit): |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
276 | """ |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
277 | Class implementing a line edit widget showing some inactive text and a |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
278 | clear button, if it has some contents. |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
279 | """ |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
280 | def __init__(self, parent=None, inactiveText="", |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
281 | side=E5LineEdit.RightSide): |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
282 | """ |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
283 | Constructor |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
284 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
285 | @param parent reference to the parent widget (QWidget) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
286 | @keyparam inactiveText text to be shown on inactivity (string) |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
287 | @keyparam side side the clear button should be shown at |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
288 | (E5LineEdit.RightSide, E5LineEdit.LeftSide) |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
289 | """ |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
290 | assert side in [E5LineEdit.RightSide, E5LineEdit.LeftSide] |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
291 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
292 | super().__init__(parent, inactiveText) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
293 | |
2401
4f428de32b69
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
294 | from E5Gui.E5LineEditButton import E5LineEditButton |
2206
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
295 | self.__clearButton = E5LineEditButton(self) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
296 | self.__clearButton.setIcon(UI.PixmapCache.getIcon("clearLeft.png")) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
297 | self.addWidget(self.__clearButton, side) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
298 | self.__clearButton.setVisible(False) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
299 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
300 | self.__clearButton.clicked[()].connect(self.clear) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
301 | self.textChanged.connect(self.__textChanged) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
302 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
303 | def __textChanged(self, txt): |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
304 | """ |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
305 | Private slot to handle changes of the text. |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
306 | |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
307 | @param txt text (string) |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
308 | """ |
b2da5a8d7f15
Added a line edit widget with an internal clear button to E5LineEdit.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
309 | self.__clearButton.setVisible(txt != "") |