summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-mobile/qml/DiveDetails.qml3
-rw-r--r--qt-mobile/qml/DiveDetailsEdit.qml16
-rw-r--r--qt-mobile/qmlmanager.cpp4
3 files changed, 21 insertions, 2 deletions
diff --git a/qt-mobile/qml/DiveDetails.qml b/qt-mobile/qml/DiveDetails.qml
index dc2087a34..b815a04cc 100644
--- a/qt-mobile/qml/DiveDetails.qml
+++ b/qt-mobile/qml/DiveDetails.qml
@@ -49,6 +49,9 @@ MobileComponents.Page {
checkable: true
iconName: checked ? "view-readermode" : "document-edit"
onTriggered: {
+ if (diveDetailsWindow.state == "edit") {
+ manager.commitChanges(dive_id, suit, buddy, divemaster, notes);
+ }
diveDetailsWindow.state = checked ? "edit" : "view";
contextDrawer.close();
// close drawer?
diff --git a/qt-mobile/qml/DiveDetailsEdit.qml b/qt-mobile/qml/DiveDetailsEdit.qml
index 7648eaf3f..e3545535c 100644
--- a/qt-mobile/qml/DiveDetailsEdit.qml
+++ b/qt-mobile/qml/DiveDetailsEdit.qml
@@ -65,6 +65,9 @@ Item {
id: txtSuit
text: suit
Layout.fillWidth: true
+ onEditingFinished: {
+ suit = text;
+ }
}
MobileComponents.Label {
@@ -75,6 +78,9 @@ Item {
id: txtBuddy
text: buddy
Layout.fillWidth: true
+ onEditingFinished: {
+ buddy = text;
+ }
}
MobileComponents.Label {
@@ -85,6 +91,9 @@ Item {
id: txtDiveMaster
text: divemaster
Layout.fillWidth: true
+ onEditingFinished: {
+ divemaster = text;
+ }
}
MobileComponents.Label {
@@ -100,6 +109,11 @@ 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 {
@@ -107,4 +121,4 @@ Item {
width: height // just to make sure the spacer doesn't produce scrollbars, but also isn't null
}
}
-} \ No newline at end of file
+}
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp
index 0fbdac286..13749caa4 100644
--- a/qt-mobile/qmlmanager.cpp
+++ b/qt-mobile/qmlmanager.cpp
@@ -250,8 +250,10 @@ void QMLManager::commitChanges(QString diveId, QString suit, QString buddy, QStr
free(d->notes);
d->notes = strdup(notes.toUtf8().data());
}
- if (diveChanged)
+ if (diveChanged) {
+ DiveListModel::instance()->updateDive(d);
mark_divelist_changed(true);
+ }
}
void QMLManager::saveChanges()