From 4b05600862cb036369cd62835ea5de8609b84f35 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Fri, 20 Feb 2015 15:18:21 +0100 Subject: Add StackView to mapviewer example. Change-Id: I1fbecdb94628f4ac1305b6e92382f2fd8094cf72 Reviewed-by: Alex Blasche --- examples/location/mapviewer/mapviewer.qml | 51 +++++++++++++++++++------------ 1 file changed, 31 insertions(+), 20 deletions(-) (limited to 'examples/location/mapviewer/mapviewer.qml') diff --git a/examples/location/mapviewer/mapviewer.qml b/examples/location/mapviewer/mapviewer.qml index 7091d3e9..1ebb3da6 100644 --- a/examples/location/mapviewer/mapviewer.qml +++ b/examples/location/mapviewer/mapviewer.qml @@ -61,6 +61,7 @@ ApplicationWindow { id: mainMenu onSelectProvider: { + stackView.pop() for (var i = 0; i < providerMenu.items.length; i++) { providerMenu.items[i].checked = providerMenu.items[i].text === providerName } @@ -79,6 +80,7 @@ ApplicationWindow { } onSelectMapType: { + stackView.pop(page) for (var i = 0; i < mapTypeMenu.items.length; i++) { mapTypeMenu.items[i].checked = mapTypeMenu.items[i].text === mapType.name } @@ -90,21 +92,25 @@ ApplicationWindow { } onToggleMapState: { - if (state === "MiniMap") { - if (minimap) { - minimap.destroy() - minimap = null - isMiniMap = false - } else { - minimap = Qt.createQmlObject ('import "content/map"; MiniMap{ z: map.z + 2 }', map) - isMiniMap = true - } - page.state = "" - } else if (state === "FollowMe") { - map.followme =! map.followme; + stackView.pop(page) + if (state === "FollowMe") { + map.followme =! map.followme page.state = "" + } else if (state === "MiniMap") { + toggleMiniMapState() + isMiniMap = minimap } } + + function toggleMiniMapState() { + if (minimap) { + minimap.destroy() + minimap = null + } else { + minimap = Qt.createQmlObject ('import "content/map"; MiniMap{ z: map.z + 2 }', map) + } + page.state = "" + } } function geocodeMessage(){ @@ -137,9 +143,9 @@ ApplicationWindow { var plugin if (parameters && parameters.length>0) - plugin = Qt.createQmlObject ('import QtLocation 5.3; Plugin{ name:"' + provider + '"; parameters: appWindow.parameters}', page) + plugin = Qt.createQmlObject ('import QtLocation 5.3; Plugin{ name:"' + provider + '"; parameters: appWindow.parameters}', appWindow) else - plugin = Qt.createQmlObject ('import QtLocation 5.3; Plugin{ name:"' + provider + '"}', page) + plugin = Qt.createQmlObject ('import QtLocation 5.3; Plugin{ name:"' + provider + '"}', appWindow) if (map) { map.destroy() @@ -207,11 +213,11 @@ ApplicationWindow { } function getPlugins(){ - var plugin = Qt.createQmlObject ('import QtLocation 5.3; Plugin {}', page) + var plugin = Qt.createQmlObject ('import QtLocation 5.3; Plugin {}', appWindow) var tempPlugin var myArray = new Array() for (var i = 0; i