9import QtQuick.Templates as T
10import org.kde.ksvg as KSvg
12import org.kde.plasma.core as PlasmaCore
13import org.kde.plasma.components as PlasmaComponents3
14import org.kde.kirigami as Kirigami
20 implicitWidth: Math.max(
21 implicitBackgroundWidth + leftInset + rightInset,
22 Math.max(implicitContentWidth,
Kirigami.Units.gridUnit)
23 + spacing * 2 + leftPadding + rightPadding,
24 up.implicitIndicatorWidth + down.implicitIndicatorWidth
26 implicitHeight: Math.max(
27 implicitBackgroundHeight + topInset + bottomInset,
28 implicitContentHeight + topPadding + bottomPadding,
29 up.implicitIndicatorHeight,
30 down.implicitIndicatorHeight
33 leftPadding: !mirrored ? down.implicitIndicatorWidth : up.implicitIndicatorWidth
34 rightPadding: mirrored ? down.implicitIndicatorWidth : up.implicitIndicatorWidth
35 topPadding: bgLoader.topMargin
36 bottomPadding: bgLoader.bottomMargin
37 spacing: bgLoader.leftMargin
39 inputMethodHints:
Qt.ImhFormattedNumbersOnly
40 validator: IntValidator {
41 locale: control.locale.name
42 bottom: Math.min(control.from, control.to)
43 top: Math.max(control.from, control.to)
46 hoverEnabled:
Qt.styleHints.useHoverEffects
50 imagePath:
"widgets/line"
53 up.indicator: P.FlatButtonBackground {
54 x: control.mirrored ? 0 : parent.width - width
55 implicitHeight:
Kirigami.Units.gridUnit + bgLoader.topMargin + bgLoader.bottomMargin
56 implicitWidth:
Kirigami.Units.gridUnit + bgLoader.leftMargin + bgLoader.rightMargin
58 hovered: control.up.hovered
59 pressed: control.up.pressed
63 anchors.centerIn: parent
64 implicitWidth:
Kirigami.Units.iconSizes.sizeForLabels
65 implicitHeight:
Kirigami.Units.iconSizes.sizeForLabels
69 x: control.mirrored ? parent.
width - width : 0
74 topMargin: bgLoader.topMargin
75 bottomMargin: bgLoader.bottomMargin
77 implicitWidth: naturalSize.width
78 implicitHeight: implicitWidth
79 elementId:
"vertical-line"
84 down.indicator: P.FlatButtonBackground {
85 x: control.mirrored ? parent.width - width : 0
86 implicitHeight:
Kirigami.Units.gridUnit + bgLoader.topMargin + bgLoader.bottomMargin
87 implicitWidth:
Kirigami.Units.gridUnit + bgLoader.leftMargin + bgLoader.rightMargin
89 hovered: control.down.hovered
90 pressed: control.down.pressed
94 anchors.centerIn: parent
95 implicitWidth:
Kirigami.Units.iconSizes.sizeForLabels
96 implicitHeight:
Kirigami.Units.iconSizes.sizeForLabels
100 x: control.mirrored ? 0 : parent.
width - width
104 bottom: parent.bottom
105 topMargin: bgLoader.topMargin
106 bottomMargin: bgLoader.bottomMargin
108 implicitWidth: naturalSize.width
109 implicitHeight: implicitWidth
110 elementId:
"vertical-line"
115 contentItem: T.TextField {
117 opacity: enabled ? 1 : 0.5
118 implicitWidth: Math.ceil(contentWidth) + leftPadding + rightPadding
119 implicitHeight: Math.ceil(contentHeight) + topPadding + bottomPadding
120 text: control.displayText
125 selectionColor:
Kirigami.Theme.highlightColor
126 selectedTextColor:
Kirigami.Theme.highlightedTextColor
127 horizontalAlignment:
Qt.AlignHCenter
128 verticalAlignment:
Qt.AlignVCenter
129 readOnly: !control.editable
130 validator: control.validator
131 inputMethodHints: control.inputMethodHints
141 topMargin: control.topInset
143 leftMargin: LayoutMirroring.enabled ? control.rightInset : control.leftInset
144 rightMargin: LayoutMirroring.enabled ? control.leftInset : control.rightInset
145 bottomMargin: control.bottomInset
147 readonly
property real leftMargin: item.leftMargin
148 readonly
property real rightMargin: item.rightMargin
149 readonly
property real topMargin: item.topMargin
150 readonly
property real bottomMargin: item.bottomMargin
151 sourceComponent: control.editable ? editableBg : noneditableBg
154 P.RaisedButtonBackground {
155 hovered: control.hovered
156 focused: control.visualFocus || (control.contentItem.activeFocus && (
157 control.contentItem.focusReason ==
Qt.TabFocusReason ||
158 control.contentItem.focusReason ==
Qt.BacktabFocusReason ||
159 control.contentItem.focusReason ==
Qt.ShortcutFocusReason
168 readonly
property real leftMargin: margins.left
169 readonly
property real rightMargin: margins.right
170 readonly
property real topMargin: margins.top
171 readonly
property real bottomMargin: margins.bottom
172 imagePath:
"widgets/lineedit"
177 leftMargin: -margins.left
178 topMargin: -margins.top
179 rightMargin: -margins.right
180 bottomMargin: -margins.bottom
182 imagePath:
"widgets/lineedit"
185 opacity: control.hovered
186 Behavior on opacity {
187 enabled: control.hovered &&
Kirigami.Units.longDuration > 0
189 duration:
Kirigami.Units.longDuration
190 easing.type: Easing.OutCubic
195 property bool visualFocus: control.visualFocus || (control.contentItem.activeFocus
196 && (control.contentItem.focusReason ==
Qt.TabFocusReason ||
197 control.contentItem.focusReason ==
Qt.BacktabFocusReason ||
198 control.contentItem.focusReason ==
Qt.ShortcutFocusReason)
200 z: lineEditSvg.
hasElement(
"hint-focus-over-base") ? 0 : -1
203 leftMargin: -margins.left
204 topMargin: -margins.top
205 rightMargin: -margins.right
206 bottomMargin: -margins.bottom
208 imagePath:
"widgets/lineedit"
209 prefix: visualFocus && lineEditSvg.hasElement(
"focusframe-center") ?
"focusframe" :
"focus"
211 opacity: visualFocus || control.activeFocus || control.contentItem.activeFocus
212 Behavior on opacity {
213 enabled:
Kirigami.Units.longDuration > 0
215 duration:
Kirigami.Units.longDuration
216 easing.type: Easing.OutCubic
222 imagePath:
"widgets/lineedit"
Q_INVOKABLE bool hasElement(const QString &elementName) const