From bb7e55b798a3e75d4ccb2d1e4c9c9705bcb1c4d8 Mon Sep 17 00:00:00 2001
From: Caroline Chao <caroline.chao@digia.com>
Date: Tue, 7 May 2013 10:33:37 +0200
Subject: [PATCH] Examples: Update stackview example
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Change-Id: Ia73015655ea75ee24cd1f2761df705c42894d12e
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
---
 .../quick/controls/stackview/ButtonMenu.qml   | 33 ++++++++++++++++---
 examples/quick/controls/stackview/View.qml    |  9 +++--
 examples/quick/controls/stackview/main.qml    |  9 +++--
 3 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/examples/quick/controls/stackview/ButtonMenu.qml b/examples/quick/controls/stackview/ButtonMenu.qml
index c1608f7e1..f10490e71 100644
--- a/examples/quick/controls/stackview/ButtonMenu.qml
+++ b/examples/quick/controls/stackview/ButtonMenu.qml
@@ -40,22 +40,45 @@
 
 import QtQuick 2.1
 import QtQuick.Controls 1.0
+import QtQuick.Layouts 1.0
 
-Column {
+GridLayout {
+    columns: 4
     property int index: -1
+    rowSpacing: 5
+    columnSpacing: 5
     Label {
-        text: "stack index: " + index
+        Layout.rowSpan: 2
+        text: "Stack Index: " + index
     }
     Button {
-        text: "push Component"
+        text: "Push New Component"
         onClicked: stackView.push(componentPage)
     }
     Button {
-        text: "push URL"
+        text: "Push New URL"
         onClicked: stackView.push(Qt.resolvedUrl("View.qml"))
     }
     Button {
-        text: "pop"
+        text: "Back"
+        enabled: index !== 0
         onClicked: stackView.pop()
     }
+
+    RowLayout {
+        Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft
+        Layout.columnSpan: 3
+        spacing: 5
+        Label { text: "Jump to index:" }
+        ComboBox {
+            model: stackView.depth
+            currentIndex: stackView.currentItem.Stack.index
+            enabled: stackView.depth > 1
+            onCurrentIndexChanged: {
+                if (stackView.currentItem !== null &&
+                        currentIndex !== stackView.currentItem.Stack.index)
+                    stackView.pop(stackView.get(currentIndex, true))
+            }
+        }
+    }
 }
diff --git a/examples/quick/controls/stackview/View.qml b/examples/quick/controls/stackview/View.qml
index e713e0e5a..858bac61d 100644
--- a/examples/quick/controls/stackview/View.qml
+++ b/examples/quick/controls/stackview/View.qml
@@ -40,10 +40,15 @@
 
 import QtQuick 2.1
 import QtQuick.Controls 1.0
+import QtQuick.Layouts 1.0
 
-Rectangle {
-    color: "green"
+ColumnLayout {
+    Label {
+        text:"View.qml loaded with index: " + parent.Stack.index
+        Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+    }
     ButtonMenu {
+        Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
         index: parent.Stack.index
     }
 }
diff --git a/examples/quick/controls/stackview/main.qml b/examples/quick/controls/stackview/main.qml
index af016fb28..f81c83090 100644
--- a/examples/quick/controls/stackview/main.qml
+++ b/examples/quick/controls/stackview/main.qml
@@ -40,6 +40,7 @@
 
 import QtQuick 2.1
 import QtQuick.Controls 1.0
+import QtQuick.Layouts 1.0
 
 ApplicationWindow {
     width: 480
@@ -55,9 +56,13 @@ ApplicationWindow {
 
     Component {
         id: componentPage
-        Rectangle {
-            color: "yellow"
+        ColumnLayout {
+            Label {
+                text:"Component loaded with index: " + parent.Stack.index
+                Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+            }
             ButtonMenu {
+                Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
                 index: parent.Stack.index
             }
         }
-- 
GitLab