diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2016-02-12 04:51:03 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-02-12 09:56:27 -0800 |
commit | d9d1b58e6a23f71012c7f1eef585241cc17d696c (patch) | |
tree | 74a9ecb0f34bc5e88314361c1de1467eb74e84a3 /qt-mobile/qml | |
parent | a738174a45a61edab94ba84e4a8afb029b6987d0 (diff) | |
download | subsurface-d9d1b58e6a23f71012c7f1eef585241cc17d696c.tar.gz |
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>
Diffstat (limited to 'qt-mobile/qml')
-rw-r--r-- | qt-mobile/qml/About.qml | 11 | ||||
-rw-r--r-- | qt-mobile/qml/DiveDetails.qml | 32 | ||||
-rw-r--r-- | qt-mobile/qml/DownloadFromDiveComputer.qml | 11 | ||||
-rw-r--r-- | qt-mobile/qml/GpsList.qml | 10 | ||||
-rw-r--r-- | qt-mobile/qml/Log.qml | 11 | ||||
-rw-r--r-- | qt-mobile/qml/Preferences.qml | 12 |
6 files changed, 83 insertions, 4 deletions
diff --git a/qt-mobile/qml/About.qml b/qt-mobile/qml/About.qml index fb389ca86..87d7a0a3e 100644 --- a/qt-mobile/qml/About.qml +++ b/qt-mobile/qml/About.qml @@ -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 diff --git a/qt-mobile/qml/DiveDetails.qml b/qt-mobile/qml/DiveDetails.qml index 69c30e4ae..3f637784e 100644 --- a/qt-mobile/qml/DiveDetails.qml +++ b/qt-mobile/qml/DiveDetails.qml @@ -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() } diff --git a/qt-mobile/qml/DownloadFromDiveComputer.qml b/qt-mobile/qml/DownloadFromDiveComputer.qml index 67f21345c..529af82eb 100644 --- a/qt-mobile/qml/DownloadFromDiveComputer.qml +++ b/qt-mobile/qml/DownloadFromDiveComputer.qml @@ -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 diff --git a/qt-mobile/qml/GpsList.qml b/qt-mobile/qml/GpsList.qml index 2c30ae171..322b2b1a6 100644 --- a/qt-mobile/qml/GpsList.qml +++ b/qt-mobile/qml/GpsList.qml @@ -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 { diff --git a/qt-mobile/qml/Log.qml b/qt-mobile/qml/Log.qml index 6e6ca0418..ac4750ac2 100644 --- a/qt-mobile/qml/Log.qml +++ b/qt-mobile/qml/Log.qml @@ -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 { diff --git a/qt-mobile/qml/Preferences.qml b/qt-mobile/qml/Preferences.qml index ff1fbdf27..dbff31027 100644 --- a/qt-mobile/qml/Preferences.qml +++ b/qt-mobile/qml/Preferences.qml @@ -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 |