From 8baae6a3b6de67641ef603307727e5159b522519 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 7 Dec 2015 22:24:56 -0800 Subject: QML-UI: make dive edit almost sort of work So this has a lot of caveats: - right now it only works for buddy, divemaster and suit - you have to actually exit the field with your cursor or the change doesn't take - that's ridiculous, there must be a far more clever way to do this - because I use the onEditingFinished handler I can't do this for the Notes (so here's another reason why I KNOW that this is the wrong way to do this) But it shows in principle how this could be done and once someone who actually knows what they are doing gets their hands on the code I'm optimistic that this can be morphed into something much more useful. It does tie together the changes made in the previous commits so that both clicking around on the dive list gives the expected results and synching the data back to the cloud actually works. Signed-off-by: Dirk Hohndel --- qt-mobile/qml/DiveDetails.qml | 3 +++ qt-mobile/qml/DiveDetailsEdit.qml | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'qt-mobile/qml') 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 +} -- cgit v1.2.3-70-g09d2