summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-models/divelocationmodel.cpp1
-rw-r--r--qt-models/divelocationmodel.h1
-rw-r--r--qt-ui/maintab.cpp3
3 files changed, 5 insertions, 0 deletions
diff --git a/qt-models/divelocationmodel.cpp b/qt-models/divelocationmodel.cpp
index 973452b16..164d85d95 100644
--- a/qt-models/divelocationmodel.cpp
+++ b/qt-models/divelocationmodel.cpp
@@ -25,6 +25,7 @@ QVariant LocationInformationModel::data(const QModelIndex &index, int role) cons
switch(role) {
case Qt::DisplayRole : return qPrintable(ds->name);
+ case DIVE_SITE_UUID : return ds->uuid;
}
return QVariant();
diff --git a/qt-models/divelocationmodel.h b/qt-models/divelocationmodel.h
index ee5f3c362..9238c4b5b 100644
--- a/qt-models/divelocationmodel.h
+++ b/qt-models/divelocationmodel.h
@@ -6,6 +6,7 @@
class LocationInformationModel : public QAbstractListModel {
Q_OBJECT
public:
+ enum { DIVE_SITE_UUID = Qt::UserRole+1};
static LocationInformationModel *instance();
int rowCount(const QModelIndex &parent = QModelIndex()) const;
QVariant data(const QModelIndex &index = QModelIndex(), int role = Qt::DisplayRole) const;
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index 01c342ad6..f344b1b82 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -1270,6 +1270,9 @@ void MainTab::on_location_currentTextChanged(const QString &text)
}
if (current_dive && text == QString(get_dive_site_by_uuid(current_dive->dive_site_uuid)->name))
return;
+
+ uint32_t uuid = ui.location->currentData(LocationInformationModel::DIVE_SITE_UUID).toInt();
+ displayed_dive.dive_site_uuid = uuid;
markChangedWidget(ui.location);
}