mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 14:40:28 +00:00
38e1dc1589
- fix spacing and sizing in TopBar - use an anchor layout for the delegate and split out labels and values: this allows more uniform alignment - add the subsurface mobile icon to the first page - various visual touch-ups to taste Signed-off-by: Sebastian Kügler <sebas@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
204 lines
3.7 KiB
QML
204 lines
3.7 KiB
QML
import QtQuick 2.3
|
|
import QtQuick.Controls 1.2
|
|
import QtQuick.Controls.Styles 1.2
|
|
import QtQuick.Window 2.2
|
|
import QtQuick.Dialogs 1.2
|
|
import QtQuick.Layouts 1.1
|
|
import QtQuick.Window 2.2
|
|
import org.subsurfacedivelog.mobile 1.0
|
|
import "qrc:/qml/theme" as Theme
|
|
|
|
|
|
ApplicationWindow {
|
|
title: qsTr("Subsurface mobile")
|
|
property bool fullscreen: true
|
|
property alias messageText: message.text
|
|
visible: true
|
|
|
|
Theme.Units {
|
|
id: units
|
|
}
|
|
|
|
Theme.Theme {
|
|
id: theme
|
|
}
|
|
|
|
Menu {
|
|
id: prefsMenu
|
|
title: "Menu"
|
|
|
|
MenuItem {
|
|
text: "Preferences"
|
|
onTriggered: {
|
|
stackView.push(prefsWindow)
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "Load Dives"
|
|
onTriggered: {
|
|
manager.loadDives();
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "Download Dives"
|
|
onTriggered: {
|
|
stackView.push(downloadDivesWindow)
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "Add Dive"
|
|
onTriggered: {
|
|
manager.addDive();
|
|
stackView.push(detailsWindow)
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "Save Changes"
|
|
onTriggered: {
|
|
manager.saveChanges();
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "View Log"
|
|
onTriggered: {
|
|
stackView.push(logWindow)
|
|
}
|
|
}
|
|
}
|
|
|
|
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: units.gridUnit / 2
|
|
Rectangle {
|
|
id: topPart
|
|
color: theme.accentColor
|
|
Layout.minimumHeight: units.gridUnit * 2 + units.spacing * 2
|
|
Layout.fillWidth: true
|
|
Layout.margins: 0
|
|
RowLayout {
|
|
anchors.bottom: topPart.bottom
|
|
anchors.bottomMargin: units.spacing
|
|
anchors.left: topPart.left
|
|
anchors.leftMargin: units.spacing
|
|
anchors.right: topPart.right
|
|
anchors.rightMargin: units.spacing
|
|
Image {
|
|
source: "qrc:/qml/subsurface-mobile-icon.png"
|
|
Layout.maximumWidth: units.gridUnit * 2
|
|
Layout.preferredWidth: units.gridUnit * 2
|
|
Layout.preferredHeight: units.gridUnit * 2
|
|
}
|
|
Text {
|
|
text: qsTr("Subsurface mobile")
|
|
font.pointSize: 18
|
|
Layout.fillWidth: false
|
|
color: theme.accentTextColor
|
|
}
|
|
Item {
|
|
Layout.fillWidth: true
|
|
}
|
|
Button {
|
|
id: prefsButton
|
|
text: "\u22ee"
|
|
anchors.right: parent.right
|
|
Layout.preferredWidth: units.gridUnit * 2
|
|
Layout.preferredHeight: units.gridUnit * 2
|
|
style: ButtonStyle {
|
|
background: Rectangle {
|
|
implicitWidth: units.gridUnit * 2
|
|
color: theme.accentColor
|
|
}
|
|
label: Text {
|
|
id: txt
|
|
color: theme.accentTextColor
|
|
font.pointSize: 18
|
|
font.bold: true
|
|
text: control.text
|
|
horizontalAlignment: Text.AlignHCenter
|
|
}
|
|
}
|
|
onClicked: {
|
|
prefsMenu.popup()
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Rectangle {
|
|
id: detailsPage
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
|
|
DiveList {
|
|
anchors.fill: detailsPage
|
|
id: diveDetails
|
|
color: theme.backgroundColor
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
id: messageArea
|
|
height: childrenRect.height
|
|
Layout.fillWidth: true
|
|
|
|
Text {
|
|
id: message
|
|
color: theme.textColor
|
|
text: ""
|
|
styleColor: theme.textColor
|
|
font.pointSize: 10
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
QMLManager {
|
|
id: manager
|
|
}
|
|
|
|
Preferences {
|
|
id: prefsWindow
|
|
visible: false
|
|
}
|
|
|
|
DiveDetails {
|
|
id: detailsWindow
|
|
visible: false
|
|
}
|
|
|
|
DownloadFromDiveComputer {
|
|
id: downloadDivesWindow
|
|
visible: false
|
|
}
|
|
|
|
Log {
|
|
id: logWindow
|
|
visible: false
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
print("units.gridUnit is: " + units.gridUnit);
|
|
}
|
|
}
|