| 
									
										
										
										
											2017-04-27 20:30:36 +02:00
										 |  |  | // SPDX-License-Identifier: GPL-2.0
 | 
					
						
							| 
									
										
										
										
											2015-11-29 17:43:56 +01:00
										 |  |  | import QtQuick 2.4 | 
					
						
							| 
									
										
										
										
											2017-03-31 16:15:14 +02:00
										 |  |  | import QtQuick.Controls 2.0 | 
					
						
							| 
									
										
										
										
											2017-07-15 18:11:13 +02:00
										 |  |  | import QtQuick.Controls.Material 2.1 | 
					
						
							| 
									
										
										
										
											2015-05-27 13:34:55 +03:00
										 |  |  | import QtQuick.Window 2.2 | 
					
						
							| 
									
										
										
										
											2015-06-04 11:27:38 +03:00
										 |  |  | import QtQuick.Dialogs 1.2 | 
					
						
							| 
									
										
										
										
											2015-07-10 11:05:13 +03:00
										 |  |  | import QtQuick.Layouts 1.1 | 
					
						
							| 
									
										
										
										
											2015-07-30 08:17:09 +02:00
										 |  |  | import QtQuick.Window 2.2 | 
					
						
							| 
									
										
										
										
											2015-06-04 13:36:36 +03:00
										 |  |  | import org.subsurfacedivelog.mobile 1.0 | 
					
						
							| 
									
										
										
										
											2017-03-31 16:15:14 +02:00
										 |  |  | import org.kde.kirigami 2.0 as Kirigami | 
					
						
							| 
									
										
										
										
											2015-10-09 01:57:10 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | Kirigami.ApplicationWindow { | 
					
						
							| 
									
										
										
										
											2015-12-03 23:27:27 +01:00
										 |  |  | 	id: rootItem | 
					
						
							| 
									
										
										
										
											2016-01-01 09:34:32 -08:00
										 |  |  | 	title: qsTr("Subsurface-mobile") | 
					
						
							| 
									
										
										
										
											2017-06-28 06:50:11 -07:00
										 |  |  | 	reachableModeEnabled: false // while it's a good idea, it seems to confuse more than help
 | 
					
						
							| 
									
										
										
										
											2016-04-22 18:12:15 +02:00
										 |  |  | 	header: Kirigami.ApplicationHeader { | 
					
						
							|  |  |  | 		minimumHeight: 0 | 
					
						
							| 
									
										
										
										
											2017-06-21 09:19:24 -07:00
										 |  |  | 		preferredHeight: Math.round(Kirigami.Units.gridUnit * (Qt.platform.os == "ios" ? 2 : 1.5)) | 
					
						
							| 
									
										
										
										
											2016-04-22 18:12:15 +02:00
										 |  |  | 		maximumHeight: Kirigami.Units.gridUnit * 2 | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2016-04-06 11:42:38 -07:00
										 |  |  | 	property alias oldStatus: manager.oldStatus | 
					
						
							| 
									
										
										
										
											2017-06-17 23:22:37 -07:00
										 |  |  | 	property alias notificationText: manager.notificationText | 
					
						
							| 
									
										
										
										
											2016-04-03 18:33:40 -07:00
										 |  |  | 	property alias syncToCloud: manager.syncToCloud | 
					
						
							| 
									
										
										
										
											2017-07-23 09:38:40 +02:00
										 |  |  | 	property alias locationServiceEnabled: manager.locationServiceEnabled | 
					
						
							| 
									
										
										
										
											2016-06-13 16:42:36 -07:00
										 |  |  | 	property alias showPin: manager.showPin | 
					
						
							| 
									
										
										
										
											2017-06-17 23:22:37 -07:00
										 |  |  | 	onNotificationTextChanged: { | 
					
						
							|  |  |  | 		if (notificationText != "") { | 
					
						
							|  |  |  | 			// there's a risk that we have a >5 second gap in update events;
 | 
					
						
							|  |  |  | 			// still, keep the timeout at 5s to avoid odd unchanging notifications
 | 
					
						
							|  |  |  | 			showPassiveNotification(notificationText, 5000) | 
					
						
							| 
									
										
										
										
											2016-03-02 17:14:47 -08:00
										 |  |  | 		} else { | 
					
						
							| 
									
										
										
										
											2017-06-17 23:22:37 -07:00
										 |  |  | 			// hiding the notification right away may be a mistake as it hides the last warning / error
 | 
					
						
							| 
									
										
										
										
											2016-03-03 19:35:33 +01:00
										 |  |  | 			hidePassiveNotification(); | 
					
						
							| 
									
										
										
										
											2016-03-02 17:14:47 -08:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2015-11-29 17:43:56 +01:00
										 |  |  | 	FontMetrics { | 
					
						
							|  |  |  | 		id: fontMetrics | 
					
						
							| 
									
										
										
										
											2017-06-20 10:56:49 -07:00
										 |  |  | 		Component.onCompleted: { | 
					
						
							|  |  |  | 			console.log("Using the following font: " + fontMetrics.font.family) | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-14 13:05:01 -07:00
										 |  |  | 		/* this shouldn't be needed anymore | 
					
						
							| 
									
										
										
										
											2016-09-20 06:42:34 -07:00
										 |  |  | 		Component.onCompleted: { | 
					
						
							|  |  |  | 			if (Math.round(rootItem.width / Kirigami.Units.gridUnit) < 20) { | 
					
						
							|  |  |  | 				fontMetrics.font.pointSize = fontMetrics.font.pointSize * 2 / 3 | 
					
						
							|  |  |  | 				Kirigami.Theme.defaultFont.pointSize = fontMetrics.font.pointSize | 
					
						
							|  |  |  | 				console.log("Reduce font size for narrow screens: " + fontMetrics.font.pointSize) | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2017-04-14 13:05:01 -07:00
										 |  |  | 		*/ | 
					
						
							| 
									
										
										
										
											2015-11-29 17:43:56 +01:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2016-01-19 12:42:58 -08:00
										 |  |  | 	visible: false | 
					
						
							| 
									
										
										
										
											2016-12-27 18:36:02 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	// TODO: Verify where the opacity went to.
 | 
					
						
							|  |  |  | 	// opacity: 0
 | 
					
						
							| 
									
										
										
										
											2015-06-04 11:27:38 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-10 21:47:09 -08:00
										 |  |  | 	function returnTopPage() { | 
					
						
							|  |  |  | 		for (var i=stackView.depth; i>1; i--) { | 
					
						
							|  |  |  | 			stackView.pop() | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		detailsWindow.endEditMode() | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-30 20:39:25 -05:00
										 |  |  | 	function scrollToTop() { | 
					
						
							|  |  |  | 		diveList.scrollToTop() | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-02 07:09:40 -05:00
										 |  |  | 	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) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-01 22:29:39 -05:00
										 |  |  | 	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 = "" | 
					
						
							| 
									
										
										
										
											2016-05-20 18:48:36 +02:00
										 |  |  | 		detailsWindow.buddyModel = manager.buddyInit | 
					
						
							|  |  |  | 		detailsWindow.buddyIndex = -1 | 
					
						
							| 
									
										
										
										
											2017-04-14 17:09:09 -07:00
										 |  |  | 		detailsWindow.buddyText = "" | 
					
						
							| 
									
										
										
										
											2016-04-01 22:29:39 -05:00
										 |  |  | 		detailsWindow.depth = "" | 
					
						
							| 
									
										
										
										
											2016-05-20 18:48:36 +02:00
										 |  |  | 		detailsWindow.divemasterModel = manager.divemasterInit | 
					
						
							|  |  |  | 		detailsWindow.divemasterIndex = -1 | 
					
						
							| 
									
										
										
										
											2017-04-14 17:09:09 -07:00
										 |  |  | 		detailsWindow.divemasterText = "" | 
					
						
							| 
									
										
										
										
											2016-04-01 22:29:39 -05:00
										 |  |  | 		detailsWindow.notes = "" | 
					
						
							|  |  |  | 		detailsWindow.location = "" | 
					
						
							| 
									
										
										
										
											2016-04-15 05:17:39 -07:00
										 |  |  | 		detailsWindow.gps = "" | 
					
						
							| 
									
										
										
										
											2016-04-01 22:29:39 -05:00
										 |  |  | 		detailsWindow.duration = "" | 
					
						
							| 
									
										
										
										
											2016-05-20 18:48:36 +02:00
										 |  |  | 		detailsWindow.suitModel = manager.suitInit | 
					
						
							|  |  |  | 		detailsWindow.suitIndex = -1 | 
					
						
							| 
									
										
										
										
											2017-04-14 17:09:09 -07:00
										 |  |  | 		detailsWindow.suitText = "" | 
					
						
							|  |  |  | 		detailsWindow.cylinderModel = manager.cylinderInit | 
					
						
							|  |  |  | 		detailsWindow.cylinderIndex = -1 | 
					
						
							|  |  |  | 		detailsWindow.cylinderText = "" | 
					
						
							| 
									
										
										
										
											2016-04-01 22:29:39 -05:00
										 |  |  | 		detailsWindow.weight = "" | 
					
						
							|  |  |  | 		detailsWindow.gasmix = "" | 
					
						
							|  |  |  | 		detailsWindow.startpressure = "" | 
					
						
							|  |  |  | 		detailsWindow.endpressure = "" | 
					
						
							| 
									
										
										
										
											2016-04-15 05:17:39 -07:00
										 |  |  | 		detailsWindow.gpsCheckbox = false | 
					
						
							| 
									
										
										
										
											2016-04-01 22:29:39 -05:00
										 |  |  | 		stackView.push(detailsWindow) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 	globalDrawer: Kirigami.GlobalDrawer { | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 		title: qsTr("Subsurface") | 
					
						
							| 
									
										
										
										
											2015-11-29 17:43:56 +01:00
										 |  |  | 		titleIcon: "qrc:/qml/subsurface-mobile-icon.png" | 
					
						
							| 
									
										
										
										
											2015-11-07 03:08:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-29 17:43:56 +01:00
										 |  |  | 		bannerImageSource: "dive.jpg" | 
					
						
							| 
									
										
										
										
											2016-06-12 12:09:49 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-13 19:57:22 +02:00
										 |  |  | 		actions: [ | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 			Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 16:46:27 +02:00
										 |  |  | 				iconName: "icons/ic_home.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 				text: qsTr("Dive list") | 
					
						
							| 
									
										
										
										
											2015-12-04 00:26:45 +01:00
										 |  |  | 				onTriggered: { | 
					
						
							| 
									
										
										
										
											2016-03-26 21:35:35 -07:00
										 |  |  | 					manager.appendTextToLog("requested dive list with credential status " + manager.credentialStatus) | 
					
						
							| 
									
										
										
										
											2017-08-03 14:55:09 +02:00
										 |  |  | 					if (manager.credentialStatus == QMLManager.CS_UNKNOWN) { | 
					
						
							| 
									
										
										
										
											2016-03-13 11:41:09 -07:00
										 |  |  | 						// the user has asked to change credentials - if the credentials before that
 | 
					
						
							|  |  |  | 						// were valid, go back to dive list
 | 
					
						
							| 
									
										
										
										
											2017-08-03 14:55:09 +02:00
										 |  |  | 						if (oldStatus == QMLManager.CS_VERIFIED) { | 
					
						
							| 
									
										
										
										
											2016-03-13 11:41:09 -07:00
										 |  |  | 							manager.credentialStatus = oldStatus | 
					
						
							|  |  |  | 						} | 
					
						
							|  |  |  | 					} | 
					
						
							| 
									
										
										
										
											2016-02-10 21:47:09 -08:00
										 |  |  | 					returnTopPage() | 
					
						
							| 
									
										
										
										
											2016-03-03 15:12:09 -08:00
										 |  |  | 					globalDrawer.close() | 
					
						
							| 
									
										
										
										
											2015-12-04 00:26:45 +01:00
										 |  |  | 				} | 
					
						
							|  |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 			Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 16:46:27 +02:00
										 |  |  | 				iconName: "icons/ic_sync.svg" | 
					
						
							| 
									
										
										
										
											2017-07-23 08:22:44 +02:00
										 |  |  | 				text: qsTr("Dive management") | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:22:40 +02:00
										 |  |  | 					iconName: "icons/ic_add.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 					text: qsTr("Add dive manually") | 
					
						
							| 
									
										
										
										
											2017-08-03 14:55:09 +02:00
										 |  |  | 					enabled: manager.credentialStatus === QMLManager.CS_VERIFIED || manager.credentialStatus === QMLManager.CS_NOCLOUD | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 					onTriggered: { | 
					
						
							| 
									
										
										
										
											2016-04-02 11:04:44 -05:00
										 |  |  | 						returnTopPage()  // otherwise odd things happen with the page stack
 | 
					
						
							| 
									
										
										
										
											2016-04-01 22:29:39 -05:00
										 |  |  | 						startAddDive() | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2017-05-11 12:47:54 +02:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:22:40 +02:00
										 |  |  | 					iconName: "icons/downloadDC.svg" | 
					
						
							| 
									
										
										
										
											2017-05-11 12:47:54 +02:00
										 |  |  | 					text: qsTr("Download from DC") | 
					
						
							|  |  |  | 					enabled: true | 
					
						
							|  |  |  | 					onTriggered: { | 
					
						
							| 
									
										
										
										
											2017-06-16 01:22:44 -07:00
										 |  |  | 						downloadFromDc.dcImportModel.clearTable() | 
					
						
							| 
									
										
										
										
											2017-05-11 12:47:54 +02:00
										 |  |  | 						stackView.push(downloadFromDc) | 
					
						
							|  |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2017-07-19 16:39:43 +02:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:22:40 +02:00
										 |  |  | 					iconName: "icons/ic_add_location.svg" | 
					
						
							| 
									
										
										
										
											2017-07-19 16:39:43 +02:00
										 |  |  | 					text: qsTr("Apply GPS Fixes") | 
					
						
							|  |  |  | 					onTriggered: { | 
					
						
							|  |  |  | 						manager.applyGpsData(); | 
					
						
							|  |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:22:40 +02:00
										 |  |  | 					iconName: "icons/cloud_sync.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 					text: qsTr("Manual sync with cloud") | 
					
						
							| 
									
										
										
										
											2017-08-03 14:55:09 +02:00
										 |  |  | 					enabled: manager.credentialStatus === QMLManager.CS_VERIFIED || manager.credentialStatus === QMLManager.CS_NOCLOUD | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 					onTriggered: { | 
					
						
							| 
									
										
										
										
											2017-08-03 14:55:09 +02:00
										 |  |  | 						if (manager.credentialStatus === QMLManager.CS_NOCLOUD) { | 
					
						
							| 
									
										
										
										
											2016-04-22 05:21:26 -07:00
										 |  |  | 							returnTopPage() | 
					
						
							|  |  |  | 							oldStatus = manager.credentialStatus | 
					
						
							|  |  |  | 							manager.startPageText = "Enter valid cloud storage credentials" | 
					
						
							| 
									
										
										
										
											2017-08-03 14:55:09 +02:00
										 |  |  | 							manager.credentialStatus = QMLManager.CS_UNKNOWN | 
					
						
							| 
									
										
										
										
											2016-04-22 05:21:26 -07:00
										 |  |  | 							globalDrawer.close() | 
					
						
							|  |  |  | 						} else { | 
					
						
							|  |  |  | 							globalDrawer.close() | 
					
						
							|  |  |  | 							detailsWindow.endEditMode() | 
					
						
							|  |  |  | 							manager.saveChangesCloud(true); | 
					
						
							|  |  |  | 							globalDrawer.close() | 
					
						
							|  |  |  | 						} | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2016-04-01 20:40:12 -05:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:22:40 +02:00
										 |  |  | 				iconName: syncToCloud ? "icons/ic_cloud_off.svg" : "icons/ic_cloud_done.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 				text: syncToCloud ? qsTr("Offline mode") : qsTr("Enable auto cloud sync") | 
					
						
							| 
									
										
										
										
											2017-08-03 14:55:09 +02:00
										 |  |  | 					enabled: manager.credentialStatus !== QMLManager.CS_NOCLOUD | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 					onTriggered: { | 
					
						
							| 
									
										
										
										
											2016-04-03 18:33:40 -07:00
										 |  |  | 						syncToCloud = !syncToCloud | 
					
						
							|  |  |  | 						if (!syncToCloud) { | 
					
						
							| 
									
										
										
										
											2017-06-24 22:09:38 +02:00
										 |  |  | 							showPassiveNotification(qsTr("Turning off automatic sync to cloud causes all data to only be \ | 
					
						
							|  |  |  | stored locally. This can be very useful in situations with limited or no network access. Please choose 'Manual sync with cloud' \ | 
					
						
							|  |  |  | if you have network connectivity and want to sync your data to cloud storage."), 10000) | 
					
						
							| 
									
										
										
										
											2016-04-03 18:33:40 -07:00
										 |  |  | 						} | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 					} | 
					
						
							| 
									
										
										
										
											2015-11-29 17:43:56 +01:00
										 |  |  | 				} | 
					
						
							| 
									
										
										
										
											2017-04-13 19:57:22 +02:00
										 |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 			Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 16:46:27 +02:00
										 |  |  | 				iconName: "icons/ic_place.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 				text: qsTr("GPS") | 
					
						
							| 
									
										
										
										
											2017-04-13 19:57:22 +02:00
										 |  |  | 				visible: (Qt.platform.os !== "ios") | 
					
						
							| 
									
										
										
										
											2015-12-04 00:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:42:12 +02:00
										 |  |  | 					iconName: "icons/ic_cloud_upload.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 					text: qsTr("Upload GPS data") | 
					
						
							| 
									
										
										
										
											2015-12-04 00:26:45 +01:00
										 |  |  | 					onTriggered: { | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 						manager.sendGpsData(); | 
					
						
							| 
									
										
										
										
											2015-12-04 00:26:45 +01:00
										 |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:42:12 +02:00
										 |  |  | 					iconName: "icons/ic_cloud_download.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 					text: qsTr("Download GPS data") | 
					
						
							| 
									
										
										
										
											2016-01-07 21:37:36 -08:00
										 |  |  | 					onTriggered: { | 
					
						
							|  |  |  | 						manager.downloadGpsData(); | 
					
						
							|  |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:42:12 +02:00
										 |  |  | 					iconName: "icons/ic_gps_fixed.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 					text: qsTr("Show GPS fixes") | 
					
						
							| 
									
										
										
										
											2016-01-07 21:40:15 -08:00
										 |  |  | 					onTriggered: { | 
					
						
							| 
									
										
										
										
											2016-04-02 11:04:44 -05:00
										 |  |  | 						returnTopPage() | 
					
						
							| 
									
										
										
										
											2016-01-07 21:40:15 -08:00
										 |  |  | 						manager.populateGpsData(); | 
					
						
							|  |  |  | 						stackView.push(gpsWindow) | 
					
						
							|  |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 18:42:12 +02:00
										 |  |  | 					iconName: "icons/ic_clear.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 					text: qsTr("Clear GPS cache") | 
					
						
							| 
									
										
										
										
											2015-12-04 00:26:45 +01:00
										 |  |  | 					onTriggered: { | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 						manager.clearGpsData(); | 
					
						
							| 
									
										
										
										
											2015-12-04 00:26:45 +01:00
										 |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2017-07-23 09:38:40 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 				Kirigami.Action { | 
					
						
							|  |  |  | 					iconName: locationServiceEnabled ? "icons/ic_location_off.svg" : "icons/ic_place.svg" | 
					
						
							|  |  |  | 					text: locationServiceEnabled ? qsTr("Disable location service") : qsTr("Run location service") | 
					
						
							|  |  |  | 					onTriggered: { | 
					
						
							|  |  |  | 						locationServiceEnabled = !locationServiceEnabled | 
					
						
							|  |  |  | 					} | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2017-04-13 19:57:22 +02:00
										 |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2017-07-19 16:39:43 +02:00
										 |  |  | 			Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 16:46:27 +02:00
										 |  |  | 				iconName: "icons/ic_info_outline.svg" | 
					
						
							| 
									
										
										
										
											2017-07-19 16:39:43 +02:00
										 |  |  | 				text: qsTr("About") | 
					
						
							|  |  |  | 				onTriggered: { | 
					
						
							|  |  |  | 					stackView.push(aboutWindow) | 
					
						
							|  |  |  | 					detailsWindow.endEditMode() | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 			Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 16:46:27 +02:00
										 |  |  | 				iconName: "icons/ic_settings.svg" | 
					
						
							| 
									
										
										
										
											2017-07-19 16:39:43 +02:00
										 |  |  | 				text: qsTr("Settings") | 
					
						
							| 
									
										
										
										
											2017-07-20 19:39:55 +02:00
										 |  |  | 				onTriggered: {  | 
					
						
							|  |  |  | 					stackView.push(settingsWindow)  | 
					
						
							|  |  |  | 					detailsWindow.endEditMode()  | 
					
						
							| 
									
										
										
										
											2017-07-19 16:39:43 +02:00
										 |  |  | 				} | 
					
						
							|  |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 			Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 16:46:27 +02:00
										 |  |  | 				iconName: "icons/ic_adb.svg" | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 				text: qsTr("Developer") | 
					
						
							| 
									
										
										
										
											2017-07-19 16:35:46 +02:00
										 |  |  | 				visible: manager.developer | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 					text: qsTr("App log") | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 					onTriggered: { | 
					
						
							|  |  |  | 						stackView.push(logWindow) | 
					
						
							|  |  |  | 					} | 
					
						
							| 
									
										
										
										
											2015-11-29 17:43:56 +01:00
										 |  |  | 				} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 				Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2016-05-03 21:24:00 +02:00
										 |  |  | 					text: qsTr("Theme information") | 
					
						
							| 
									
										
										
										
											2015-12-08 02:33:11 +01:00
										 |  |  | 					onTriggered: { | 
					
						
							|  |  |  | 						stackView.push(themetest) | 
					
						
							|  |  |  | 					} | 
					
						
							| 
									
										
										
										
											2015-12-04 00:26:45 +01:00
										 |  |  | 				} | 
					
						
							| 
									
										
										
										
											2016-02-10 22:53:59 +02:00
										 |  |  | 			}, | 
					
						
							| 
									
										
										
										
											2016-03-31 21:57:12 -05:00
										 |  |  | 			Kirigami.Action { | 
					
						
							| 
									
										
										
										
											2017-07-19 16:46:27 +02:00
										 |  |  | 				iconName: "icons/ic_help_outline.svg" | 
					
						
							| 
									
										
										
										
											2017-07-19 16:39:43 +02:00
										 |  |  | 				text: qsTr("Help") | 
					
						
							| 
									
										
										
										
											2016-03-13 11:13:04 -07:00
										 |  |  | 				onTriggered: { | 
					
						
							| 
									
										
										
										
											2016-04-02 07:02:44 -05:00
										 |  |  | 					Qt.openUrlExternally("https://subsurface-divelog.org/documentation/subsurface-mobile-user-manual/") | 
					
						
							| 
									
										
										
										
											2016-03-13 11:13:04 -07:00
										 |  |  | 				} | 
					
						
							| 
									
										
										
										
											2015-11-29 17:43:56 +01:00
										 |  |  | 			} | 
					
						
							| 
									
										
										
										
											2017-04-13 19:57:22 +02:00
										 |  |  | 		] // end actions
 | 
					
						
							| 
									
										
										
										
											2017-07-24 19:17:04 +02:00
										 |  |  | 		Kirigami.Icon { | 
					
						
							|  |  |  | 			source: "icons/" + subsurfaceTheme.currentTheme + "_gps.svg" | 
					
						
							|  |  |  | 			enabled: false | 
					
						
							|  |  |  | 			visible: locationServiceEnabled | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2015-10-09 01:57:10 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2015-11-29 19:09:59 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-21 13:44:24 -07:00
										 |  |  | 	function blueTheme() { | 
					
						
							| 
									
										
										
										
											2017-07-15 16:33:50 +02:00
										 |  |  | 		Material.theme = Material.Light | 
					
						
							| 
									
										
										
										
											2017-07-25 19:46:59 +02:00
										 |  |  | 		Material.accent = subsurfaceTheme.bluePrimaryColor | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 		subsurfaceTheme.currentTheme = "Blue" | 
					
						
							|  |  |  | 		subsurfaceTheme.darkerPrimaryColor = subsurfaceTheme.blueDarkerPrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.darkerPrimaryTextColor= subsurfaceTheme.blueDarkerPrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.primaryColor = subsurfaceTheme.bluePrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.primaryTextColor = subsurfaceTheme.bluePrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.lightPrimaryColor = subsurfaceTheme.blueLightPrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.lightPrimaryTextColor = subsurfaceTheme.blueLightPrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.backgroundColor = subsurfaceTheme.blueBackgroundColor | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 		subsurfaceTheme.textColor = subsurfaceTheme.blueTextColor | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		subsurfaceTheme.secondaryTextColor = subsurfaceTheme.blueSecondaryTextColor | 
					
						
							| 
									
										
										
										
											2017-07-28 15:59:49 +02:00
										 |  |  | 		manager.setStatusbarColor(subsurfaceTheme.darkerPrimaryColor) | 
					
						
							| 
									
										
										
										
											2017-07-15 16:31:51 +02:00
										 |  |  | 		subsurfaceTheme.drawerColor = subsurfaceTheme.lightDrawerColor | 
					
						
							| 
									
										
										
										
											2017-06-21 13:44:24 -07:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function pinkTheme() { | 
					
						
							| 
									
										
										
										
											2017-07-15 16:33:50 +02:00
										 |  |  | 		Material.theme = Material.Light | 
					
						
							| 
									
										
										
										
											2017-07-25 19:46:59 +02:00
										 |  |  | 		Material.accent = subsurfaceTheme.pinkPrimaryColor | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 		subsurfaceTheme.currentTheme = "Pink" | 
					
						
							|  |  |  | 		subsurfaceTheme.darkerPrimaryColor = subsurfaceTheme.pinkDarkerPrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.darkerPrimaryTextColor = subsurfaceTheme.pinkDarkerPrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.primaryColor = subsurfaceTheme.pinkPrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.primaryTextColor = subsurfaceTheme.pinkPrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.lightPrimaryColor = subsurfaceTheme.pinkLightPrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.lightPrimaryTextColor = subsurfaceTheme.pinkLightPrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.backgroundColor = subsurfaceTheme.pinkBackgroundColor | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 		subsurfaceTheme.textColor = subsurfaceTheme.pinkTextColor | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		subsurfaceTheme.secondaryTextColor = subsurfaceTheme.pinkSecondaryTextColor | 
					
						
							| 
									
										
										
										
											2017-07-28 15:59:49 +02:00
										 |  |  | 		manager.setStatusbarColor(subsurfaceTheme.darkerPrimaryColor) | 
					
						
							| 
									
										
										
										
											2017-07-15 16:31:51 +02:00
										 |  |  | 		subsurfaceTheme.drawerColor = subsurfaceTheme.lightDrawerColor | 
					
						
							| 
									
										
										
										
											2017-06-21 15:47:29 -07:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function darkTheme() { | 
					
						
							| 
									
										
										
										
											2017-07-15 16:33:50 +02:00
										 |  |  | 		Material.theme = Material.Dark | 
					
						
							| 
									
										
										
										
											2017-07-25 19:46:59 +02:00
										 |  |  | 		Material.accent = subsurfaceTheme.darkerPrimaryColor | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 		subsurfaceTheme.currentTheme = "Dark" | 
					
						
							|  |  |  | 		subsurfaceTheme.darkerPrimaryColor = subsurfaceTheme.darkDarkerPrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.darkerPrimaryTextColor= subsurfaceTheme.darkDarkerPrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.primaryColor = subsurfaceTheme.darkPrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.primaryTextColor = subsurfaceTheme.darkPrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.lightPrimaryColor = subsurfaceTheme.darkLightPrimaryColor | 
					
						
							|  |  |  | 		subsurfaceTheme.lightPrimaryTextColor = subsurfaceTheme.darkLightPrimaryTextColor | 
					
						
							|  |  |  | 		subsurfaceTheme.backgroundColor = subsurfaceTheme.darkBackgroundColor | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 		subsurfaceTheme.textColor = subsurfaceTheme.darkTextColor | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		subsurfaceTheme.secondaryTextColor = subsurfaceTheme.darkSecondaryTextColor | 
					
						
							| 
									
										
										
										
											2017-07-28 15:59:49 +02:00
										 |  |  | 		manager.setStatusbarColor(subsurfaceTheme.darkerPrimaryColor) | 
					
						
							| 
									
										
										
										
											2017-07-15 16:31:51 +02:00
										 |  |  | 		subsurfaceTheme.drawerColor = subsurfaceTheme.darkDrawerColor | 
					
						
							| 
									
										
										
										
											2017-06-21 13:44:24 -07:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-29 19:09:59 +01:00
										 |  |  | 	QtObject { | 
					
						
							|  |  |  | 		id: subsurfaceTheme | 
					
						
							| 
									
										
										
										
											2017-07-17 12:07:19 -07:00
										 |  |  | 		property int regularPointSize: fontMetrics.font.pointSize | 
					
						
							|  |  |  | 		property int titlePointSize: Math.round(regularPointSize * 1.5) | 
					
						
							|  |  |  | 		property int smallPointSize: Math.round(regularPointSize * 0.8) | 
					
						
							| 
									
										
										
										
											2017-06-21 07:39:07 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 		// colors currently in use
 | 
					
						
							|  |  |  | 		property string currentTheme | 
					
						
							|  |  |  | 		property color darkerPrimaryColor | 
					
						
							|  |  |  | 		property color darkerPrimaryTextColor | 
					
						
							|  |  |  | 		property color primaryColor | 
					
						
							|  |  |  | 		property color primaryTextColor | 
					
						
							|  |  |  | 		property color lightPrimaryColor | 
					
						
							|  |  |  | 		property color lightPrimaryTextColor | 
					
						
							|  |  |  | 		property color backgroundColor | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 		property color textColor | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		property color secondaryTextColor | 
					
						
							| 
									
										
										
										
											2017-07-15 16:31:51 +02:00
										 |  |  | 		property color drawerColor | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		// colors for the blue theme
 | 
					
						
							|  |  |  | 		property color blueDarkerPrimaryColor: "#303F9f" | 
					
						
							|  |  |  | 		property color blueDarkerPrimaryTextColor: "#ECECEC" | 
					
						
							|  |  |  | 		property color bluePrimaryColor: "#3F51B5" | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		property color bluePrimaryTextColor: "#FFFFFF" | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 		property color blueLightPrimaryColor: "#C5CAE9" | 
					
						
							|  |  |  | 		property color blueLightPrimaryTextColor: "#212121" | 
					
						
							|  |  |  | 		property color blueBackgroundColor: "#eff0f1" | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 		property color blueTextColor: blueLightPrimaryTextColor | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		property color blueSecondaryTextColor: "#757575" | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		// colors for the pink theme
 | 
					
						
							| 
									
										
										
										
											2017-07-14 15:44:40 +02:00
										 |  |  | 		property color pinkDarkerPrimaryColor: "#C2185B" | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 		property color pinkDarkerPrimaryTextColor: "#ECECEC" | 
					
						
							|  |  |  | 		property color pinkPrimaryColor: "#FF69B4" | 
					
						
							|  |  |  | 		property color pinkPrimaryTextColor: "#212121" | 
					
						
							|  |  |  | 		property color pinkLightPrimaryColor: "#FFDDF4" | 
					
						
							|  |  |  | 		property color pinkLightPrimaryTextColor: "#212121" | 
					
						
							|  |  |  | 		property color pinkBackgroundColor: "#eff0f1" | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 		property color pinkTextColor: pinkLightPrimaryTextColor | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		property color pinkSecondaryTextColor: "#757575" | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		// colors for the dark theme
 | 
					
						
							|  |  |  | 		property color darkDarkerPrimaryColor: "#303F9f" | 
					
						
							|  |  |  | 		property color darkDarkerPrimaryTextColor: "#ECECEC" | 
					
						
							|  |  |  | 		property color darkPrimaryColor: "#3F51B5" | 
					
						
							| 
									
										
										
										
											2017-06-21 07:39:07 -07:00
										 |  |  | 		property color darkPrimaryTextColor: "#ECECEC" | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 		property color darkLightPrimaryColor: "#C5CAE9" | 
					
						
							|  |  |  | 		property color darkLightPrimaryTextColor: "#212121" | 
					
						
							| 
									
										
										
										
											2017-07-14 15:37:02 +02:00
										 |  |  | 		property color darkBackgroundColor: "#303030" | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 		property color darkTextColor: darkPrimaryTextColor | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		property color darkSecondaryTextColor: "#757575" | 
					
						
							| 
									
										
										
										
											2017-06-21 15:47:29 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-24 11:18:18 -07:00
										 |  |  | 		property color contrastAccentColor: "#FF5722" // used for delete button
 | 
					
						
							| 
									
										
										
										
											2017-07-15 16:31:51 +02:00
										 |  |  | 		property color lightDrawerColor: "#FFFFFF" | 
					
						
							|  |  |  | 		property color darkDrawerColor: "#424242" | 
					
						
							| 
									
										
										
										
											2017-06-21 07:39:07 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-17 12:56:47 -07:00
										 |  |  | 		property int columnWidth: Math.round(rootItem.width/(Kirigami.Units.gridUnit*28)) > 0 ? Math.round(rootItem.width / Math.round(rootItem.width/(Kirigami.Units.gridUnit*28))) : rootItem.width | 
					
						
							| 
									
										
										
										
											2017-06-20 22:51:25 -07:00
										 |  |  | 		Component.onCompleted: { | 
					
						
							| 
									
										
										
										
											2017-07-25 19:46:59 +02:00
										 |  |  | 			Kirigami.Theme.highlightColor = Qt.binding(function() { return primaryColor }) | 
					
						
							| 
									
										
										
										
											2017-07-15 16:36:35 +02:00
										 |  |  | 			Kirigami.Theme.highlightedTextColor = Qt.binding(function() { return darkerPrimaryTextColor }) | 
					
						
							| 
									
										
										
										
											2017-06-21 15:47:29 -07:00
										 |  |  | 			Kirigami.Theme.backgroundColor = Qt.binding(function() { return backgroundColor }) | 
					
						
							| 
									
										
										
										
											2017-06-23 18:07:48 -07:00
										 |  |  | 			Kirigami.Theme.textColor = Qt.binding(function() { return textColor }) | 
					
						
							| 
									
										
										
										
											2017-07-25 19:46:59 +02:00
										 |  |  | 			Kirigami.Theme.buttonHoverColor = Qt.binding(function() { return primaryColor }) | 
					
						
							| 
									
										
										
										
											2017-07-15 16:31:51 +02:00
										 |  |  | 			Kirigami.Theme.viewBackgroundColor = Qt.binding(function() { return drawerColor }) | 
					
						
							| 
									
										
										
										
											2017-07-15 16:35:38 +02:00
										 |  |  | 			Kirigami.Theme.viewTextColor = Qt.binding(function() { return textColor }) | 
					
						
							| 
									
										
										
										
											2017-07-17 22:08:39 +02:00
										 |  |  | 			Kirigami.Theme.buttonBackgroundColor = Qt.binding(function() { return drawerColor }) | 
					
						
							| 
									
										
										
										
											2017-07-15 16:35:38 +02:00
										 |  |  | 			Kirigami.Theme.buttonTextColor = Qt.binding(function() { return textColor }) | 
					
						
							| 
									
										
										
										
											2017-07-25 19:46:59 +02:00
										 |  |  | 			Kirigami.Theme.buttonFocusColor = Qt.binding(function() { return "red" }) | 
					
						
							| 
									
										
										
										
											2017-06-23 12:29:22 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			// this needs to pick the theme from persistent preference settings
 | 
					
						
							| 
									
										
										
										
											2017-06-23 19:35:48 -07:00
										 |  |  | 			var theme = manager.theme | 
					
						
							|  |  |  | 			if (theme == "Blue") | 
					
						
							|  |  |  | 				blueTheme() | 
					
						
							|  |  |  | 			else if (theme == "Pink") | 
					
						
							|  |  |  | 				pinkTheme() | 
					
						
							|  |  |  | 			else | 
					
						
							|  |  |  | 				darkTheme() | 
					
						
							| 
									
										
										
										
											2017-06-20 22:51:25 -07:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2015-11-29 19:09:59 +01:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2015-11-29 21:13:57 +01:00
										 |  |  | 	property Item stackView: pageStack | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 	pageStack.initialPage: DiveList { | 
					
						
							| 
									
										
										
										
											2016-01-28 18:27:54 -08:00
										 |  |  | 		id: diveList | 
					
						
							| 
									
										
										
										
											2016-01-19 12:42:58 -08:00
										 |  |  | 		opacity: 0 | 
					
						
							|  |  |  | 		Behavior on opacity { | 
					
						
							|  |  |  | 			NumberAnimation { | 
					
						
							|  |  |  | 				duration: 200 | 
					
						
							|  |  |  | 				easing.type: Easing.OutQuad | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-12 10:56:48 -07:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2015-07-10 11:40:30 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-12 10:56:48 -07:00
										 |  |  | 	QMLManager { | 
					
						
							|  |  |  | 		id: manager | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2015-07-12 10:56:48 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-20 19:39:55 +02:00
										 |  |  | 	Settings { | 
					
						
							|  |  |  | 		id: settingsWindow | 
					
						
							| 
									
										
										
										
											2015-07-12 10:56:48 -07:00
										 |  |  | 		visible: false | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-10 22:53:59 +02:00
										 |  |  | 	About { | 
					
						
							|  |  |  | 		id: aboutWindow | 
					
						
							|  |  |  | 		visible: false | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-21 15:00:29 +03:00
										 |  |  | 	DiveDetails { | 
					
						
							|  |  |  | 		id: detailsWindow | 
					
						
							|  |  |  | 		visible: false | 
					
						
							| 
									
										
										
										
											2016-04-27 05:44:18 -07:00
										 |  |  | 		anchors.fill: parent | 
					
						
							| 
									
										
										
										
											2015-07-21 15:00:29 +03:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2015-07-23 14:46:02 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-19 10:18:26 +03:00
										 |  |  | 	Log { | 
					
						
							|  |  |  | 		id: logWindow | 
					
						
							|  |  |  | 		visible: false | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2015-10-09 01:57:10 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-07 21:40:15 -08:00
										 |  |  | 	GpsList { | 
					
						
							|  |  |  | 		id: gpsWindow | 
					
						
							| 
									
										
										
										
											2016-03-08 21:26:54 +01:00
										 |  |  | 		visible: false | 
					
						
							| 
									
										
										
										
											2016-01-07 21:40:15 -08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-11 12:47:54 +02:00
										 |  |  | 	DownloadFromDiveComputer { | 
					
						
							|  |  |  | 		id: downloadFromDc | 
					
						
							|  |  |  | 		visible: false | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-06 21:53:26 +00:00
										 |  |  | 	ThemeTest { | 
					
						
							|  |  |  | 		id: themetest | 
					
						
							|  |  |  | 		visible: false | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-09 01:57:10 +02:00
										 |  |  | 	Component.onCompleted: { | 
					
						
							| 
									
										
										
										
											2015-12-04 19:34:59 -08:00
										 |  |  | 		manager.finishSetup(); | 
					
						
							| 
									
										
										
										
											2016-01-19 12:42:58 -08:00
										 |  |  | 		rootItem.visible = true | 
					
						
							| 
									
										
										
										
											2016-01-28 18:27:54 -08:00
										 |  |  | 		diveList.opacity = 1 | 
					
						
							| 
									
										
										
										
											2016-01-19 12:42:58 -08:00
										 |  |  | 		rootItem.opacity = 1 | 
					
						
							| 
									
										
										
										
											2016-09-17 12:56:47 -07:00
										 |  |  | 		pageStack.defaultColumnWidth = Kirigami.Units.gridUnit * 28 | 
					
						
							| 
									
										
										
										
											2016-01-19 12:42:58 -08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2016-12-27 18:36:02 +01:00
										 |  |  | 	/* TODO: Verify where opacity went to. | 
					
						
							| 
									
										
										
										
											2016-01-19 12:42:58 -08:00
										 |  |  | 	Behavior on opacity { | 
					
						
							|  |  |  | 		NumberAnimation { | 
					
						
							|  |  |  | 			duration: 200 | 
					
						
							|  |  |  | 			easing.type: Easing.OutQuad | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2015-10-09 01:57:10 +02:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2016-12-27 18:36:02 +01:00
										 |  |  | 	*/ | 
					
						
							| 
									
										
										
										
											2015-05-27 13:34:55 +03:00
										 |  |  | } |