Warning, /maui/nomad-style/TextField.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * Copyright 2017 Marco Martin <mart@kde.org>
0003 * Copyright 2017 The Qt Company Ltd.
0004 *
0005 * GNU Lesser General Public License Usage
0006 * Alternatively, this file may be used under the terms of the GNU Lesser
0007 * General Public License version 3 as published by the Free Software
0008 * Foundation and appearing in the file LICENSE.LGPLv3 included in the
0009 * packaging of this file. Please review the following information to
0010 * ensure the GNU Lesser General Public License version 3 requirements
0011 * will be met: https://www.gnu.org/licenses/lgpl.html.
0012 *
0013 * GNU General Public License Usage
0014 * Alternatively, this file may be used under the terms of the GNU
0015 * General Public License version 2.0 or later as published by the Free
0016 * Software Foundation and appearing in the file LICENSE.GPL included in
0017 * the packaging of this file. Please review the following information to
0018 * ensure the GNU General Public License version 2.0 requirements will be
0019 * met: http://www.gnu.org/licenses/gpl-2.0.html.
0020 */
0021
0022
0023 import QtQuick 2.6
0024 import QtQuick.Window 2.1
0025 import QtQuick.Controls 2.3 as Controls
0026 import QtQuick.Templates 2.3 as T
0027 import org.kde.kirigami 2.2 as Kirigami
0028 import org.kde.qqc2desktopstyle.private 1.0 as StylePrivate
0029
0030 T.TextField {
0031 id: controlRoot
0032 Kirigami.Theme.colorSet: Kirigami.Theme.View
0033 Kirigami.Theme.inherit: false
0034
0035 implicitWidth: Math.max(200,
0036 placeholderText ? placeholder.implicitWidth + leftPadding + rightPadding : 0)
0037 || contentWidth + leftPadding + rightPadding
0038 implicitHeight: Math.max(contentHeight + topPadding + bottomPadding,
0039 background ? Kirigami.Units.iconSizes.smallMedium : 0,
0040 placeholder.implicitHeight + topPadding + bottomPadding)
0041
0042 padding: 6
0043
0044 color: controlRoot.enabled ? Kirigami.Theme.textColor : Kirigami.Theme.disabledTextColor
0045 selectionColor: Kirigami.Theme.highlightColor
0046 selectedTextColor: Kirigami.Theme.highlightedTextColor
0047 verticalAlignment: TextInput.AlignVCenter
0048 //Text.NativeRendering is broken on non integer pixel ratios
0049 renderType: Window.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering
0050 selectByMouse: true
0051
0052 Controls.Label {
0053 id: placeholder
0054 x: controlRoot.leftPadding
0055 y: controlRoot.topPadding
0056 width: controlRoot.width - (controlRoot.leftPadding + controlRoot.rightPadding)
0057 height: controlRoot.height - (controlRoot.topPadding + controlRoot.bottomPadding)
0058
0059 text: controlRoot.placeholderText
0060 font: controlRoot.font
0061 color: Kirigami.Theme.disabledTextColor
0062 horizontalAlignment: controlRoot.horizontalAlignment
0063 verticalAlignment: controlRoot.verticalAlignment
0064 visible: !controlRoot.length && !controlRoot.preeditText && (!controlRoot.activeFocus || controlRoot.horizontalAlignment !== Qt.AlignHCenter)
0065 elide: Text.ElideRight
0066 }
0067
0068 background: StylePrivate.StyleItem {
0069 id: style
0070
0071 control: controlRoot
0072 elementType: "edit"
0073
0074 sunken: true
0075 hasFocus: controlRoot.activeFocus
0076 hover: controlRoot.hovered
0077 }
0078 }