aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicknativestyle/controls/DefaultTextField.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicknativestyle/controls/DefaultTextField.qml')
-rw-r--r--src/quicknativestyle/controls/DefaultTextField.qml56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/quicknativestyle/controls/DefaultTextField.qml b/src/quicknativestyle/controls/DefaultTextField.qml
new file mode 100644
index 0000000000..dadfa56617
--- /dev/null
+++ b/src/quicknativestyle/controls/DefaultTextField.qml
@@ -0,0 +1,56 @@
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Controls.impl
+import QtQuick.Templates as T
+import QtQuick.NativeStyle as NativeStyle
+
+T.TextField {
+ id: control
+
+ readonly property bool __nativeBackground: background instanceof NativeStyle.StyleItem
+ readonly property bool __notCustomizable: true
+
+ implicitWidth: implicitBackgroundWidth + leftInset + rightInset
+ || Math.max(contentWidth, placeholder.implicitWidth) + leftPadding + rightPadding
+
+ implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
+ contentHeight + topPadding + bottomPadding,
+ placeholder.implicitHeight + topPadding + bottomPadding)
+
+ leftPadding: __nativeBackground ? background.contentPadding.left: 7
+ rightPadding: __nativeBackground ? background.contentPadding.right: 7
+ topPadding: __nativeBackground ? background.contentPadding.top: 3
+ bottomPadding: __nativeBackground ? background.contentPadding.bottom: 3
+
+ color: control.palette.text
+ selectionColor: control.palette.highlight
+ selectedTextColor: control.palette.highlightedText
+ placeholderTextColor: control.palette.placeholderText
+ verticalAlignment: TextInput.AlignTop
+
+ PlaceholderText {
+ id: placeholder
+ x: control.leftPadding
+ y: control.topPadding
+ width: control.width - (control.leftPadding + control.rightPadding)
+ height: control.height - (control.topPadding + control.bottomPadding)
+ text: control.placeholderText
+ font: control.font
+ color: control.placeholderTextColor
+ verticalAlignment: control.verticalAlignment
+ visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
+ elide: Text.ElideRight
+ renderType: control.renderType
+ }
+
+ background: NativeStyle.TextField {
+ control: control
+ contentWidth: Math.max(control.contentWidth, placeholder.implicitWidth)
+ contentHeight: control.contentHeight
+
+ readonly property bool __ignoreNotCustomizable: true
+ }
+}