mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
8fad349c82
Move the properties we previously added to units and theme into their own container. This encapsulates these things that belong together and allows us to move it out later without many problems. Also, litter the global namespace a bit less. Signed-off-by: Sebastian Kügler <sebas@kde.org>
293 lines
4.9 KiB
QML
293 lines
4.9 KiB
QML
import QtQuick 2.4
|
|
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 org.kde.plasma.mobilecomponents 0.2 as MobileComponents
|
|
|
|
MobileComponents.ApplicationWindow {
|
|
title: qsTr("Subsurface mobile")
|
|
property bool fullscreen: true
|
|
property alias messageText: message.text
|
|
|
|
FontMetrics {
|
|
id: fontMetrics
|
|
}
|
|
|
|
visible: true
|
|
|
|
globalDrawer: MobileComponents.GlobalDrawer{
|
|
title: "Subsurface"
|
|
titleIcon: "qrc:/qml/subsurface-mobile-icon.png"
|
|
|
|
bannerImageSource: "dive.jpg"
|
|
actions: [
|
|
Action {
|
|
text: "Preferences"
|
|
onTriggered: {
|
|
stackView.push(prefsWindow)
|
|
}
|
|
},
|
|
|
|
Action {
|
|
text: "Load Dives"
|
|
onTriggered: {
|
|
manager.loadDives();
|
|
}
|
|
},
|
|
|
|
Action {
|
|
text: "Download Dives"
|
|
onTriggered: {
|
|
stackView.push(downloadDivesWindow)
|
|
}
|
|
},
|
|
|
|
Action {
|
|
text: "Add Dive"
|
|
onTriggered: {
|
|
manager.addDive();
|
|
stackView.push(detailsWindow)
|
|
}
|
|
},
|
|
|
|
Action {
|
|
text: "Save Changes"
|
|
onTriggered: {
|
|
manager.saveChanges();
|
|
}
|
|
},
|
|
|
|
MobileComponents.ActionGroup {
|
|
text: "GPS"
|
|
Action {
|
|
text: "Run location service"
|
|
checkable: true
|
|
checked: manager.locationServiceEnabled
|
|
onToggled: {
|
|
manager.locationServiceEnabled = checked;
|
|
}
|
|
}
|
|
Action {
|
|
text: "Apply GPS data to dives"
|
|
onTriggered: {
|
|
manager.applyGpsData();
|
|
}
|
|
}
|
|
|
|
Action {
|
|
text: "Send GPS data to server"
|
|
onTriggered: {
|
|
manager.sendGpsData();
|
|
}
|
|
}
|
|
|
|
Action {
|
|
text: "Clear stored GPS data"
|
|
onTriggered: {
|
|
manager.clearGpsData();
|
|
}
|
|
}
|
|
},
|
|
|
|
Action {
|
|
text: "View Log"
|
|
onTriggered: {
|
|
stackView.push(logWindow)
|
|
}
|
|
},
|
|
|
|
Action {
|
|
text: "Theme Information"
|
|
onTriggered: {
|
|
stackView.push(themetest)
|
|
}
|
|
}
|
|
]
|
|
}
|
|
|
|
QtObject {
|
|
id: subsurfaceTheme
|
|
property int titlePointSize: Math.round(fontMetrics.font.pointSize * 1.5)
|
|
property int smallPointSize: Math.round(fontMetrics.font.pointSize * 0.7)
|
|
property color accentColor: "#2d5b9a"
|
|
property color accentTextColor: "#ececec"
|
|
}
|
|
|
|
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: "Run location service"
|
|
checkable: true
|
|
checked: manager.locationServiceEnabled
|
|
onToggled: {
|
|
manager.locationServiceEnabled = checked;
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "Apply GPS data to dives"
|
|
onTriggered: {
|
|
manager.applyGpsData();
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "Send GPS data to server"
|
|
onTriggered: {
|
|
manager.sendGpsData();
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "Clear stored GPS data"
|
|
onTriggered: {
|
|
manager.clearGpsData();
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "View Log"
|
|
onTriggered: {
|
|
stackView.push(logWindow)
|
|
}
|
|
}
|
|
|
|
MenuItem {
|
|
text: "Theme Information"
|
|
onTriggered: {
|
|
stackView.push(themetest)
|
|
}
|
|
}
|
|
}
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
|
|
TopBar {
|
|
|
|
}
|
|
|
|
StackView {
|
|
id: stackView
|
|
Layout.preferredWidth: parent.width
|
|
Layout.fillHeight: true
|
|
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: MobileComponents.Units.gridUnit / 2
|
|
|
|
Rectangle {
|
|
id: detailsPage
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
|
|
DiveList {
|
|
anchors.fill: detailsPage
|
|
id: diveDetails
|
|
color: MobileComponents.Theme.backgroundColor
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
id: messageArea
|
|
height: childrenRect.height
|
|
Layout.fillWidth: true
|
|
color: MobileComponents.Theme.backgroundColor
|
|
|
|
Text {
|
|
id: message
|
|
color: MobileComponents.Theme.textColor
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
styleColor: MobileComponents.Theme.textColor
|
|
font.pointSize: MobileComponents.Units.smallPointSize
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
QMLManager {
|
|
id: manager
|
|
}
|
|
|
|
Preferences {
|
|
id: prefsWindow
|
|
visible: false
|
|
}
|
|
|
|
DiveDetails {
|
|
id: detailsWindow
|
|
visible: false
|
|
}
|
|
|
|
DownloadFromDiveComputer {
|
|
id: downloadDivesWindow
|
|
visible: false
|
|
}
|
|
|
|
Log {
|
|
id: logWindow
|
|
visible: false
|
|
}
|
|
|
|
ThemeTest {
|
|
id: themetest
|
|
visible: false
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
print("MobileComponents.Units.gridUnit is: " + MobileComponents.Units.gridUnit);
|
|
}
|
|
}
|