mobile UI: add consistent way to show a page

And have the existing shortcut functions use that helper.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2020-03-09 10:43:22 -07:00
parent e5c62f0858
commit 93080f129d

View file

@ -76,31 +76,32 @@ Kirigami.ApplicationWindow {
diveList.scrollToTop() diveList.scrollToTop()
} }
function showMap() { function showPage(page) {
if (globalDrawer.drawerOpen) if (globalDrawer.drawerOpen)
globalDrawer.close() globalDrawer.close()
var i=pageIndex(mapPage) var i=pageIndex(page)
if (i === -1) if (i === -1)
pageStack.push(mapPage) pageStack.push(page)
else else
pageStack.currentIndex = i pageStack.currentIndex = i
manager.appendTextToLog("switched to page " + page.title)
}
function showMap() {
showPage(mapPage)
} }
function showDiveList() { function showDiveList() {
if (globalDrawer.drawerOpen) showPage(diveList)
globalDrawer.close()
var i=pageIndex(diveList)
if (i === -1)
pageStack.push(diveList)
else
pageStack.currentIndex = i
} }
function pageIndex(pageToFind) { function pageIndex(pageToFind) {
if (pageStack.contentItem !== null) {
for (var i = 0; i < pageStack.contentItem.contentChildren.length; i++) { for (var i = 0; i < pageStack.contentItem.contentChildren.length; i++) {
if (pageStack.contentItem.contentChildren[i] === pageToFind) if (pageStack.contentItem.contentChildren[i] === pageToFind)
return i return i
} }
}
return -1 return -1
} }