mirror of
https://github.com/lubosz/overte.git
synced 2025-04-25 12:52:52 +02:00
91 lines
2.7 KiB
QML
91 lines
2.7 KiB
QML
//
|
|
// GlyphButton.qml
|
|
//
|
|
// Created by Clement on 3/7/16
|
|
// 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.7
|
|
import QtQuick.Controls 2.2 as Original
|
|
import TabletScriptingInterface 1.0
|
|
|
|
import "../styles-uit"
|
|
|
|
Original.Button {
|
|
id: control
|
|
property int color: 0
|
|
property int colorScheme: hifi.colorSchemes.light
|
|
property string glyph: ""
|
|
property int size: 32
|
|
|
|
width: 120
|
|
height: 28
|
|
|
|
onHoveredChanged: {
|
|
if (hovered) {
|
|
Tablet.playSound(TabletEnums.ButtonHover);
|
|
}
|
|
}
|
|
|
|
onFocusChanged: {
|
|
if (focus) {
|
|
Tablet.playSound(TabletEnums.ButtonHover);
|
|
}
|
|
}
|
|
|
|
onClicked: {
|
|
Tablet.playSound(TabletEnums.ButtonClick);
|
|
}
|
|
|
|
background: Rectangle {
|
|
radius: hifi.buttons.radius
|
|
|
|
gradient: Gradient {
|
|
GradientStop {
|
|
position: 0.2
|
|
color: {
|
|
if (!control.enabled) {
|
|
hifi.buttons.disabledColorStart[control.colorScheme]
|
|
} else if (control.pressed) {
|
|
hifi.buttons.pressedColor[control.color]
|
|
} else if (control.hovered) {
|
|
hifi.buttons.hoveredColor[control.color]
|
|
} else if (!control.hovered && control.focus) {
|
|
hifi.buttons.focusedColor[control.color]
|
|
} else {
|
|
hifi.buttons.colorStart[control.color]
|
|
}
|
|
}
|
|
}
|
|
GradientStop {
|
|
position: 1.0
|
|
color: {
|
|
if (!control.enabled) {
|
|
hifi.buttons.disabledColorFinish[control.colorScheme]
|
|
} else if (control.pressed) {
|
|
hifi.buttons.pressedColor[control.color]
|
|
} else if (control.hovered) {
|
|
hifi.buttons.hoveredColor[control.color]
|
|
} else if (!control.hovered && control.focus) {
|
|
hifi.buttons.focusedColor[control.color]
|
|
} else {
|
|
hifi.buttons.colorFinish[control.color]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
contentItem: HiFiGlyphs {
|
|
color: enabled ? hifi.buttons.textColor[control.color]
|
|
: hifi.buttons.disabledTextColor[control.colorScheme]
|
|
verticalAlignment: Text.AlignVCenter
|
|
horizontalAlignment: Text.AlignHCenter
|
|
text: control.glyph
|
|
size: control.size
|
|
}
|
|
}
|
|
|