aboutsummaryrefslogtreecommitdiffstats
path: root/mobile-widgets/qml/DiveDetailsView.qml
diff options
context:
space:
mode:
Diffstat (limited to 'mobile-widgets/qml/DiveDetailsView.qml')
-rw-r--r--mobile-widgets/qml/DiveDetailsView.qml303
1 files changed, 303 insertions, 0 deletions
diff --git a/mobile-widgets/qml/DiveDetailsView.qml b/mobile-widgets/qml/DiveDetailsView.qml
new file mode 100644
index 000000000..ef1dc5605
--- /dev/null
+++ b/mobile-widgets/qml/DiveDetailsView.qml
@@ -0,0 +1,303 @@
+import QtQuick 2.3
+/*
+import QtWebView 1.0
+*/
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Styles 1.2
+import QtQuick.Dialogs 1.2
+import QtQuick.Layouts 1.1
+import org.subsurfacedivelog.mobile 1.0
+import org.kde.kirigami 1.0 as Kirigami
+
+Item {
+ id: detailsView
+ property real gridWidth: subsurfaceTheme.columnWidth - 2 * Kirigami.Units.gridUnit
+ property real col1Width: gridWidth * 0.23
+ property real col2Width: gridWidth * 0.37
+ property real col3Width: gridWidth * 0.20
+ property real col4Width: gridWidth * 0.20
+
+ width: SubsurfaceTheme.columnWidth
+ height: mainLayout.implicitHeight + bottomLayout.implicitHeight + Kirigami.Units.iconSizes.large
+ Rectangle {
+ z: 99
+ color: Kirigami.Theme.textColor
+ opacity: 0.3
+ width: Kirigami.Units.smallSpacing/4
+ anchors {
+ right: parent.right
+ top: parent.top
+ bottom: parent.bottom
+ }
+ }
+ GridLayout {
+ id: mainLayout
+ anchors {
+ top: parent.top
+ left: parent.left
+ right: parent.right
+ margins: Math.round(Kirigami.Units.gridUnit / 2)
+ }
+ columns: 4
+ rowSpacing: Kirigami.Units.smallSpacing * 2
+ columnSpacing: Kirigami.Units.smallSpacing
+
+ Kirigami.Heading {
+ id: detailsViewHeading
+ Layout.fillWidth: true
+ text: dive.location
+ font.underline: dive.gps !== ""
+ Layout.columnSpan: 4
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.topMargin: Kirigami.Units.largeSpacing
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (dive.gps !== "")
+ showMap(dive.gps)
+ }
+ }
+ }
+ Kirigami.Label {
+ id: dateLabel
+ text: "Date: "
+ opacity: 0.6
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ text: dive.date + " " + dive.time
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.columnSpan: 2
+ }
+ Kirigami.Label {
+ id: numberText
+ text: "#" + dive.number
+ color: Kirigami.Theme.textColor
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ }
+
+ Kirigami.Label {
+ id: depthLabel
+ text: "Depth: "
+ opacity: 0.6
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ text: dive.depth
+ Layout.fillWidth: true
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ }
+ Kirigami.Label {
+ text: "Duration: "
+ opacity: 0.6
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ text: dive.duration
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ }
+
+ QMLProfile {
+ id: qmlProfile
+ visible: !dive.noDive
+ Layout.fillWidth: true
+ Layout.preferredHeight: Layout.minimumHeight
+ Layout.minimumHeight: width * 0.75
+ Layout.columnSpan: 4
+ clip: false
+ Rectangle {
+ color: "transparent"
+ opacity: 0.6
+ border.width: 1
+ border.color: Kirigami.Theme.textColor;
+ anchors.fill: parent
+ }
+ }
+ Kirigami.Label {
+ id: noProfile
+ visible: dive.noDive
+ Layout.fillWidth: true
+ Layout.columnSpan: 4
+ Layout.margins: Kirigami.Units.gridUnit
+ horizontalAlignment: Text.AlignHCenter
+ text: "No profile to show"
+ }
+ }
+ GridLayout {
+ id: bottomLayout
+ anchors {
+ top: mainLayout.bottom
+ left: parent.left
+ right: parent.right
+ margins: Math.round(Kirigami.Units.gridUnit / 2)
+ }
+ columns: 4
+ rowSpacing: Kirigami.Units.smallSpacing * 2
+ columnSpacing: Kirigami.Units.smallSpacing
+
+ Kirigami.Heading {
+ Layout.fillWidth: true
+ level: 3
+ text: "Dive Details"
+ Layout.columnSpan: 4
+ }
+
+ // first row - here we set up the column widths - total is 90% of width
+ Kirigami.Label {
+ text: "Suit:"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ opacity: 0.6
+ Layout.maximumWidth: detailsView.col1Width
+ Layout.preferredWidth: detailsView.col1Width
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ id: txtSuit
+ text: dive.suit
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.maximumWidth: detailsView.col2Width
+ Layout.preferredWidth: detailsView.col2Width
+ }
+
+ Kirigami.Label {
+ text: "Air Temp:"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ opacity: 0.6
+ Layout.maximumWidth: detailsView.col3Width
+ Layout.preferredWidth: detailsView.col3Width
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ id: txtAirTemp
+ text: dive.airTemp
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.maximumWidth: detailsView.col4Width
+ Layout.preferredWidth: detailsView.col4Width
+ }
+
+ Kirigami.Label {
+ text: "Cylinder:"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ opacity: 0.6
+ Layout.maximumWidth: detailsView.col1Width
+ Layout.preferredWidth: detailsView.col1Width
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ id: txtCylinder
+ text: dive.getCylinder
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.maximumWidth: detailsView.col2Width
+ Layout.preferredWidth: detailsView.col2Width
+ }
+
+ Kirigami.Label {
+ text: "Water Temp:"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ opacity: 0.6
+ Layout.maximumWidth: detailsView.col3Width
+ Layout.preferredWidth: detailsView.col3Width
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ id: txtWaterTemp
+ text: dive.waterTemp
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.maximumWidth: detailsView.col4Width
+ Layout.preferredWidth: detailsView.col4Width
+ }
+
+ Kirigami.Label {
+ text: "Dive Master:"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ opacity: 0.6
+ Layout.maximumWidth: detailsView.col1Width
+ Layout.preferredWidth: detailsView.col1Width
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ id: txtDiveMaster
+ text: dive.divemaster
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.maximumWidth: detailsView.col2Width
+ Layout.preferredWidth: detailsView.col2Width
+ }
+
+ Kirigami.Label {
+ text: "Weight:"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ opacity: 0.6
+ Layout.maximumWidth: detailsView.col3Width
+ Layout.preferredWidth: detailsView.col3Width
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ id: txtWeight
+ text: dive.sumWeight
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.maximumWidth: detailsView.col4Width
+ Layout.preferredWidth: detailsView.col4Width
+ }
+
+ Kirigami.Label {
+ text: "Buddy:"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ opacity: 0.6
+ Layout.maximumWidth: detailsView.col1Width
+ Layout.preferredWidth: detailsView.col1Width
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ id: txtBuddy
+ text: dive.buddy
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.maximumWidth: detailsView.col2Width
+ Layout.preferredWidth: detailsView.col2Width
+ }
+
+ Kirigami.Label {
+ text: "SAC:"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ opacity: 0.6
+ Layout.maximumWidth: detailsView.col3Width
+ Layout.preferredWidth: detailsView.col3Width
+ Layout.alignment: Qt.AlignRight
+ }
+ Kirigami.Label {
+ id: txtSAC
+ text: dive.sac
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ Layout.maximumWidth: detailsView.col4Width
+ Layout.preferredWidth: detailsView.col4Width
+ }
+
+ Kirigami.Heading {
+ Layout.fillWidth: true
+ level: 3
+ text: "Notes"
+ wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ Layout.columnSpan: 4
+ }
+
+ Kirigami.Label {
+ id: txtNotes
+ text: dive.notes
+ focus: true
+ Layout.columnSpan: 4
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ //selectByMouse: true
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ }
+ Item {
+ Layout.columnSpan: 4
+ Layout.fillWidth: true
+ Layout.minimumHeight: Kirigami.Units.gridUnit * 3
+ }
+ Component.onCompleted: {
+ qmlProfile.setMargin(Kirigami.Units.smallSpacing)
+ qmlProfile.diveId = model.dive.id;
+ qmlProfile.update();
+ }
+ }
+}