summaryrefslogtreecommitdiffstats
path: root/qt-mobile/qml/main.qml
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2016-04-04 22:02:03 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-04-04 22:33:58 -0700
commit7be962bfc2879a72c32ff67518731347dcdff6de (patch)
treed05bf7ab234a448ee37a15b608e2b939f2285d07 /qt-mobile/qml/main.qml
parent2d760a7bff71c46c5aeba37c40d236ea16eefea2 (diff)
downloadsubsurface-7be962bfc2879a72c32ff67518731347dcdff6de.tar.gz
Move subsurface-core to core and qt-mobile to mobile-widgets
Having subsurface-core as a directory name really messes with autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an autocomplete conflict and also was inconsistent with the desktop-widget name for the directory containing the "other" UI. And while cleaning up the resulting change in the path name for include files, I decided to clean up those even more to make them consistent overall. This could have been handled in more commits, but since this requires a make clean before the build, it seemed more sensible to do it all in one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-mobile/qml/main.qml')
-rw-r--r--qt-mobile/qml/main.qml360
1 files changed, 0 insertions, 360 deletions
diff --git a/qt-mobile/qml/main.qml b/qt-mobile/qml/main.qml
deleted file mode 100644
index f4f6ea28b..000000000
--- a/qt-mobile/qml/main.qml
+++ /dev/null
@@ -1,360 +0,0 @@
-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.kirigami 1.0 as Kirigami
-
-Kirigami.ApplicationWindow {
- id: rootItem
- title: qsTr("Subsurface-mobile")
-
- header.minimumHeight: 0
- header.preferredHeight: Kirigami.Units.gridUnit
- header.maximumHeight: Kirigami.Units.gridUnit * 2
- property bool fullscreen: true
- property int oldStatus: -1
- property alias accessingCloud: manager.accessingCloud
- property QtObject notification: null
- property bool showingDiveList: false
- property alias syncToCloud: manager.syncToCloud
- onAccessingCloudChanged: {
- if (accessingCloud >= 0) {
- // we now keep updating this to show progress, so timing out after 30 seconds is more useful
- // but should still be very conservative
- showPassiveNotification("Accessing Subsurface Cloud Storage " + accessingCloud +"%", 30000);
- } else {
- hidePassiveNotification();
- }
- }
-
- FontMetrics {
- id: fontMetrics
- }
-
- visible: false
- opacity: 0
-
- function returnTopPage() {
- for (var i=stackView.depth; i>1; i--) {
- stackView.pop()
- }
- detailsWindow.endEditMode()
- }
-
- function scrollToTop() {
- diveList.scrollToTop()
- }
-
- function showMap(location) {
- var urlPrefix = "https://www.google.com/maps/place/"
- var locationPair = location + "/@" + location
- var urlSuffix = ",5000m/data=!3m1!1e3!4m2!3m1!1s0x0:0x0"
- Qt.openUrlExternally(urlPrefix + locationPair + urlSuffix)
-
- }
-
- function startAddDive() {
- detailsWindow.state = "add"
- detailsWindow.dive_id = manager.addDive();
- detailsWindow.number = manager.getNumber(detailsWindow.dive_id)
- detailsWindow.date = manager.getDate(detailsWindow.dive_id)
- detailsWindow.airtemp = ""
- detailsWindow.watertemp = ""
- detailsWindow.buddy = ""
- detailsWindow.depth = ""
- detailsWindow.divemaster = ""
- detailsWindow.notes = ""
- detailsWindow.location = ""
- detailsWindow.duration = ""
- detailsWindow.suit = ""
- detailsWindow.weight = ""
- detailsWindow.gasmix = ""
- detailsWindow.startpressure = ""
- detailsWindow.endpressure = ""
- stackView.push(detailsWindow)
- }
-
- globalDrawer: Kirigami.GlobalDrawer {
- title: "Subsurface"
- titleIcon: "qrc:/qml/subsurface-mobile-icon.png"
-
- bannerImageSource: "dive.jpg"
- actions: [
- Kirigami.Action {
- text: "Dive list"
- onTriggered: {
- manager.appendTextToLog("requested dive list with credential status " + manager.credentialStatus)
- if (manager.credentialStatus == QMLManager.UNKNOWN) {
- // the user has asked to change credentials - if the credentials before that
- // were valid, go back to dive list
- if (oldStatus == QMLManager.VALID || oldStatus == QMLManager.VALID_EMAIL) {
- manager.credentialStatus = oldStatus
- }
- }
- returnTopPage()
- globalDrawer.close()
- }
- },
- Kirigami.Action {
- text: "Cloud credentials"
- onTriggered: {
- returnTopPage()
- oldStatus = manager.credentialStatus
- if (diveList.numDives > 0) {
- manager.startPageText = "Enter different credentials or return to dive list"
- } else {
- manager.startPageText = "Enter valid cloud storage credentials"
- }
-
- manager.credentialStatus = QMLManager.UNKNOWN
- }
- },
- Kirigami.Action {
- text: "Manage dives"
- enabled: manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.VALID_EMAIL
- /*
- * disable for the beta to avoid confusion
- Action {
- text: "Download from computer"
- onTriggered: {
- detailsWindow.endEditMode()
- stackView.push(downloadDivesWindow)
- }
- }
- */
- Kirigami.Action {
- text: "Add dive manually"
- onTriggered: {
- returnTopPage() // otherwise odd things happen with the page stack
- startAddDive()
- }
- }
- Kirigami.Action {
- text: "Manual sync with cloud"
- onTriggered: {
- globalDrawer.close()
- detailsWindow.endEditMode()
- manager.saveChanges();
- }
- }
- Kirigami.Action {
- text: syncToCloud ? "Disable auto cloud sync" : "Enable auto cloud sync"
- onTriggered: {
- syncToCloud = !syncToCloud
- if (!syncToCloud) {
- var alertText = "Turning off automatic sync to cloud causes all data to only be stored locally.\n"
- alertText += "This can be very useful in situations with limited or no network access.\n"
- alertText += "Please chose 'Manual sync with cloud' if you have network connectivity\n"
- alertText += "and want to sync your data to cloud storage."
- showPassiveNotification(alertText, 10000)
- }
- }
- }
- },
-
- Kirigami.Action {
- text: "GPS"
- enabled: manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.VALID_EMAIL
- Kirigami.Action {
- text: "GPS-tag dives"
- onTriggered: {
- manager.applyGpsData();
- }
- }
-
- Kirigami.Action {
- text: "Upload GPS data"
- onTriggered: {
- manager.sendGpsData();
- }
- }
-
- Kirigami.Action {
- text: "Download GPS data"
- onTriggered: {
- manager.downloadGpsData();
- }
- }
-
- Kirigami.Action {
- text: "Show GPS fixes"
- onTriggered: {
- returnTopPage()
- manager.populateGpsData();
- stackView.push(gpsWindow)
- }
- }
-
- Kirigami.Action {
- text: "Clear GPS cache"
- onTriggered: {
- manager.clearGpsData();
- }
- }
- Kirigami.Action {
- text: "Preferences"
- onTriggered: {
- stackView.push(prefsWindow)
- detailsWindow.endEditMode()
- }
- }
- },
-
- Kirigami.Action {
- text: "Developer"
- Kirigami.Action {
- text: "App log"
- onTriggered: {
- stackView.push(logWindow)
- }
- }
-
- Kirigami.Action {
- text: "Theme information"
- onTriggered: {
- stackView.push(themetest)
- }
- }
- },
- Kirigami.Action {
- text: "User manual"
- onTriggered: {
- Qt.openUrlExternally("https://subsurface-divelog.org/documentation/subsurface-mobile-user-manual/")
- }
- },
- Kirigami.Action {
- text: "About"
- onTriggered: {
- stackView.push(aboutWindow)
- detailsWindow.endEditMode()
- }
- }
- ] // end actions
-
- MouseArea {
- height: childrenRect.height
- width: Kirigami.Units.gridUnit * 10
- CheckBox {
- //text: "Run location service"
- id: locationCheckbox
- anchors {
- left: parent.left
- top: parent.top
- }
- checked: manager.locationServiceEnabled
- onCheckedChanged: {
- manager.locationServiceEnabled = checked;
- }
- }
- Kirigami.Label {
- x: Kirigami.Units.gridUnit * 1.5
- anchors {
- left: locationCheckbox.right
- //leftMargin: units.smallSpacing
- verticalCenter: locationCheckbox.verticalCenter
- }
- text: "Run location service"
- }
- onClicked: {
- print("Click.")
- locationCheckbox.checked = !locationCheckbox.checked
- }
- }
- }
-
- contextDrawer: Kirigami.ContextDrawer {
- id: contextDrawer
- actions: rootItem.pageStack.currentPage ? rootItem.pageStack.currentPage.contextualActions : null
- title: "Actions"
- }
-
- QtObject {
- id: subsurfaceTheme
- property int titlePointSize: Math.round(fontMetrics.font.pointSize * 1.5)
- property int smallPointSize: Math.round(fontMetrics.font.pointSize * 0.8)
- property color accentColor: "#2d5b9a"
- property color shadedColor: "#132744"
- property color accentTextColor: "#ececec"
- property color diveListTextColor: "#000000" // the Kirigami theme text color is too light
- property int columnWidth: Math.round(rootItem.width/(Kirigami.Units.gridUnit*30)) > 0 ? Math.round(rootItem.width / Math.round(rootItem.width/(Kirigami.Units.gridUnit*30))) : rootItem.width
- }
-/*
- toolBar: TopBar {
- width: parent.width
- height: Layout.minimumHeight
- }
- */
-
- property Item stackView: pageStack
- pageStack.initialPage: DiveList {
- anchors.fill: detailsPage
- id: diveList
- opacity: 0
- Behavior on opacity {
- NumberAnimation {
- duration: 200
- easing.type: Easing.OutQuad
- }
- }
-
- }
-
- QMLManager {
- id: manager
- }
-
- Preferences {
- id: prefsWindow
- visible: false
- }
-
- About {
- id: aboutWindow
- visible: false
- }
-
- DiveDetails {
- id: detailsWindow
- visible: false
- width: parent.width
- height: parent.height
- }
-
- DownloadFromDiveComputer {
- id: downloadDivesWindow
- visible: false
- }
-
- Log {
- id: logWindow
- visible: false
- }
-
- GpsList {
- id: gpsWindow
- visible: false
- }
-
- ThemeTest {
- id: themetest
- visible: false
- }
-
- Component.onCompleted: {
- Kirigami.Theme.highlightColor = subsurfaceTheme.accentColor
- manager.finishSetup();
- rootItem.visible = true
- diveList.opacity = 1
- rootItem.opacity = 1
- }
- Behavior on opacity {
- NumberAnimation {
- duration: 200
- easing.type: Easing.OutQuad
- }
- }
-}