diff options
-rw-r--r-- | qt-models/divelocationmodel.cpp | 1 | ||||
-rw-r--r-- | qt-models/divelocationmodel.h | 1 | ||||
-rw-r--r-- | qt-ui/maintab.cpp | 3 |
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); } |