summaryrefslogtreecommitdiff
path: root/app/qml/pages/InstallAppDialog.qml
diff options
context:
space:
mode:
authorTomasz Sterna <tomek@xiaoka.com>2015-01-03 16:38:02 +0100
committerTomasz Sterna <tomek@xiaoka.com>2015-01-03 19:07:48 +0100
commit4e7da1944f5fa75a0739c0757d40a8102f045365 (patch)
tree5f3fe179256536e4135eb4d5031a1d754af5e26c /app/qml/pages/InstallAppDialog.qml
parent4150005566bec7827ce1cdd759a2397d47eba583 (diff)
parente6ec758b364fcaf9fda35e56740c3fcd7e8fe25e (diff)
Merge remote-tracking branch 'javispedro/js-testing'
Conflicts: daemon/daemon.pro daemon/dbusconnector.cpp daemon/manager.cpp daemon/watchcommands.cpp daemon/watchcommands.h daemon/watchconnector.cpp daemon/watchconnector.h log4qt-debug.conf log4qt-release.conf rpm/pebble.spec rpm/pebble.yaml
Diffstat (limited to 'app/qml/pages/InstallAppDialog.qml')
-rw-r--r--app/qml/pages/InstallAppDialog.qml75
1 files changed, 75 insertions, 0 deletions
diff --git a/app/qml/pages/InstallAppDialog.qml b/app/qml/pages/InstallAppDialog.qml
new file mode 100644
index 0000000..fa96c28
--- /dev/null
+++ b/app/qml/pages/InstallAppDialog.qml
@@ -0,0 +1,75 @@
+import QtQuick 2.0
+import QtQml 2.1
+import Sailfish.Silica 1.0
+
+Dialog {
+ id: installAppPage
+
+ property string selectedUuid;
+
+ SilicaListView {
+ id: appList
+ anchors.fill: parent
+
+ header: DialogHeader {
+ title: qsTr("Install app")
+ defaultAcceptText: qsTr("Install")
+ }
+
+ VerticalScrollDecorator { flickable: flickable }
+
+ currentIndex: -1
+
+ delegate: ListItem {
+ id: appDelegate
+ contentHeight: Theme.itemSizeSmall
+
+ property string uuid: modelData.uuid
+ property bool alreadyInstalled: pebbled.isAppInstalled(uuid)
+
+ Item {
+ id: appIcon
+ width: Theme.itemSizeSmall
+ height: Theme.itemSizeSmall
+
+ anchors {
+ top: parent.top
+ left: parent.left
+ leftMargin: Theme.paddingLarge
+ }
+
+ Image {
+ id: appImage
+ anchors.centerIn: parent
+ source: "image://pebble-app-icon/" + uuid;
+ scale: 2
+ }
+ }
+
+ Label {
+ id: appName
+ anchors {
+ left: appIcon.right
+ leftMargin: Theme.paddingMedium
+ right: parent.right
+ rightMargin: Theme.paddingLarge
+ verticalCenter: parent.verticalCenter
+ }
+ text: modelData.longName
+ color: appDelegate.highlighted ? Theme.highlightColor : Theme.primaryColor
+ }
+
+ onClicked: {
+ appList.currentIndex = index
+ if (!alreadyInstalled) {
+ selectedUuid = uuid
+ accept();
+ }
+ }
+ }
+
+ model: pebbled.allApps
+ }
+
+ canAccept: appList.currentIndex >= 0 && !appList.currentItem.alreadyInstalled
+}