summaryrefslogtreecommitdiff
path: root/rockwork/qml/InstalledAppDelegate.qml
diff options
context:
space:
mode:
Diffstat (limited to 'rockwork/qml/InstalledAppDelegate.qml')
-rw-r--r--rockwork/qml/InstalledAppDelegate.qml78
1 files changed, 78 insertions, 0 deletions
diff --git a/rockwork/qml/InstalledAppDelegate.qml b/rockwork/qml/InstalledAppDelegate.qml
new file mode 100644
index 0000000..e910a40
--- /dev/null
+++ b/rockwork/qml/InstalledAppDelegate.qml
@@ -0,0 +1,78 @@
+import QtQuick 2.0
+import Sailfish.Silica 1.0
+import RockPool 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();
+
+ menu: ContextMenu {
+ MenuItem {
+ visible: !root.isSystemApp
+ text: "Delete"
+ onClicked: {
+ root.deleteApp();
+ }
+ }
+ MenuItem {
+ visible: root.hasSettings
+ text: "Settings"
+ onClicked: {
+ print("Settings triggered")
+ root.configureApp();
+ }
+ }
+ }
+
+ Row {
+ anchors {
+ fill: parent
+ //margins: units.gu(1)
+ }
+ //spacing: units.gu(1)
+
+ SystemAppIcon {
+ isSystemApp: root.isSystemApp
+ uuid: root.uuid
+ iconSource: root.iconSource
+ }
+
+ Column {
+ width: parent.width
+ Label {
+ text: root.name
+ width: parent.width
+ }
+
+ Label {
+ text: root.vendor
+ width: parent.width
+ font.pixelSize: Theme.fontSizeSmall
+ }
+ }
+
+ Item {
+ id: grip
+// Layout.fillHeight: true
+// Layout.preferredWidth: height
+ opacity: (root.contentMoving || root.swiped || root.dragging) ? 0 : 1
+ Behavior on opacity { NumberAnimation {} }
+ IconButton {
+ //width: units.gu(3)
+ height: width
+ anchors.centerIn: parent
+ icon.source: "image://theme/icon-m-gesture"
+ }
+ }
+ }
+}