diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-05-28 00:19:22 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-09-29 16:13:03 -0700 |
commit | 51959d0feb9fa560f388b4f1204f5028fb80f70d (patch) | |
tree | 5c885fc580fcdf62874a21e0ff00c0eca6330bc1 /qt-models | |
parent | 581eb1f563df9e7fa72371d936521e0bd55d9f18 (diff) | |
download | subsurface-51959d0feb9fa560f388b4f1204f5028fb80f70d.tar.gz |
filter: connect DiveListNotifier signals to filter preset model
Thus, the model is kept up to date if filter presets are changed
by undo commands.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'qt-models')
-rw-r--r-- | qt-models/filterpresetmodel.cpp | 21 | ||||
-rw-r--r-- | qt-models/filterpresetmodel.h | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/qt-models/filterpresetmodel.cpp b/qt-models/filterpresetmodel.cpp index 446dd5e16..3853b4c34 100644 --- a/qt-models/filterpresetmodel.cpp +++ b/qt-models/filterpresetmodel.cpp @@ -9,6 +9,9 @@ FilterPresetModel::FilterPresetModel() { setHeaderDataStrings(QStringList{ "", tr("Name") }); connect(&diveListNotifier, &DiveListNotifier::dataReset, this, &FilterPresetModel::reset); + connect(&diveListNotifier, &DiveListNotifier::filterPresetAdded, this, &FilterPresetModel::filterPresetAdded); + connect(&diveListNotifier, &DiveListNotifier::filterPresetRemoved, this, &FilterPresetModel::filterPresetRemoved); + connect(&diveListNotifier, &DiveListNotifier::filterPresetChanged, this, &FilterPresetModel::filterPresetChanged); } FilterPresetModel::~FilterPresetModel() @@ -57,3 +60,21 @@ void FilterPresetModel::reset() beginResetModel(); endResetModel(); } + +void FilterPresetModel::filterPresetAdded(int index) +{ + beginInsertRows(QModelIndex(), index, index); + endInsertRows(); +} + +void FilterPresetModel::filterPresetChanged(int i) +{ + QModelIndex idx = index(i, 0); + dataChanged(idx, idx); +} + +void FilterPresetModel::filterPresetRemoved(int index) +{ + beginRemoveRows(QModelIndex(), index, index); + endRemoveRows(); +} diff --git a/qt-models/filterpresetmodel.h b/qt-models/filterpresetmodel.h index 26543666a..2c04456e0 100644 --- a/qt-models/filterpresetmodel.h +++ b/qt-models/filterpresetmodel.h @@ -16,6 +16,9 @@ public: private slots: void reset(); + void filterPresetAdded(int index); + void filterPresetChanged(int index); + void filterPresetRemoved(int index); public: // there is one global filter preset list, therefore this model is a singleton static FilterPresetModel *instance(); |