summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/subsurface-qt/DiveObjectHelper.cpp1
-rw-r--r--mobile-widgets/qml/DiveDetails.qml6
-rw-r--r--mobile-widgets/qmlmanager.cpp14
3 files changed, 17 insertions, 4 deletions
diff --git a/core/subsurface-qt/DiveObjectHelper.cpp b/core/subsurface-qt/DiveObjectHelper.cpp
index 37f954cb7..246e4510b 100644
--- a/core/subsurface-qt/DiveObjectHelper.cpp
+++ b/core/subsurface-qt/DiveObjectHelper.cpp
@@ -425,6 +425,7 @@ QStringList DiveObjectHelper::buddyList() const
QRegExp sep("(,\\s)");
QStringList tempList = temp.split(sep);
buddies << tempList;
+ buddies << "Multiple Buddies";
}
}
buddies.removeDuplicates();
diff --git a/mobile-widgets/qml/DiveDetails.qml b/mobile-widgets/qml/DiveDetails.qml
index 7f6ca81a0..be342886d 100644
--- a/mobile-widgets/qml/DiveDetails.qml
+++ b/mobile-widgets/qml/DiveDetails.qml
@@ -156,7 +156,11 @@ Kirigami.Page {
airtemp = diveDetailsListView.currentItem.modelData.dive.airTemp
watertemp = diveDetailsListView.currentItem.modelData.dive.waterTemp
suitIndex = diveDetailsListView.currentItem.modelData.dive.suitList.indexOf(diveDetailsListView.currentItem.modelData.dive.suit)
- buddyIndex = diveDetailsListView.currentItem.modelData.dive.buddyList.indexOf(diveDetailsListView.currentItem.modelData.dive.buddy)
+ if (diveDetailsListView.currentItem.modelData.dive.buddy.search(",")) {
+ buddyIndex = diveDetailsListView.currentItem.modelData.dive.buddyList.indexOf("Multiple Buddies");
+ } else {
+ buddyIndex = diveDetailsListView.currentItem.modelData.dive.buddyList.indexOf(diveDetailsListView.currentItem.modelData.dive.buddy)
+ }
divemasterIndex = diveDetailsListView.currentItem.modelData.dive.divemasterList.indexOf(diveDetailsListView.currentItem.modelData.dive.divemaster)
notes = diveDetailsListView.currentItem.modelData.dive.notes
if (diveDetailsListView.currentItem.modelData.dive.singleWeight) {
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 9de5ac1c8..1b9aebe10 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -869,9 +869,17 @@ void QMLManager::commitChanges(QString diveId, QString date, QString location, Q
d->suit = strdup(qPrintable(suit));
}
if (myDive->buddy() != buddy) {
- diveChanged = true;
- free(d->buddy);
- d->buddy = strdup(qPrintable(buddy));
+ if (myDive->buddy().contains(",")) {
+ if (!buddy.contains("Multiple Buddies")) {
+ diveChanged = true;
+ free(d->buddy);
+ d->buddy = strdup(qPrintable(buddy));
+ }
+ } else {
+ diveChanged = true;
+ free(d->buddy);
+ d->buddy = strdup(qPrintable(buddy));
+ }
}
if (myDive->divemaster() != diveMaster) {
diveChanged = true;