aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-mobile/Preferences.qml9
-rw-r--r--qt-mobile/main.qml99
2 files changed, 61 insertions, 47 deletions
diff --git a/qt-mobile/Preferences.qml b/qt-mobile/Preferences.qml
index 5f089b496..a628384d9 100644
--- a/qt-mobile/Preferences.qml
+++ b/qt-mobile/Preferences.qml
@@ -5,7 +5,7 @@ import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import org.subsurfacedivelog.mobile 1.0
-Window {
+Item {
id: loginWindow
signal accept
@@ -14,8 +14,6 @@ Window {
property string password: password.text;
property bool issave: savePassword.checked;
- flags: Qt.Dialog
- modality: Qt.WindowModal
GridLayout {
columns: 2
anchors.centerIn: parent
@@ -66,8 +64,7 @@ Window {
manager.cloudUserName = login.text
manager.cloudPassword = password.text
manager.savePreferences()
- loginWindow.close();
- loginWindow.accept();
+ stackView.pop()
}
}
}
@@ -80,7 +77,7 @@ Window {
text: "Cancel"
onClicked: {
- loginWindow.close();
+ stackView.pop();
}
}
}
diff --git a/qt-mobile/main.qml b/qt-mobile/main.qml
index 42e17945f..ffe83d19b 100644
--- a/qt-mobile/main.qml
+++ b/qt-mobile/main.qml
@@ -10,58 +10,75 @@ ApplicationWindow {
property bool fullscreen: true
visible: true
- QMLManager {
- id: manager
- }
-
- Preferences {
- id: prefsWindow
- }
-
- ColumnLayout {
- id: layout
+ StackView {
+ id: stackView
anchors.fill: parent
- spacing: 4
+ focus: true
+ Keys.onReleased: if (event.key == Qt.Key_Back && stackView.depth > 1) {
+ stackView.pop()
+ event.accepted = true;
+ }
+ initialItem: Item {
+ width: parent.width
+ height: parent.height
- Rectangle {
- id: topPart
- height: 35
- Layout.fillWidth: true
- Layout.maximumHeight: 35
+ ColumnLayout {
+ id: awLayout
+ anchors.fill: parent
+ spacing: prefsButton.height * 0.1
+ Rectangle {
+ id: topPart
+ Layout.minimumHeight: prefsButton.height * 1.2
+ Layout.fillWidth: true
+ anchors.bottom: detailsPage.top
+ anchors.bottomMargin: prefsButton.height * 0.1
- RowLayout {
- Button {
- id: prefsButton
- text: "Preferences"
- onClicked: {
- prefsWindow.show()
- }
- }
+ RowLayout {
+ anchors.bottom: topPart.bottom
+ anchors.bottomMargin: prefsButton.height * 0.1
+ anchors.left: topPart.left
+ anchors.leftMargin: prefsButton.height * 0.1
+ Button {
+ id: prefsButton
+ text: "Preferences"
+ onClicked: {
+ stackView.push(prefsWindow)
+ }
+ }
- Button {
- id: loadDivesButton
- text: "Load Dives"
- onClicked: {
- manager.loadDives();
+ Button {
+ id: loadDivesButton
+ text: "Load Dives"
+ onClicked: {
+ manager.loadDives();
+ }
+ }
}
+
}
- }
- }
+ Rectangle {
+ id: detailsPage
+ Layout.fillHeight: true
+ Layout.fillWidth: true
- Rectangle {
- id: detailsPage
- Layout.fillHeight: true
- Layout.fillWidth: true
- Layout.minimumWidth: 100
- Layout.preferredHeight: 400
- Layout.preferredWidth: 200
+ DiveList {
+ anchors.fill: detailsPage
+ id: diveDetails
+ }
+ }
- DiveList {
- anchors.fill: detailsPage
- id: diveDetails
}
}
+ }
+ QMLManager {
+ id: manager
}
+
+ Preferences {
+ id: prefsWindow
+ visible: false
+ }
+
}