Mobile: allow editing dive number

No checks regarding duplicate numbers - we trust the user knows what
they are doing.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2019-10-20 20:13:59 -04:00
parent 158a2ec159
commit e6298f9352
4 changed files with 20 additions and 8 deletions

View file

@ -1,3 +1,4 @@
Mobile: add support for editing the dive number of a dive
Export: when exporting dive sites in dive site mode, export selected dive sites [#2275]
Mobile: fix several bugs in the handling of incorrect or unverified cloud credentials
Mobile: try to adjust the UI for cases with large default font relative to screen size

View file

@ -9,7 +9,7 @@ import org.kde.kirigami 2.4 as Kirigami
Item {
id: detailsEdit
property int dive_id
property int number
property alias number: txtNumber.text
property alias dateText: txtDate.text
property alias locationText: locationBox.editText
property alias locationIndex: locationBox.currentIndex
@ -108,7 +108,7 @@ Item {
}
// apply the changes to the dive_table
manager.commitChanges(dive_id, detailsEdit.dateText, locationBox.editText, detailsEdit.gpsText, detailsEdit.durationText,
manager.commitChanges(dive_id, detailsEdit.number, detailsEdit.dateText, locationBox.editText, detailsEdit.gpsText, detailsEdit.durationText,
detailsEdit.depthText, detailsEdit.airtempText, detailsEdit.watertempText,
suitBox.editText, buddyBox.editText, divemasterBox.editText,
detailsEdit.weightText, detailsEdit.notesText, startpressure,
@ -152,11 +152,18 @@ Item {
id: editorDetails
width: parent.width
columns: 2
Kirigami.Heading {
Layout.columnSpan: 2
text: qsTr("Dive %1").arg(number)
Controls.Label {
Layout.alignment: Qt.AlignRight
text: qsTr("Dive number:")
font.pointSize: subsurfaceTheme.smallPointSize
color: subsurfaceTheme.textColor
}
SsrfTextField {
id: txtNumber;
Layout.fillWidth: true
flickable: detailsEditFlickable
}
Controls.Label {
Layout.alignment: Qt.AlignRight
text: qsTr("Date:")

View file

@ -1060,7 +1060,7 @@ bool QMLManager::checkDepth(const DiveObjectHelper &myDive, dive *d, QString dep
}
// update the dive and return the notes field, stripped of the HTML junk
void QMLManager::commitChanges(QString diveId, QString date, QString location, QString gps, QString duration, QString depth,
void QMLManager::commitChanges(QString diveId, QString number, QString date, QString location, QString gps, QString duration, QString depth,
QString airtemp, QString watertemp, QString suit, QString buddy, QString diveMaster, QString weight, QString notes,
QStringList startpressure, QStringList endpressure, QStringList gasmix, QStringList usedCylinder, int rating, int visibility, QString state)
{
@ -1089,6 +1089,10 @@ void QMLManager::commitChanges(QString diveId, QString date, QString location, Q
diveChanged |= checkDepth(myDive, d, depth);
if (QString::number(myDive.number) != number) {
diveChanged = true;
d->number = number.toInt();
}
if (myDive.airTemp != airtemp) {
diveChanged = true;
d->airtemp.mkelvin = parseTemperatureToMkelvin(airtemp);

View file

@ -155,7 +155,7 @@ public slots:
void retrieveUserid();
void loadDivesWithValidCredentials();
void provideAuth(QNetworkReply *reply, QAuthenticator *auth);
void commitChanges(QString diveId, QString date, QString location, QString gps,
void commitChanges(QString diveId, QString number, QString date, QString location, QString gps,
QString duration, QString depth, QString airtemp,
QString watertemp, QString suit, QString buddy,
QString diveMaster, QString weight, QString notes, QStringList startpressure,