diff options
author | jbygdell <j.bygdell@gmail.com> | 2017-01-29 17:32:13 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-01-29 14:55:33 -0800 |
commit | 0e57033042fea482225f88074ad1778bdf8c6fd8 (patch) | |
tree | d287f0b430bacf5a74cd40886ff6f9d0615863fd | |
parent | f5a48385192606fd6a0b68f26d3cc10b8376c576 (diff) | |
download | subsurface-0e57033042fea482225f88074ad1778bdf8c6fd8.tar.gz |
QML UI: Parse multiple buddies when editing a dive
This allows the user to enter multiple buddies as a comma separated list,
the "Multiple Buddies" entry is still a special case as we can only populate
the combobox with a single name for each entry.
fixes #168
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
-rw-r--r-- | mobile-widgets/qml/DiveDetailsEdit.qml | 2 | ||||
-rw-r--r-- | mobile-widgets/qmlmanager.cpp | 11 |
2 files changed, 5 insertions, 8 deletions
diff --git a/mobile-widgets/qml/DiveDetailsEdit.qml b/mobile-widgets/qml/DiveDetailsEdit.qml index d6c83d97c..6ab2978f0 100644 --- a/mobile-widgets/qml/DiveDetailsEdit.qml +++ b/mobile-widgets/qml/DiveDetailsEdit.qml @@ -177,7 +177,7 @@ Item { } ComboBox { id: buddyBox - editable: currentText != qsTr("Multiple Buddies") + editable: true model: diveDetailsListView.currentItem.modelData.dive.buddyList inputMethodHints: Qt.ImhNoPredictiveText Layout.fillWidth: true diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp index 84d3e0add..31936b6ee 100644 --- a/mobile-widgets/qmlmanager.cpp +++ b/mobile-widgets/qmlmanager.cpp @@ -869,13 +869,10 @@ void QMLManager::commitChanges(QString diveId, QString date, QString location, Q d->suit = strdup(qPrintable(suit)); } if (myDive->buddy() != buddy) { - if (myDive->buddy().contains(",")) { - if (!buddy.contains(tr("Multiple Buddies"))) { - diveChanged = true; - free(d->buddy); - d->buddy = strdup(qPrintable(buddy)); - } - } else { + if (buddy.contains(",")){ + buddy = buddy.replace(QRegExp("\\s*,\\s*"), ", "); + } + if (!buddy.contains("Multiple Buddies")) { diveChanged = true; free(d->buddy); d->buddy = strdup(qPrintable(buddy)); |