mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 14:40:28 +00:00
fdd5ee507c
Commit 1030cb265a
'QML UI DiveDetailsView: shift
dive number to right of top row' was reverted because it caused mysterious
crashes for some testers, inferred to be related to sizing items in a
gridLayout.
This patch brings the dive number back up to the right of the top row, so the
page width doesn't exceed the screen width. Using text wrapping should prevent
the date text and dive number items from increasing in width, and hopefully
avoids the mysterious crashes.
Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
242 lines
5.1 KiB
QML
242 lines
5.1 KiB
QML
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.plasma.mobilecomponents 0.2 as MobileComponents
|
|
|
|
Item {
|
|
id: detailsView
|
|
property int labelWidth: MobileComponents.Units.gridUnit * 10
|
|
width: parent.width
|
|
height: mainLayout.implicitHeight + MobileComponents.Units.iconSizes.large
|
|
Rectangle {
|
|
z: 99
|
|
color: MobileComponents.Theme.textColor
|
|
opacity: 0.3
|
|
width: MobileComponents.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: MobileComponents.Units.gridUnit
|
|
}
|
|
columns: 4
|
|
rowSpacing: MobileComponents.Units.smallSpacing * 2
|
|
columnSpacing: MobileComponents.Units.smallSpacing
|
|
|
|
MobileComponents.Heading {
|
|
id: detailsViewHeading
|
|
Layout.fillWidth: true
|
|
text: dive.location
|
|
font.underline: dive.gps !== ""
|
|
Layout.columnSpan: 4
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
if (dive.gps !== "")
|
|
manager.showMap(dive.gps)
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
Rectangle {
|
|
id: mapView
|
|
width: parent.width
|
|
height: parents.width * 0.7
|
|
WebView {
|
|
id: webView
|
|
anchors.fill: parent
|
|
url: "http://www.google.com"
|
|
}
|
|
}
|
|
*/
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
id: dateLabel
|
|
text: "Date: "
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
text: dive.date + " " + dive.time
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
Layout.columnSpan: 2
|
|
}
|
|
MobileComponents.Label {
|
|
id: numberText
|
|
text: "#" + dive.number
|
|
color: MobileComponents.Theme.textColor
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
id: depthLabel
|
|
text: "Depth: "
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
text: dive.depth
|
|
}
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
text: "Duration: "
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
text: dive.duration
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
QMLProfile {
|
|
id: qmlProfile
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: Layout.minimumHeight
|
|
Layout.minimumHeight: width * 0.75
|
|
Layout.columnSpan: 4
|
|
clip: false
|
|
devicePixelRatio: MobileComponents.Units.devicePixelRatio
|
|
Rectangle {
|
|
color: "transparent"
|
|
opacity: 0.6
|
|
border.width: 1
|
|
border.color: MobileComponents.Theme.textColor;
|
|
anchors.fill: parent
|
|
}
|
|
}
|
|
|
|
MobileComponents.Heading {
|
|
Layout.fillWidth: true
|
|
level: 3
|
|
text: "Dive Details"
|
|
Layout.columnSpan: 4
|
|
}
|
|
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
text: "Air Temp:"
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
id: txtAirTemp
|
|
text: dive.airTemp
|
|
Layout.fillWidth: true
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
text: "Water Temp:"
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
id: txtWaterTemp
|
|
text: dive.waterTemp
|
|
Layout.fillWidth: true
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
text: "Suit:"
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
id: txtSuit
|
|
text: dive.suit
|
|
Layout.fillWidth: true
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
text: "Weight:"
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
id: txtWeight
|
|
text: dive.sumWeight
|
|
Layout.fillWidth: true
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
|
|
MobileComponents.Label {
|
|
text: "Cylinder:"
|
|
Layout.alignment: Qt.AlignRight
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
id: txtCylinder
|
|
text: dive.getCylinder
|
|
Layout.fillWidth: true
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
text: "Dive Master:"
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
id: txtDiveMaster
|
|
text: dive.divemaster
|
|
Layout.fillWidth: true
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
|
|
MobileComponents.Label {
|
|
Layout.alignment: Qt.AlignRight
|
|
text: "Buddy:"
|
|
opacity: 0.6
|
|
}
|
|
MobileComponents.Label {
|
|
id: txtBuddy
|
|
text: dive.buddy
|
|
Layout.fillWidth: true
|
|
Layout.columnSpan: 3
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
|
|
MobileComponents.Heading {
|
|
Layout.fillWidth: true
|
|
level: 3
|
|
text: "Notes"
|
|
Layout.columnSpan: 4
|
|
}
|
|
|
|
MobileComponents.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: MobileComponents.Units.gridUnit * 3
|
|
}
|
|
Component.onCompleted: {
|
|
qmlProfile.setMargin(MobileComponents.Units.smallSpacing)
|
|
qmlProfile.diveId = model.dive.id;
|
|
qmlProfile.update();
|
|
}
|
|
}
|
|
}
|