diff options
author | Jocke <j.bygdell@gmail.com> | 2018-08-20 20:02:54 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-08-25 07:01:42 -0700 |
commit | 02af3463d07a05334389b2d87429f97755a2bd82 (patch) | |
tree | a2ec3714cf2f5facf31b37fd01e3b3540e555d8a | |
parent | 011158b25c2d3f754276d1b3326ea27aba54ac40 (diff) | |
download | subsurface-02af3463d07a05334389b2d87429f97755a2bd82.tar.gz |
Mobile: add default cylinder UI
Add the UI components to let the user set the default cylinder and select
the chosen cylinder when adding a new dive.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
-rw-r--r-- | mobile-widgets/qml/Settings.qml | 38 | ||||
-rw-r--r-- | mobile-widgets/qml/main.qml | 9 |
2 files changed, 46 insertions, 1 deletions
diff --git a/mobile-widgets/qml/Settings.qml b/mobile-widgets/qml/Settings.qml index d7a857f6f..45b588c93 100644 --- a/mobile-widgets/qml/Settings.qml +++ b/mobile-widgets/qml/Settings.qml @@ -10,6 +10,9 @@ import org.subsurfacedivelog.mobile 1.0 Kirigami.ScrollablePage { objectName: "Settings" id: settingsPage + property alias defaultCylinderModel: defaultCylinderBox.model + property alias defaultCylinderIndex: defaultCylinderBox.currentIndex + title: qsTr("Settings") background: Rectangle { color: subsurfaceTheme.backgroundColor } @@ -307,6 +310,41 @@ Kirigami.ScrollablePage { Layout.fillWidth: true } GridLayout { + id: defaultCylinder + columns: 2 + width: parent.width - Kirigami.Units.gridUnit + + Kirigami.Heading { + text: qsTr("Default Cylinder") + color: subsurfaceTheme.textColor + level: 4 + Layout.topMargin: Kirigami.Units.largeSpacing + Layout.bottomMargin: Kirigami.Units.largeSpacing / 2 + Layout.columnSpan: 2 + } + Controls.Label { + Layout.alignment: Qt.AlignRight + text: qsTr("Cylinder:") + font.pointSize: subsurfaceTheme.smallPointSize + } + Controls.ComboBox { + id: defaultCylinderBox + flat: true + inputMethodHints: Qt.ImhNoPredictiveText + Layout.fillWidth: true + onActivated: { + general.set_default_cylinder(defaultCylinderBox.currentText) + } + } + } + + Rectangle { + color: subsurfaceTheme.darkerPrimaryColor + height: 1 + opacity: 0.5 + Layout.fillWidth: true + } + GridLayout { id: developer columns: 2 width: parent.width - Kirigami.Units.gridUnit diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml index 6e9b98ce7..930740a93 100644 --- a/mobile-widgets/qml/main.qml +++ b/mobile-widgets/qml/main.qml @@ -27,6 +27,7 @@ Kirigami.ApplicationWindow { property alias locationServiceEnabled: manager.locationServiceEnabled property alias pluggedInDeviceName: manager.pluggedInDeviceName property alias showPin: prefs.showPin + property alias defaultCylinderIndex: settingsWindow.defaultCylinderIndex onNotificationTextChanged: { if (notificationText != "") { // there's a risk that we have a >5 second gap in update events; @@ -101,7 +102,7 @@ Kirigami.ApplicationWindow { detailsWindow.cylinderModel2 = manager.cylinderInit detailsWindow.cylinderModel3 = manager.cylinderInit detailsWindow.cylinderModel4 = manager.cylinderInit - detailsWindow.cylinderIndex0 = -1 + detailsWindow.cylinderIndex0 = general.default_cylinder == "" ? -1 : detailsWindow.cylinderModel0.indexOf(general.default_cylinder) detailsWindow.usedCyl = ["",] detailsWindow.weight = "" detailsWindow.usedGas = [] @@ -371,6 +372,8 @@ if you have network connectivity and want to sync your data to cloud storage."), text: qsTr("Settings") onTriggered: { globalDrawer.close() + settingsWindow.defaultCylinderModel = manager.cylinderInit + general.default_cylinder === "" ? defaultCylinderIndex = "-1" : defaultCylinderIndex = settingsWindow.defaultCylinderModel.indexOf(general.default_cylinder) stackView.push(settingsWindow) detailsWindow.endEditMode() } @@ -619,6 +622,10 @@ if you have network connectivity and want to sync your data to cloud storage."), visible: false } + SsrfGeneralPrefs { + id: general + } + onPluggedInDeviceNameChanged: { if (detailsWindow.state === 'edit' || detailsWindow.state === 'add') { /* we're in the middle of editing / adding a dive */ |