mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 15:13:09 +02:00
65 lines
1.4 KiB
QML
65 lines
1.4 KiB
QML
import QtQuick 2.5
|
|
import QtQuick.Controls 1.4
|
|
|
|
Item {
|
|
id: button
|
|
property alias imageURL: image.source
|
|
property alias alpha: button.opacity
|
|
property var subImage;
|
|
property int yOffset: 0
|
|
property int buttonState: 0
|
|
property var toolbar;
|
|
property real size: 50 // toolbar ? toolbar.buttonSize : 50
|
|
width: size; height: size
|
|
property bool pinned: false
|
|
clip: true
|
|
|
|
Behavior on opacity {
|
|
NumberAnimation {
|
|
duration: 150
|
|
easing.type: Easing.InOutCubic
|
|
}
|
|
}
|
|
|
|
property alias fadeTargetProperty: button.opacity
|
|
|
|
onFadeTargetPropertyChanged: {
|
|
visible = (fadeTargetProperty !== 0.0);
|
|
}
|
|
|
|
onVisibleChanged: {
|
|
if ((!visible && fadeTargetProperty != 0.0) || (visible && fadeTargetProperty == 0.0)) {
|
|
var target = visible;
|
|
visible = !visible;
|
|
fadeTargetProperty = target ? 1.0 : 0.0;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
onButtonStateChanged: {
|
|
yOffset = size * buttonState
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
if (subImage) {
|
|
if (subImage.y) {
|
|
yOffset = subImage.y;
|
|
}
|
|
}
|
|
}
|
|
|
|
signal clicked()
|
|
|
|
Image {
|
|
id: image
|
|
y: -button.yOffset;
|
|
width: parent.width
|
|
}
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: button.clicked();
|
|
}
|
|
}
|
|
|