-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCButton.qml
More file actions
65 lines (56 loc) · 1.82 KB
/
CButton.qml
File metadata and controls
65 lines (56 loc) · 1.82 KB
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
import QtQuick 2.13
import QtQuick.Controls 2.13
Button {
id: control
flat: true
font.family: "Roboto"
font.capitalization: Font.MixedCase
font.bold: false
font.pointSize: Theme.smalTextlSize
property color backgroundColor: ui.color("grey-400")
property color textColor: ui.color("white")
property color iconColor: ui.color("white")
property url iconSource
property real iconWidth: Theme.baseIconSize
property real iconHeight: Theme.baseIconSize
contentItem: Row {
anchors.verticalCenter: parent.verticalCenter
spacing: Theme.baseMarginSize
Icon{
width: control.iconWidth
height: control.iconHeight
anchors.verticalCenter: parent.verticalCenter
color: control.down ? Qt.darker(control.iconColor, 1.2) : control.iconColor
source: control.iconSource
}
Text {
anchors.verticalCenter: parent.verticalCenter
text: control.text
font: control.font
opacity: enabled ? 1.0 : 0.3
color: control.down ? Qt.darker(control.textColor, 1.2) : control.textColor
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
}
background: Rectangle {
implicitWidth: 100
implicitHeight: 40
color: getColor()
opacity: enabled ? 1 : 0.3
radius: 2
function getColor(){
if(control.flat){
if(control.hovered)
return Qt.rgba(0, 0, 0, 0.1)
else
return "transparent"
}else{
if(control.hovered)
return Qt.darker(control.backgroundColor, 1.2)
else
return control.backgroundColor
}
}
}
}