aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile/qml
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-12-26 22:57:47 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-12-26 22:57:47 -0800
commit99a5a743c48e88d94bce96a78bc9bea9d8f4343e (patch)
treed479334671c548bcca14ea5cb60500642c67459c /qt-mobile/qml
parent9be42fff813ab959e23a813b37319ebf75a1951b (diff)
downloadsubsurface-99a5a743c48e88d94bce96a78bc9bea9d8f4343e.tar.gz
QML UI: change the way we extract input data from dive edit
Instead of doing the silly "onEditingFinished" we get the strings from the QML components at the time we commit the change. Much more logical, much more straight forward, no issues with the TextArea not having an onEditingFinished signal. This still has a few open todos: the temperatures aren't parsed, the edit screen is missing depth and duration, we can't edit the dive time (and it isn't passed in on the commit). But it's progress. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-mobile/qml')
-rw-r--r--qt-mobile/qml/DiveDetails.qml8
-rw-r--r--qt-mobile/qml/DiveDetailsEdit.qml29
2 files changed, 19 insertions, 18 deletions
diff --git a/qt-mobile/qml/DiveDetails.qml b/qt-mobile/qml/DiveDetails.qml
index ca2e04f08..912a97840 100644
--- a/qt-mobile/qml/DiveDetails.qml
+++ b/qt-mobile/qml/DiveDetails.qml
@@ -53,9 +53,13 @@ MobileComponents.Page {
iconName: checked ? "view-readermode" : "document-edit"
onTriggered: {
if (diveDetailsWindow.state == "edit") {
- manager.commitChanges(dive_id, suit, buddy, divemaster, notes);
+ manager.commitChanges(dive_id, detailsEdit.locationText, detailsEdit.gpsText, detailsEdit.durationText,
+ detailsEdit.depthText, detailsEdit.airtempText, detailsEdit.watertempText, detailsEdit.suitText,
+ detailsEdit.buddyText, detailsEdit.divemasterText, detailsEdit.notesText);
+ diveDetailsWindow.state = "view";
+ } else {
+ diveDetailsWindow.state = "edit";
}
- diveDetailsWindow.state = checked ? "edit" : "view";
contextDrawer.close();
// close drawer?
}
diff --git a/qt-mobile/qml/DiveDetailsEdit.qml b/qt-mobile/qml/DiveDetailsEdit.qml
index e3545535c..4ed90cd2d 100644
--- a/qt-mobile/qml/DiveDetailsEdit.qml
+++ b/qt-mobile/qml/DiveDetailsEdit.qml
@@ -7,7 +7,14 @@ import org.subsurfacedivelog.mobile 1.0
import org.kde.plasma.mobilecomponents 0.2 as MobileComponents
Item {
-
+ property alias locationText: txtLocation.text
+ property string gpsText
+ property alias airtempText: txtAirTemp.text
+ property alias watertempText: txtWaterTemp.text
+ property alias suitText: txtSuit.text
+ property alias buddyText: txtBuddy.text
+ property alias divemasterText: txtDiveMaster.text
+ property alias notesText: txtNotes.text
ColumnLayout {
anchors {
left: parent.left
@@ -36,6 +43,11 @@ Item {
Layout.fillWidth: true
}
+ // we should add a checkbox here that allows the user
+ // to add the current location as the dive location
+ // (think of someone adding a dive while on the boat or
+ // at the dive site)
+
MobileComponents.Label {
Layout.alignment: Qt.AlignRight
text: "Air Temp:"
@@ -59,15 +71,11 @@ Item {
MobileComponents.Label {
Layout.alignment: Qt.AlignRight
text: "Suit:"
-
}
TextField {
id: txtSuit
text: suit
Layout.fillWidth: true
- onEditingFinished: {
- suit = text;
- }
}
MobileComponents.Label {
@@ -78,9 +86,6 @@ Item {
id: txtBuddy
text: buddy
Layout.fillWidth: true
- onEditingFinished: {
- buddy = text;
- }
}
MobileComponents.Label {
@@ -91,9 +96,6 @@ Item {
id: txtDiveMaster
text: divemaster
Layout.fillWidth: true
- onEditingFinished: {
- divemaster = text;
- }
}
MobileComponents.Label {
@@ -109,11 +111,6 @@ Item {
Layout.minimumHeight: MobileComponents.Units.gridUnit * 6
selectByMouse: true
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
-// there is no onEditingFinished signal... not sure how to get the value
-// out of this field when we're done editing
-// onEditingFinished: {
-// diveDetailsWindow.notes = text;
-// }
}
}
Item {