summaryrefslogtreecommitdiffstats
path: root/examples/location/mapviewer/mapviewer.qml
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@theqtcompany.com>2015-02-20 15:18:21 +0100
committerMichal Klocek <michal.klocek@theqtcompany.com>2015-04-13 14:52:53 +0000
commit4b05600862cb036369cd62835ea5de8609b84f35 (patch)
tree7ce16bfe64903379250d8e27b560187de05e3629 /examples/location/mapviewer/mapviewer.qml
parent135b48dd0c1c6893109238716019c2283d5a3561 (diff)
Add StackView to mapviewer example.
Change-Id: I1fbecdb94628f4ac1305b6e92382f2fd8094cf72 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'examples/location/mapviewer/mapviewer.qml')
-rw-r--r--examples/location/mapviewer/mapviewer.qml51
1 files changed, 31 insertions, 20 deletions
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<plugin.availableServiceProviders.length; i++){
- tempPlugin = Qt.createQmlObject ('import QtLocation 5.3; Plugin {name: "' + plugin.availableServiceProviders[i]+ '"}', page)
+ tempPlugin = Qt.createQmlObject ('import QtLocation 5.3; Plugin {name: "' + plugin.availableServiceProviders[i]+ '"}', appWindow)
if (tempPlugin.supportsMapping())
myArray.push(tempPlugin.name)
}
@@ -222,7 +228,7 @@ ApplicationWindow {
function initializeProvders(pluginParameters) {
var parameters = new Array()
for (var prop in pluginParameters){
- var parameter = Qt.createQmlObject('import QtLocation 5.3; PluginParameter{ name: "'+ prop + '"; value: "' + pluginParameters[prop]+'"}',page)
+ var parameter = Qt.createQmlObject('import QtLocation 5.3; PluginParameter{ name: "'+ prop + '"; value: "' + pluginParameters[prop]+'"}',appWindow)
parameters.push(parameter)
}
appWindow.parameters = parameters
@@ -234,9 +240,13 @@ ApplicationWindow {
}
}
-Item {
- id: page
- anchors.fill: parent
+
+ StackView {
+ id: stackView
+ anchors.fill: parent
+ focus: true
+ initialItem: Item {
+ id: page
Rectangle {
id: backgroundRect
@@ -595,4 +605,5 @@ Item {
}
]
}
+ }
}