subsurface/qt-mobile/Preferences.qml
Dirk Hohndel 164cafe5d3 QML UI: use stackView to show sub windows
QML on Android doesn't support multiple windows, so dialogs that work on
the desktop are not a good solution on Android. A much more natural way to
present sub windows is a stackView.

In order to do this Preferences needs to be an item and the structure of
the ApplicationWindow needs to change a bit.

This also removes the hard coded sizes and instead tries to design this in
a resolution independent manner.

The diff appears larger than the actual change because of an increase of
indentation for the ApplicationWindow content.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 10:59:33 -07:00

85 lines
1.3 KiB
QML

import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import org.subsurfacedivelog.mobile 1.0
Item {
id: loginWindow
signal accept
property string username: login.text;
property string password: password.text;
property bool issave: savePassword.checked;
GridLayout {
columns: 2
anchors.centerIn: parent
width: parent.width
Label {
text: "Enter your Subsurface cloud credentials"
Layout.columnSpan: 2
}
Label {
text: "Email Address:"
}
TextField {
id: login
text: manager.cloudUserName
Layout.fillWidth: true
}
Label {
text: "Password"
}
TextField {
id: password
text: manager.cloudPassword
echoMode: TextInput.Password
Layout.fillWidth: true
}
Label {
text: "Save Password locally"
}
CheckBox {
id: savePassword
}
Item {
height: childrenRect.height
width: childrenRect.width
Button {
id: saveButton
text: "Save"
anchors.centerIn: parent
onClicked: {
manager.cloudUserName = login.text
manager.cloudPassword = password.text
manager.savePreferences()
stackView.pop()
}
}
}
Item {
height: childrenRect.height
width: childrenRect.width
Button {
id: cancelButton
text: "Cancel"
onClicked: {
stackView.pop();
}
}
}
}
}