mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
164cafe5d3
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>
84 lines
1.6 KiB
QML
84 lines
1.6 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
|
|
|
|
ApplicationWindow {
|
|
title: qsTr("Subsurface mobile")
|
|
property bool fullscreen: true
|
|
visible: true
|
|
|
|
StackView {
|
|
id: stackView
|
|
anchors.fill: parent
|
|
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
|
|
|
|
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 {
|
|
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();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Rectangle {
|
|
id: detailsPage
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
|
|
DiveList {
|
|
anchors.fill: detailsPage
|
|
id: diveDetails
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
QMLManager {
|
|
id: manager
|
|
}
|
|
|
|
Preferences {
|
|
id: prefsWindow
|
|
visible: false
|
|
}
|
|
|
|
}
|