0003-QML-UI-enable-edit-of-cylinder-pressures.patch
Description: Binary data
> On 09 Feb 2016, at 19:52, Joakim Bygdell <[email protected]> wrote: > > First cylinder only, show warning if there are more than one cylinder defined. > > Signed-off-by: Joakim Bygdell <[email protected]> > --- > qt-mobile/qml/DiveDetails.qml | 10 ++++++++++ > qt-mobile/qml/DiveDetailsEdit.qml | 26 +++++++++++++++++++++++++- > qt-mobile/qml/main.qml | 2 ++ > qt-mobile/qmlmanager.cpp | 15 ++++++++++++++- > qt-mobile/qmlmanager.h | 3 ++- > 5 files changed, 53 insertions(+), 3 deletions(-) > > diff --git a/qt-mobile/qml/DiveDetails.qml b/qt-mobile/qml/DiveDetails.qml > index 162e31b..f0e2ff3 100644 > --- a/qt-mobile/qml/DiveDetails.qml > +++ b/qt-mobile/qml/DiveDetails.qml > @@ -22,6 +22,8 @@ MobileComponents.Page { > property alias notes: detailsEdit.notesText > property alias suit: detailsEdit.suitText > property alias weight: detailsEdit.weightText > + property alias startpressure: detailsEdit.startpressureText > + property alias endpressure: detailsEdit.endpressureText > > state: "view" > > @@ -99,6 +101,14 @@ MobileComponents.Page { > // careful when translating, this text is "magic" in > DiveDetailsEdit.qml > weight = "cannot edit multiple weight systems" > } > + if (diveDetailsListView.currentItem.modelData.dive.getCylinder > != "Multiple" ) { > + startpressure = > diveDetailsListView.currentItem.modelData.dive.startPressure > + endpressure = > diveDetailsListView.currentItem.modelData.dive.endPressure > + } else { > + // careful when translating, this text is "magic" in > DiveDetailsEdit.qml > + startpressure = "cannot edit multiple cylinders" > + endpressure = "cannot edit multiple cylinders" > + } > > diveDetailsPage.state = "edit" > } > diff --git a/qt-mobile/qml/DiveDetailsEdit.qml > b/qt-mobile/qml/DiveDetailsEdit.qml > index 90ca304..f6a197d 100644 > --- a/qt-mobile/qml/DiveDetailsEdit.qml > +++ b/qt-mobile/qml/DiveDetailsEdit.qml > @@ -22,6 +22,8 @@ Item { > property alias durationText: txtDuration.text > property alias depthText: txtDepth.text > property alias weightText: txtWeight.text > + property alias startpressureText: txtStartPressure.text > + property alias endpressureText: txtEndPressure.text > > height: editArea.height > ColumnLayout { > @@ -144,6 +146,27 @@ Item { > } > > MobileComponents.Label { > + Layout.alignment: Qt.AlignRight > + text: "Start Pressure:" > + } > + TextField { > + id: txtStartPressure > + readOnly: (text == "cannot edit multiple > cylinders" ? true : false) > + Layout.fillWidth: true > + } > + > + MobileComponents.Label { > + Layout.alignment: Qt.AlignRight > + text: "End Pressure:" > + } > + TextField { > + id: txtEndPressure > + readOnly: (text == "cannot edit multiple > cylinders" ? true : false) > + Layout.fillWidth: true > + } > + > + > + MobileComponents.Label { > Layout.columnSpan: 2 > Layout.alignment: Qt.AlignLeft > text: "Notes:" > @@ -168,7 +191,8 @@ Item { > // apply the changes to the dive_table > manager.commitChanges(dive_id, > detailsEdit.dateText, detailsEdit.locationText, detailsEdit.gpsText, > detailsEdit.durationText, > detailsEdit.depthText, > detailsEdit.airtempText, detailsEdit.watertempText, detailsEdit.suitText, > - detailsEdit.buddyText, > detailsEdit.divemasterText, detailsEdit.weightText, detailsEdit.notesText) > + detailsEdit.buddyText, > detailsEdit.divemasterText, detailsEdit.weightText, detailsEdit.notesText, > + > detailsEdit.startpressureText, detailsEdit.endpressureText) > // apply the changes to the dive detail view - > since the edit could have changed the order > // first make sure that we are looking at the > correct dive - our model allows us to look > // up the index based on the unique dive_id > diff --git a/qt-mobile/qml/main.qml b/qt-mobile/qml/main.qml > index ee18242..6054b2f 100644 > --- a/qt-mobile/qml/main.qml > +++ b/qt-mobile/qml/main.qml > @@ -71,6 +71,8 @@ MobileComponents.ApplicationWindow { > detailsWindow.duration = "" > detailsWindow.suit = "" > detailsWindow.weight = "" > + detailsWindow.startpressure = "" > + detailsWindow.endpressure = "" > stackView.push(detailsWindow) > } > } > diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp > index 76b4e7a..a73c49f 100644 > --- a/qt-mobile/qmlmanager.cpp > +++ b/qt-mobile/qmlmanager.cpp > @@ -335,7 +335,8 @@ void QMLManager::refreshDiveList() > > // update the dive and return the notes field, stripped of the HTML junk > QString QMLManager::commitChanges(QString diveId, QString date, QString > location, QString gps, QString duration, QString depth, > - QString airtemp, QString watertemp, QString > suit, QString buddy, QString diveMaster, QString weight, QString notes) > + QString airtemp, QString watertemp, QString > suit, QString buddy, QString diveMaster, QString weight, QString notes, > + QString startpressure, QString endpressure) > { > #define DROP_EMPTY_PLACEHOLDER(_s) if ((_s) == QLatin1Literal("--")) > (_s).clear() > > @@ -348,6 +349,8 @@ QString QMLManager::commitChanges(QString diveId, QString > date, QString location > DROP_EMPTY_PLACEHOLDER(buddy); > DROP_EMPTY_PLACEHOLDER(diveMaster); > DROP_EMPTY_PLACEHOLDER(weight); > + DROP_EMPTY_PLACEHOLDER(startpressure); > + DROP_EMPTY_PLACEHOLDER(endpressure); > DROP_EMPTY_PLACEHOLDER(notes); > > #undef DROP_EMPTY_PLACEHOLDER > @@ -489,6 +492,16 @@ QString QMLManager::commitChanges(QString diveId, > QString date, QString location > d->weightsystem[0].weight.grams = > parseWeightToGrams(weight); > } > } > +// start and end pressures for first cylinder only > + if (get_pressure_string(d->cylinder[0].start, true) != startpressure || > get_pressure_string(d->cylinder[0].end, true) != endpressure) { > + diveChanged = true; > + if (startpressure.contains(tr("bar")) || > endpressure.contains(tr("bar"))) > + prefs.units.pressure = units::BAR; > + else if (startpressure.contains(tr("psi")) || > endpressure.contains(tr("psi"))) > + prefs.units.pressure = units::PSI; > + d->cylinder[0].start.mbar = parsePressureToMbar(startpressure); > + d->cylinder[0].end.mbar = parsePressureToMbar(endpressure); > + } > if (!same_string(d->suit, qPrintable(suit))) { > diveChanged = true; > free(d->suit); > diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h > index a29a746..019d0b7 100644 > --- a/qt-mobile/qmlmanager.h > +++ b/qt-mobile/qmlmanager.h > @@ -74,7 +74,8 @@ public slots: > QString commitChanges(QString diveId, QString date, QString location, > QString gps, QString duration, QString depth, > QString airtemp, QString watertemp, QString suit, > - QString buddy, QString diveMaster, QString weight, QString > notes); > + QString buddy, QString diveMaster, QString weight, QString > notes, > + QString startpressure, QString endpressure); > > void saveChanges(); > QString addDive(); > -- > 2.4.9 (Apple Git-60) > Fix a typo.
/Jocke
_______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
