diff options
author | Tomaz Canabrava <tomaz.canabrava@gmail.com> | 2015-06-01 22:16:07 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-06-01 21:31:16 -0700 |
commit | a9ba98942ccdacda37fa038fef46c478271aca22 (patch) | |
tree | 992f603753a72262bad8d79dbe3cbc651bfeff28 /qt-models/divelocationmodel.cpp | |
parent | 64753e0682d1fd008d9cdf573e78fe5ea862dcef (diff) | |
download | subsurface-a9ba98942ccdacda37fa038fef46c478271aca22.tar.gz |
Correctly change the dive_site name
Correctly change and update the dive_site, updating the name on the
combobox or other attached views.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-models/divelocationmodel.cpp')
-rw-r--r-- | qt-models/divelocationmodel.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/qt-models/divelocationmodel.cpp b/qt-models/divelocationmodel.cpp index 05d68c27d..d45df349c 100644 --- a/qt-models/divelocationmodel.cpp +++ b/qt-models/divelocationmodel.cpp @@ -60,3 +60,18 @@ int32_t LocationInformationModel::addDiveSite(const QString& name, int lon, int update(); return uuid; } + +bool LocationInformationModel::setData(const QModelIndex &index, const QVariant &value, int role) +{ + if (!index.isValid()) + return false; + + if (role != Qt::EditRole) + return false; + + struct dive_site *ds = get_dive_site(index.row()); + free(ds->name); + ds->name = copy_string(qPrintable(value.toString())); + emit dataChanged(index, index); + return true; +} |