2017-04-27 18:30:36 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
2020-02-17 18:48:36 +00:00
|
|
|
import QtQuick 2.10
|
2015-12-04 01:28:48 +00:00
|
|
|
import QtQuick.Dialogs 1.2
|
2017-10-30 10:26:47 +00:00
|
|
|
import QtQuick.Layouts 1.2
|
2017-10-29 12:44:22 +00:00
|
|
|
import QtQuick.Controls 2.2 as Controls
|
2015-12-04 01:28:48 +00:00
|
|
|
import org.subsurfacedivelog.mobile 1.0
|
2018-09-27 20:09:26 +00:00
|
|
|
import org.kde.kirigami 2.4 as Kirigami
|
2015-12-04 01:28:48 +00:00
|
|
|
|
2016-01-12 00:15:02 +00:00
|
|
|
Item {
|
2015-12-04 01:28:48 +00:00
|
|
|
id: detailsView
|
2016-04-07 19:07:44 +00:00
|
|
|
property real gridWidth: detailsView.width - 2 * Kirigami.Units.gridUnit
|
2017-04-10 18:15:58 +00:00
|
|
|
property real col1Width: gridWidth * 0.40
|
|
|
|
property real col2Width: gridWidth * 0.30
|
|
|
|
property real col3Width: gridWidth * 0.30
|
2016-02-08 21:25:29 +00:00
|
|
|
|
2016-04-07 19:07:44 +00:00
|
|
|
width: diveDetailsPage.width - diveDetailsPage.leftPadding - diveDetailsPage.rightPadding
|
2017-06-20 19:02:30 +00:00
|
|
|
height: divePlate.implicitHeight + bottomLayout.implicitHeight + Kirigami.Units.iconSizes.large
|
2016-01-12 00:15:02 +00:00
|
|
|
Rectangle {
|
2016-04-02 03:29:06 +00:00
|
|
|
z: 99
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
opacity: 0.3
|
2016-03-08 20:26:54 +00:00
|
|
|
width: Kirigami.Units.smallSpacing/4
|
2016-01-12 00:15:02 +00:00
|
|
|
anchors {
|
|
|
|
right: parent.right
|
|
|
|
top: parent.top
|
|
|
|
bottom: parent.bottom
|
2015-12-04 01:28:48 +00:00
|
|
|
}
|
|
|
|
}
|
2017-06-20 19:02:30 +00:00
|
|
|
Item {
|
|
|
|
id: divePlate
|
|
|
|
width: parent.width - Kirigami.Units.gridUnit
|
|
|
|
height: childrenRect.height - Kirigami.Units.smallSpacing
|
|
|
|
anchors.left: parent.left
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-06-20 19:02:30 +00:00
|
|
|
id: locationText
|
2019-10-22 20:45:37 +00:00
|
|
|
text: (undefined !== location && "" !== location) ? location : qsTr("<unnamed dive site>")
|
2017-06-20 19:02:30 +00:00
|
|
|
font.weight: Font.Bold
|
|
|
|
font.pointSize: subsurfaceTheme.titlePointSize
|
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-06-20 19:02:30 +00:00
|
|
|
anchors {
|
|
|
|
left: parent.left
|
|
|
|
top: parent.top
|
2017-06-20 19:52:55 +00:00
|
|
|
right: gpsButton.left
|
2017-06-20 19:02:30 +00:00
|
|
|
margins: Math.round(Kirigami.Units.gridUnit / 2)
|
|
|
|
}
|
2016-01-12 00:15:02 +00:00
|
|
|
MouseArea {
|
|
|
|
anchors.fill: parent
|
2019-10-20 02:12:50 +00:00
|
|
|
enabled: gpsDecimal !== ""
|
2016-01-12 00:15:02 +00:00
|
|
|
onClicked: {
|
2018-03-08 20:22:35 +00:00
|
|
|
showMap()
|
2019-10-22 20:30:17 +00:00
|
|
|
mapPage.centerOnDiveSite(diveSite)
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2015-12-26 21:22:50 +00:00
|
|
|
}
|
|
|
|
}
|
2019-02-11 16:09:51 +00:00
|
|
|
TemplateButton {
|
2017-06-20 19:52:55 +00:00
|
|
|
id: gpsButton
|
2017-07-25 15:22:13 +00:00
|
|
|
anchors.right: parent.right
|
2020-02-09 19:35:21 +00:00
|
|
|
anchors.verticalCenter: locationText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
enabled: gps !== ""
|
2017-07-25 15:22:13 +00:00
|
|
|
text: qsTr("Map it")
|
|
|
|
onClicked: {
|
2018-03-08 20:22:35 +00:00
|
|
|
showMap()
|
2019-10-22 20:30:17 +00:00
|
|
|
mapPage.centerOnDiveSite(diveSite)
|
2017-06-20 19:52:55 +00:00
|
|
|
}
|
|
|
|
}
|
2017-06-20 19:02:30 +00:00
|
|
|
Row {
|
2017-07-28 15:43:26 +00:00
|
|
|
id: dateRow
|
2017-06-20 19:02:30 +00:00
|
|
|
anchors {
|
|
|
|
left: locationText.left
|
2020-02-09 19:35:21 +00:00
|
|
|
top: gpsButton.bottom
|
2017-10-19 09:22:37 +00:00
|
|
|
topMargin: Kirigami.Units.smallSpacing
|
2017-06-20 19:02:30 +00:00
|
|
|
bottom: numberText.bottom
|
2017-10-19 09:22:37 +00:00
|
|
|
|
2017-06-20 19:02:30 +00:00
|
|
|
}
|
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2019-10-20 02:12:50 +00:00
|
|
|
text: dateTime
|
2017-06-20 19:02:30 +00:00
|
|
|
width: Math.max(locationText.width * 0.45, paintedWidth)
|
|
|
|
font.pointSize: subsurfaceTheme.smallPointSize
|
2017-06-24 01:07:48 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-06-20 19:02:30 +00:00
|
|
|
}
|
2019-11-06 12:24:31 +00:00
|
|
|
// spacer, just in case
|
|
|
|
Controls.Label {
|
|
|
|
text: " "
|
|
|
|
width: Kirigami.Units.largeSpacing
|
|
|
|
}
|
2017-06-20 19:02:30 +00:00
|
|
|
// let's try to show the depth / duration very compact
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2019-10-20 02:12:50 +00:00
|
|
|
text: depthDuration
|
2017-06-20 19:02:30 +00:00
|
|
|
width: Math.max(Kirigami.Units.gridUnit * 3, paintedWidth)
|
|
|
|
font.pointSize: subsurfaceTheme.smallPointSize
|
2017-06-24 01:07:48 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-06-20 19:02:30 +00:00
|
|
|
}
|
2016-02-01 10:29:50 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-02-01 10:29:50 +00:00
|
|
|
id: numberText
|
2019-10-20 02:12:50 +00:00
|
|
|
text: "#" + number
|
2017-06-20 19:02:30 +00:00
|
|
|
font.pointSize: subsurfaceTheme.smallPointSize
|
2017-06-24 01:07:48 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-06-20 19:02:30 +00:00
|
|
|
anchors {
|
|
|
|
right: parent.right
|
2020-02-09 19:35:21 +00:00
|
|
|
top: gpsButton.bottom
|
2017-10-19 09:22:37 +00:00
|
|
|
topMargin: Kirigami.Units.smallSpacing
|
2017-06-20 19:02:30 +00:00
|
|
|
}
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-07-28 15:43:26 +00:00
|
|
|
Row {
|
|
|
|
anchors {
|
|
|
|
left: dateRow.left
|
|
|
|
top: numberText.bottom
|
2017-10-19 09:22:37 +00:00
|
|
|
topMargin: Kirigami.Units.smallSpacing
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-07-28 15:43:26 +00:00
|
|
|
id: ratingText
|
|
|
|
text: qsTr("Rating:")
|
|
|
|
font.pointSize: subsurfaceTheme.smallPointSize
|
|
|
|
color: subsurfaceTheme.textColor
|
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: ratingText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (rating >= 1) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: ratingText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (rating >= 2) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: ratingText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (rating >= 3) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: ratingText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (rating >= 4) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: ratingText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (rating === 5) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
Row {
|
|
|
|
anchors {
|
|
|
|
right: numberText.right
|
|
|
|
top: numberText.bottom
|
2017-10-19 09:22:37 +00:00
|
|
|
topMargin: Kirigami.Units.smallSpacing
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-07-28 15:43:26 +00:00
|
|
|
id: visibilityText
|
|
|
|
text: qsTr("Visibility:")
|
|
|
|
font.pointSize: subsurfaceTheme.smallPointSize
|
|
|
|
color: subsurfaceTheme.textColor
|
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: visibilityText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (viz >= 1) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: visibilityText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (viz >= 2) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2018-06-08 07:40:43 +00:00
|
|
|
}
|
2017-07-28 15:43:26 +00:00
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: visibilityText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (viz >= 3) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: visibilityText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (viz >= 4) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
Kirigami.Icon {
|
|
|
|
width: height
|
|
|
|
height: subsurfaceTheme.regularPointSize
|
2018-06-08 07:40:43 +00:00
|
|
|
anchors.verticalCenter: visibilityText.verticalCenter
|
2019-10-20 02:12:50 +00:00
|
|
|
source: (viz === 5) ? ":/icons/ic_star.svg" : ":/icons/ic_star_border.svg"
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-07-28 15:43:26 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-06-20 18:55:05 +00:00
|
|
|
}
|
|
|
|
GridLayout {
|
|
|
|
id: bottomLayout
|
|
|
|
anchors {
|
2017-06-20 19:02:30 +00:00
|
|
|
top: divePlate.bottom
|
2017-06-20 18:55:05 +00:00
|
|
|
left: parent.left
|
|
|
|
right: parent.right
|
|
|
|
margins: Math.round(Kirigami.Units.gridUnit / 2)
|
2017-07-28 15:43:26 +00:00
|
|
|
topMargin: Kirigami.Units.gridUnit
|
2015-12-04 01:28:48 +00:00
|
|
|
}
|
2017-06-20 18:55:05 +00:00
|
|
|
columns: 3
|
|
|
|
rowSpacing: Kirigami.Units.smallSpacing * 2
|
|
|
|
columnSpacing: Kirigami.Units.smallSpacing
|
2015-12-07 17:10:55 +00:00
|
|
|
|
2020-02-17 18:35:57 +00:00
|
|
|
Rectangle {
|
2016-01-12 00:15:02 +00:00
|
|
|
Layout.fillWidth: true
|
2016-01-13 02:05:06 +00:00
|
|
|
Layout.preferredHeight: Layout.minimumHeight
|
|
|
|
Layout.minimumHeight: width * 0.75
|
2017-06-20 18:55:05 +00:00
|
|
|
Layout.columnSpan: 3
|
2020-02-17 18:35:57 +00:00
|
|
|
clip: true
|
|
|
|
|
|
|
|
QMLProfile {
|
|
|
|
id: qmlProfile
|
|
|
|
visible: !noDive
|
2016-01-12 00:15:02 +00:00
|
|
|
anchors.fill: parent
|
2020-02-17 18:48:36 +00:00
|
|
|
clip: true
|
|
|
|
property real lastScale: 1.0 // final scale at the end of previous pinch
|
2020-02-17 18:35:57 +00:00
|
|
|
Rectangle {
|
|
|
|
color: "transparent"
|
|
|
|
opacity: 0.6
|
|
|
|
border.width: 1
|
|
|
|
border.color: subsurfaceTheme.primaryColor
|
|
|
|
anchors.fill: parent
|
|
|
|
}
|
2020-02-17 18:48:36 +00:00
|
|
|
PinchArea {
|
|
|
|
anchors.fill: parent
|
|
|
|
pinch.dragAxis: Pinch.XAndYAxis
|
|
|
|
onPinchStarted: {
|
2020-03-24 23:05:12 +00:00
|
|
|
// it's possible that we thought this was a pan and reduced opacity
|
|
|
|
// before realizing that this is actually a pinch/zoom. So let's reset this
|
|
|
|
// just in case
|
|
|
|
qmlProfile.opacity = 1.0
|
2020-02-17 18:48:36 +00:00
|
|
|
if (manager.verboseEnabebled)
|
|
|
|
manager.appendTextToLog("pinch started w/ previousScale " + qmlProfile.lastScale)
|
|
|
|
}
|
|
|
|
onPinchUpdated: {
|
|
|
|
if (pinch.scale * qmlProfile.lastScale < 1.0)
|
|
|
|
qmlProfile.lastScale = 1.0 / pinch.scale // this way we never shrink and the changes stay smooth
|
|
|
|
// the underlying widget deals with the scaling, no need to send an update request
|
|
|
|
qmlProfile.scale = pinch.scale * qmlProfile.lastScale
|
|
|
|
if (manager.verboseEnabled)
|
|
|
|
manager.appendTextToLog("pinch updated to scale " + qmlProfile.scale);
|
|
|
|
}
|
|
|
|
onPinchFinished: {
|
|
|
|
// remember the final scale value so we can continue from there next time the user pinches
|
|
|
|
qmlProfile.lastScale = pinch.scale * qmlProfile.lastScale
|
|
|
|
}
|
|
|
|
|
|
|
|
MouseArea {
|
2020-03-22 19:16:58 +00:00
|
|
|
// we want to pan the profile if we are zoomed in, but we want to immediately
|
|
|
|
// pass the mouse events through to the ListView if we are not. That way you
|
|
|
|
// can swipe through the dive list, even if you happen to swipe the profile
|
|
|
|
property bool isZoomed: qmlProfile.scale - 1.0 > 0.02
|
|
|
|
|
|
|
|
// this indicates that we are actually dragging
|
|
|
|
property bool dragging: false
|
2020-02-17 18:48:36 +00:00
|
|
|
// cursor/finger position as we start dragging
|
|
|
|
property real initialX
|
|
|
|
property real initialY
|
|
|
|
// the offset previously used to show the profile
|
|
|
|
property real oldXOffset
|
|
|
|
property real oldYOffset
|
2020-03-22 19:16:58 +00:00
|
|
|
|
|
|
|
// if the profile is not scaled in, don't start panning
|
|
|
|
// but if the profile is scaled in, then start almost immediately
|
|
|
|
pressAndHoldInterval: isZoomed ? 50 : 50000
|
|
|
|
|
|
|
|
// pass events through to the parent and eventually into the ListView
|
|
|
|
propagateComposedEvents: true
|
|
|
|
|
2020-03-24 22:30:44 +00:00
|
|
|
// for testing / debugging on a desktop
|
|
|
|
scrollGestureEnabled: true
|
|
|
|
onWheel: {
|
|
|
|
manager.appendTextToLog("wheel " + wheel.angleDelta)
|
|
|
|
if (wheel.angleDelta.y > 0)
|
|
|
|
qmlProfile.scale += 0.2
|
|
|
|
if (wheel.angleDelta.y < 0 && qmlProfile.scale > 1.1)
|
|
|
|
qmlProfile.scale -= 0.2
|
|
|
|
}
|
|
|
|
|
2020-03-22 19:16:58 +00:00
|
|
|
anchors.fill: parent
|
|
|
|
drag.target: qmlProfile
|
|
|
|
drag.axis: Drag.XAndYAxis
|
|
|
|
drag.smoothed: true
|
|
|
|
onPressed: {
|
|
|
|
if (!isZoomed)
|
|
|
|
mouse.accepted = false
|
|
|
|
}
|
2020-02-17 18:48:36 +00:00
|
|
|
onPressAndHold: {
|
|
|
|
dragging = true;
|
|
|
|
oldXOffset = qmlProfile.xOffset
|
|
|
|
oldYOffset = qmlProfile.yOffset
|
|
|
|
initialX = mouse.x
|
|
|
|
initialY = mouse.y
|
|
|
|
if (manager.verboseEnabled)
|
|
|
|
manager.appendTextToLog("press and hold at mouse" + Math.round(10 * mouse.x) / 10 + " / " + Math.round(10 * mouse.y) / 10)
|
|
|
|
// give visual feedback to the user that they now can drag
|
|
|
|
qmlProfile.opacity = 0.5
|
|
|
|
}
|
|
|
|
onPositionChanged: {
|
|
|
|
if (dragging) {
|
|
|
|
var x = (mouse.x - initialX) / qmlProfile.scale
|
|
|
|
var y = (mouse.y - initialY) / qmlProfile.scale
|
|
|
|
if (manager.verboseEnabled)
|
|
|
|
manager.appendTextToLog("drag mouse " + Math.round(10 * mouse.x) / 10 + " / " + Math.round(10 * mouse.y) / 10 + " delta " + Math.round(x) + " / " + Math.round(y))
|
|
|
|
qmlProfile.xOffset = oldXOffset + x
|
|
|
|
qmlProfile.yOffset = oldYOffset + y
|
|
|
|
qmlProfile.update()
|
2020-03-22 19:16:58 +00:00
|
|
|
} else {
|
|
|
|
mouse.accepted = false
|
2020-02-17 18:48:36 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
onReleased: {
|
2020-03-22 19:16:58 +00:00
|
|
|
if (dragging) {
|
|
|
|
// reset things
|
|
|
|
dragging = false
|
|
|
|
qmlProfile.opacity = 1.0
|
|
|
|
}
|
|
|
|
mouse.accepted = false
|
|
|
|
}
|
|
|
|
onClicked: {
|
|
|
|
// reset the position if not zoomed in
|
|
|
|
if (!isZoomed) {
|
|
|
|
qmlProfile.xOffset = qmlProfile.yOffset = oldXOffset = oldYOffset = 0
|
|
|
|
mouse.accepted = false
|
|
|
|
}
|
2020-02-17 18:48:36 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2015-12-04 01:28:48 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-02-15 00:27:41 +00:00
|
|
|
id: noProfile
|
2019-10-20 02:12:50 +00:00
|
|
|
visible: noDive
|
2016-02-15 00:27:41 +00:00
|
|
|
Layout.fillWidth: true
|
2017-06-20 18:55:05 +00:00
|
|
|
Layout.columnSpan: 3
|
2016-03-08 20:26:54 +00:00
|
|
|
Layout.margins: Kirigami.Units.gridUnit
|
2016-02-15 00:27:41 +00:00
|
|
|
horizontalAlignment: Text.AlignHCenter
|
2016-05-03 19:24:00 +00:00
|
|
|
text: qsTr("No profile to show")
|
2016-02-15 00:27:41 +00:00
|
|
|
}
|
2015-12-04 01:28:48 +00:00
|
|
|
|
2017-04-10 18:15:58 +00:00
|
|
|
// first row
|
|
|
|
//-----------
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-03 19:24:00 +00:00
|
|
|
text: qsTr("Suit:")
|
2016-01-12 00:15:02 +00:00
|
|
|
opacity: 0.6
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col1Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
text: qsTr("Air Temp:")
|
|
|
|
opacity: 0.6
|
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
2017-04-10 04:12:39 +00:00
|
|
|
Layout.maximumWidth: detailsView.col2Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
text: qsTr("Water Temp:")
|
2016-01-12 00:15:02 +00:00
|
|
|
opacity: 0.6
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col3Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-04-10 18:15:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// second row
|
|
|
|
//------------
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
id: txtSuit
|
2019-10-20 02:12:50 +00:00
|
|
|
text: suit
|
2017-04-10 18:15:58 +00:00
|
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col1Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-02-08 20:41:29 +00:00
|
|
|
id: txtAirTemp
|
2019-10-20 02:12:50 +00:00
|
|
|
text: airTemp
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.maximumWidth: detailsView.col2Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-04-10 18:15:58 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
id: txtWaterTemp
|
2019-10-20 02:12:50 +00:00
|
|
|
text: waterTemp
|
2017-04-10 18:15:58 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col3Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-04-10 18:15:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
Rectangle {
|
2017-07-25 17:46:59 +00:00
|
|
|
color: subsurfaceTheme.primaryColor
|
2017-04-10 18:15:58 +00:00
|
|
|
height: 1
|
|
|
|
opacity: 0.5
|
|
|
|
Layout.columnSpan: 3
|
|
|
|
Layout.fillWidth: true
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2015-12-04 01:28:48 +00:00
|
|
|
|
2017-04-10 18:15:58 +00:00
|
|
|
// thrid row
|
|
|
|
//------------
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-03 19:24:00 +00:00
|
|
|
text: qsTr("Cylinder:")
|
2016-01-12 00:15:02 +00:00
|
|
|
opacity: 0.6
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col1Width
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.bottomMargin: 0
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
text: qsTr("Weight:")
|
|
|
|
opacity: 0.6
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col2Width
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.bottomMargin: 0
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
text: qsTr("SAC:")
|
2016-01-12 00:15:02 +00:00
|
|
|
opacity: 0.6
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col3Width
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.bottomMargin: 0
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2015-12-07 17:10:55 +00:00
|
|
|
|
2017-04-10 18:15:58 +00:00
|
|
|
// fourth row
|
|
|
|
//------------
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
id: txtCylinder
|
2019-10-20 02:12:50 +00:00
|
|
|
text: cylinder
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col1Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
id: txtWeight
|
2019-10-20 02:12:50 +00:00
|
|
|
text: sumWeight
|
2017-04-10 18:15:58 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
2017-04-10 04:12:39 +00:00
|
|
|
Layout.maximumWidth: detailsView.col2Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
id: txtSAC
|
2019-10-20 02:12:50 +00:00
|
|
|
text: sac
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col3Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2017-04-10 18:15:58 +00:00
|
|
|
|
|
|
|
Rectangle {
|
2017-07-25 17:46:59 +00:00
|
|
|
color: subsurfaceTheme.primaryColor
|
2017-04-10 18:15:58 +00:00
|
|
|
height: 1
|
|
|
|
opacity: 0.5
|
|
|
|
Layout.columnSpan: 3
|
|
|
|
Layout.fillWidth: true
|
2016-01-25 17:44:50 +00:00
|
|
|
}
|
|
|
|
|
2017-04-10 18:15:58 +00:00
|
|
|
// fifth row
|
|
|
|
//-----------
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
text: qsTr("Divemaster:")
|
2016-01-25 17:44:50 +00:00
|
|
|
opacity: 0.6
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col1Width
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.bottomMargin: 0
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-25 17:44:50 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
text: qsTr("Buddy:")
|
|
|
|
opacity: 0.6
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.columnSpan: 2
|
|
|
|
Layout.maximumWidth: detailsView.col2Width + detailsView.col3Width
|
|
|
|
Layout.bottomMargin: 0
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-03-30 01:17:58 +00:00
|
|
|
}
|
|
|
|
|
2017-04-10 18:15:58 +00:00
|
|
|
// sixth row
|
|
|
|
//-----------
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
id: txtDiveMaster
|
2019-10-20 02:12:50 +00:00
|
|
|
text: diveMaster
|
2017-04-10 18:15:58 +00:00
|
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
|
|
Layout.maximumWidth: detailsView.col1Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-03-30 01:17:58 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-10 18:15:58 +00:00
|
|
|
id: txtBuddy
|
2019-10-20 02:12:50 +00:00
|
|
|
text: buddy
|
2017-04-10 04:12:39 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.columnSpan: 2
|
|
|
|
Layout.maximumWidth: detailsView.col2Width + detailsView.col3Width
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2017-04-10 18:15:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
Rectangle {
|
2017-07-25 17:46:59 +00:00
|
|
|
color: subsurfaceTheme.primaryColor
|
2017-04-10 18:15:58 +00:00
|
|
|
height: 1
|
|
|
|
opacity: 0.5
|
|
|
|
Layout.columnSpan: 3
|
|
|
|
Layout.fillWidth: true
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2015-12-04 01:28:48 +00:00
|
|
|
|
2017-04-10 18:15:58 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-01-12 00:15:02 +00:00
|
|
|
Layout.fillWidth: true
|
2017-06-20 18:59:51 +00:00
|
|
|
opacity: 0.6
|
2016-05-03 19:24:00 +00:00
|
|
|
text: qsTr("Notes")
|
2016-02-08 20:41:29 +00:00
|
|
|
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.columnSpan: 3
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2015-12-07 17:10:55 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-01-12 00:15:02 +00:00
|
|
|
id: txtNotes
|
2019-10-20 02:12:50 +00:00
|
|
|
text: notes
|
2016-01-12 00:15:02 +00:00
|
|
|
focus: true
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.columnSpan: 3
|
2016-01-12 00:15:02 +00:00
|
|
|
Layout.fillWidth: true
|
|
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
2019-10-05 01:21:56 +00:00
|
|
|
color: subsurfaceTheme.textColor
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
|
|
|
Item {
|
2017-04-10 18:15:58 +00:00
|
|
|
Layout.columnSpan: 3
|
2016-01-12 00:15:02 +00:00
|
|
|
Layout.fillWidth: true
|
2017-06-22 01:33:27 +00:00
|
|
|
Layout.minimumHeight: Kirigami.Units.gridUnit * 6
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
|
|
|
Component.onCompleted: {
|
2016-03-08 20:26:54 +00:00
|
|
|
qmlProfile.setMargin(Kirigami.Units.smallSpacing)
|
2019-09-26 08:52:44 +00:00
|
|
|
qmlProfile.diveId = model.id;
|
2018-06-17 14:04:51 +00:00
|
|
|
qmlProfile.update();
|
2016-01-12 00:15:02 +00:00
|
|
|
}
|
2015-12-29 17:50:47 +00:00
|
|
|
}
|
2015-12-04 01:28:48 +00:00
|
|
|
}
|