mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
QML UI: use action button and Android back button to save / go back
This is more consistent with the rest of our UI To make this work you once again need changes to the mobile components that aren't upstream, yet. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
ae116c5bc8
commit
5952b09b51
3 changed files with 34 additions and 29 deletions
|
@ -14,6 +14,13 @@ Item {
|
|||
property string password: password.text;
|
||||
property bool issave: savePassword.checked;
|
||||
|
||||
function saveCredentials() {
|
||||
manager.cloudUserName = login.text
|
||||
manager.cloudPassword = password.text
|
||||
manager.saveCloudPassword = savePassword.checked
|
||||
manager.saveCloudCredentials()
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
id: outerLayout
|
||||
width: subsurfaceTheme.columnWidth - 2 * MobileComponents.Units.gridUnit
|
||||
|
@ -71,34 +78,5 @@ Item {
|
|||
}
|
||||
}
|
||||
Item { width: MobileComponents.Units.gridUnit; height: width }
|
||||
RowLayout {
|
||||
Item {
|
||||
height: saveButton.height
|
||||
width: saveButton.width
|
||||
SubsurfaceButton {
|
||||
id: saveButton
|
||||
text: "Save"
|
||||
onClicked: {
|
||||
manager.cloudUserName = login.text
|
||||
manager.cloudPassword = password.text
|
||||
manager.saveCloudPassword = savePassword.checked
|
||||
manager.saveCloudCredentials()
|
||||
}
|
||||
}
|
||||
}
|
||||
Item {
|
||||
height: backButton.height
|
||||
width: backButton.width
|
||||
visible: diveListView.count > 0 && manager.credentialStatus != QMLManager.INVALID
|
||||
SubsurfaceButton {
|
||||
id: backButton
|
||||
text: "Back to dive list"
|
||||
onClicked: {
|
||||
manager.credentialStatus = oldStatus
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -184,13 +184,37 @@ MobileComponents.Page {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
property QtObject saveAction: Action {
|
||||
iconName: "document-save"
|
||||
onTriggered: {
|
||||
startPage.saveCredentials();
|
||||
}
|
||||
}
|
||||
|
||||
onBackRequested: {
|
||||
if (diveListView.count > 0 && manager.credentialStatus != QMLManager.INVALID) {
|
||||
manager.credentialStatus = oldStatus
|
||||
}
|
||||
event.accepted = true;
|
||||
}
|
||||
|
||||
ScrollView {
|
||||
id: startPageWrapper
|
||||
anchors.fill: parent
|
||||
opacity: (diveListView.count > 0 && (credentialStatus == QMLManager.VALID || credentialStatus == QMLManager.VALID_EMAIL)) ? 0 : 1
|
||||
visible: opacity > 0
|
||||
Behavior on opacity { NumberAnimation { duration: MobileComponents.Units.shortDuration } }
|
||||
onVisibleChanged: {
|
||||
if (visible) {
|
||||
page.mainAction = page.saveAction
|
||||
} else {
|
||||
page.mainAction = null
|
||||
}
|
||||
}
|
||||
|
||||
StartPage {
|
||||
id: startPage
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@ ColumnLayout {
|
|||
|
||||
property int buttonWidth: width * 0.9
|
||||
|
||||
function saveCredentials() { cloudCredentials.saveCredentials() }
|
||||
|
||||
MobileComponents.Heading {
|
||||
Layout.bottomMargin: MobileComponents.Units.largeSpacing
|
||||
text: "Subsurface-mobile"
|
||||
|
@ -32,6 +34,7 @@ ColumnLayout {
|
|||
wrapMode: Text.WordWrap
|
||||
}
|
||||
CloudCredentials {
|
||||
id: cloudCredentials
|
||||
Layout.fillWidth: true
|
||||
Layout.margins: MobileComponents.Units.gridUnit
|
||||
Layout.topMargin: MobileComponents.Units.gridUnit * 2
|
||||
|
|
Loading…
Add table
Reference in a new issue