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>
This commit is contained in:
Dirk Hohndel 2015-07-12 10:56:48 -07:00
parent 57e9784d27
commit 164cafe5d3
2 changed files with 66 additions and 52 deletions

View file

@ -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();
}
}
}