mirror of
https://github.com/overte-org/overte.git
synced 2025-04-26 23:56:22 +02:00
67 lines
2.1 KiB
QML
67 lines
2.1 KiB
QML
//
|
|
// TextField.qml
|
|
//
|
|
// Created by David Rowe on 21 Apr 2016
|
|
// Copyright 2016 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
import QtQuick 2.5
|
|
import QtQuick.Controls 1.4
|
|
import QtQuick.Controls.Styles 1.4
|
|
|
|
import "../styles-uit"
|
|
import "../controls-uit" as HifiControls
|
|
|
|
Item {
|
|
property string icon: ""
|
|
property int iconSize: 30
|
|
property string text: ""
|
|
|
|
property int colorScheme: hifi.colorSchemes.light
|
|
readonly property bool isLightColorScheme: colorScheme == hifi.colorSchemes.light
|
|
|
|
signal clicked()
|
|
|
|
height: Math.max(glyph.visible ? glyph.height - 4 : 0, string.visible ? string.height : 0)
|
|
width: glyph.width + string.anchors.leftMargin + string.width
|
|
|
|
HiFiGlyphs {
|
|
id: glyph
|
|
anchors.left: parent.left
|
|
anchors.top: parent.top
|
|
anchors.topMargin: -2
|
|
text: parent.icon
|
|
size: parent.iconSize
|
|
color: isLightColorScheme
|
|
? (mouseArea.containsMouse ? hifi.colors.baseGrayHighlight : hifi.colors.lightGray)
|
|
: (mouseArea.containsMouse ? hifi.colors.faintGray : hifi.colors.lightGrayText)
|
|
visible: text !== ""
|
|
width: visible ? implicitWidth : 0
|
|
}
|
|
|
|
RalewaySemiBold {
|
|
id: string
|
|
anchors {
|
|
left: glyph.visible ? glyph.right : parent.left
|
|
leftMargin: visible && glyph.visible ? hifi.dimensions.contentSpacing.x : 0
|
|
verticalCenter: glyph.visible ? glyph.verticalCenter : undefined
|
|
}
|
|
text: parent.text
|
|
size: hifi.fontSizes.inputLabel
|
|
color: isLightColorScheme
|
|
? (mouseArea.containsMouse ? hifi.colors.baseGrayHighlight : hifi.colors.lightGray)
|
|
: (mouseArea.containsMouse ? hifi.colors.faintGray : hifi.colors.lightGrayText)
|
|
font.underline: true;
|
|
visible: text !== ""
|
|
}
|
|
|
|
MouseArea {
|
|
id: mouseArea
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
onClicked: parent.clicked()
|
|
}
|
|
}
|