forked from guiocavalcanti/comics-reader
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Button.qml
76 lines (66 loc) · 1.69 KB
/
Button.qml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import Qt 4.7
Item {
id: button
width: 104; height: 52;
property alias iconPressed: icon.sourcePressed
property alias iconUnpressed: icon.sourceUnpressed
property alias label: label.text
property alias enabled: mouseArea.enabled
property bool pressed: false
signal clicked
Image {
id: background
source: "images/bt-normal.png"
states: [
State {
name: "disabled"
when: button.enabled == false
PropertyChanges {
target: icon
opacity: 0.3
}
PropertyChanges {
target: label
opacity: 0.3
}
},
State {
name: "unpressed"
when: button.pressed == false
PropertyChanges {
target: background
source: "images/bt-normal.png"
}
},
State {
name: "pressed"
when: button.pressed == true
PropertyChanges {
target: background
source: "images/bt-pressed.png"
}
}
]
}
Label { id: label }
Icon { id: icon }
Connections {
target: mouseArea
onPressed: {
button.pressed = true
}
onReleased: {
button.pressed = false
}
}
onPressedChanged: {
label.pressed = pressed
icon.pressed = pressed
}
MouseArea {
id: mouseArea
anchors.fill: parent
onClicked:
button.clicked()
}
}