From 0ccc0f04bb960ac00fa6175130125c8eed752072 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Mon, 13 Apr 2020 23:04:30 +0200 Subject: dive sites: properly reload dive site model on desktop In 9310d72943390f95d6742c2d5b40f025a40b4008, resetting of the dive sites was moved to DiveTripModelBase::reset(). This seemed like a good idea, because it means that the location list is reloaded every time the dive list is reset. Unfortunately that function is only used on mobile, thus on desktop the dive site model is not updated. Do that in MultiFilterSortModel::resetModel(), because this is always called when the dive list is reset. Desktop differs from mobile in that two different models are used depending on whether we are in list or in tree mode. Fixes #2749 Signed-off-by: Berthold Stoeger --- qt-models/divetripmodel.cpp | 1 + qt-models/filtermodels.cpp | 2 ++ 2 files changed, 3 insertions(+) (limited to 'qt-models') diff --git a/qt-models/divetripmodel.cpp b/qt-models/divetripmodel.cpp index 174e5af54..784013bce 100644 --- a/qt-models/divetripmodel.cpp +++ b/qt-models/divetripmodel.cpp @@ -490,6 +490,7 @@ void DiveTripModelBase::clear() emit diveListNotifier.numShownChanged(); } +// Currently only used by the mobile models void DiveTripModelBase::reset() { beginResetModel(); diff --git a/qt-models/filtermodels.cpp b/qt-models/filtermodels.cpp index 2d081e6e6..9b2ab6a7b 100644 --- a/qt-models/filtermodels.cpp +++ b/qt-models/filtermodels.cpp @@ -6,6 +6,7 @@ #include "core/subsurface-string.h" #include "core/subsurface-qt/divelistnotifier.h" #include "qt-models/divetripmodel.h" +#include "qt-models/divelocationmodel.h" MultiFilterSortModel *MultiFilterSortModel::instance() { @@ -29,6 +30,7 @@ void MultiFilterSortModel::resetModel(DiveTripModelBase::Layout layout) connect(model.get(), &DiveTripModelBase::selectionChanged, this, &MultiFilterSortModel::selectionChangedSlot); connect(model.get(), &DiveTripModelBase::currentDiveChanged, this, &MultiFilterSortModel::currentDiveChangedSlot); model->initSelection(); + LocationInformationModel::instance()->update(); } void MultiFilterSortModel::clear() -- cgit v1.2.3-70-g09d2