blob: 89f6ba87e0b40e2bb2ca3c60fdb23d51b3eba5c9 (
plain)
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
77
78
79
80
81
82
83
84
85
86
87
88
|
import QtQuick 2.4
import QtQuick.Layouts 1.1
import Ubuntu.Components 1.3
import RockWork 1.0
ListItem {
id: root
property string uuid: ""
property string name: ""
property string iconSource: ""
property string vendor: ""
property bool hasSettings: false
property alias hasGrip: grip.visible
property bool isSystemApp: false
signal deleteApp();
signal configureApp();
leadingActions: ListItemActions {
actions: [
Action {
visible: !root.isSystemApp
iconName: "delete"
onTriggered: {
root.deleteApp();
}
}
]
}
trailingActions: ListItemActions {
actions: [
Action {
visible: root.hasSettings
iconName: "settings"
onTriggered: {
print("settings triggered")
root.configureApp();
}
}
]
}
RowLayout {
anchors {
fill: parent
margins: units.gu(1)
}
spacing: units.gu(1)
SystemAppIcon {
Layout.fillHeight: true
Layout.preferredWidth: height
isSystemApp: root.isSystemApp
uuid: root.uuid
iconSource: root.iconSource
}
ColumnLayout {
Layout.fillWidth: true
Label {
text: root.name
Layout.fillWidth: true
}
Label {
text: root.vendor
Layout.fillWidth: true
fontSize: "small"
}
}
Item {
id: grip
Layout.fillHeight: true
Layout.preferredWidth: height
opacity: (root.contentMoving || root.swiped || root.dragging) ? 0 : 1
Behavior on opacity { UbuntuNumberAnimation {} }
Icon {
width: units.gu(3)
height: width
anchors.centerIn: parent
name: "grip-large"
}
}
}
}
|