QML UI: experimentally enable context menu on each page

This is necessary to allow all user interaction when removing action
buttons from the top bar.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2016-02-12 04:51:03 -08:00
parent a738174a45
commit d9d1b58e6a
6 changed files with 83 additions and 4 deletions

View file

@ -8,6 +8,17 @@ MobileComponents.Page {
id: aboutPage
property int pageWidth: subsurfaceTheme.columnWidth - MobileComponents.Units.gridUnit
contextualActions: [
Action {
text: "Close About"
iconName: "dialog-cancel"
onTriggered: {
stackView.pop()
contextDrawer.close()
}
}
]
ScrollView {
anchors.fill: parent

View file

@ -45,16 +45,40 @@ MobileComponents.Page {
}
]
function endAddMode() {
// edit was canceled - so remove the dive from the dive list
manager.addDiveAborted(dive_id)
state = "view"
Qt.inputMethod.hide()
}
contextualActions: [
Action {
text: state === "view" ? "Back to dive list" : "Cancel"
iconName: "dialog-cancel"
onTriggered: {
if (state === "view") {
stackView.pop()
contextDrawer.close()
} else if (state === "edit") {
endEditMode()
contextDrawer.close()
} else {
endAddMode()
contextDrawer.close()
}
}
}
]
mainAction: Action {
iconName: state !== "view" ? "dialog-cancel" : "document-edit"
onTriggered: {
if (state === "edit") {
endEditMode()
} else if (state === "add") {
// edit was canceled - so remove the dive from the dive list
manager.addDiveAborted(dive_id)
state = "view"
Qt.inputMethod.hide()
endAddMode()
} else {
startEditMode()
}

View file

@ -14,6 +14,17 @@ MobileComponents.Page {
height: parent.height
Layout.fillWidth: true;
contextualActions: [
Action {
text: "Close Preferences"
iconName: "dialog-cancel"
onTriggered: {
stackView.pop()
contextDrawer.close()
}
}
]
ColumnLayout {
anchors.top: parent.top
height: parent.height

View file

@ -14,6 +14,16 @@ MobileComponents.Page {
anchors.margins: MobileComponents.Units.gridUnit / 2
objectName: "gpsList"
contextualActions: [
Action {
text: "Close GPS list"
iconName: "dialog-cancel"
onTriggered: {
stackView.pop()
contextDrawer.close()
}
}
]
Component {
id: gpsDelegate
MobileComponents.ListItemWithActions {

View file

@ -14,6 +14,17 @@ MobileComponents.Page {
anchors.margins: MobileComponents.Units.gridUnit / 2
objectName: "Log"
contextualActions: [
Action {
text: "Close Log"
iconName: "dialog-cancel"
onTriggered: {
stackView.pop()
contextDrawer.close()
}
}
]
ScrollView {
anchors.fill: parent
Flickable {

View file

@ -7,6 +7,18 @@ import org.kde.plasma.mobilecomponents 0.2 as MobileComponents
import org.subsurfacedivelog.mobile 1.0
MobileComponents.Page {
contextualActions: [
Action {
text: "Close Preferences"
iconName: "dialog-cancel"
onTriggered: {
stackView.pop()
contextDrawer.close()
}
}
]
GridLayout {
signal accept