From 871a25ff578e6a36c001411f517ca4e710b5c152 Mon Sep 17 00:00:00 2001 From: thohartm Date: Tue, 22 May 2012 15:28:00 +0200 Subject: [PATCH] WelcomePage: fix search filter We reduce load on the view by using beginResetModel() and endResetModel() while filtering. Change-Id: Id3caacc78cdba1c81d915dc1cbb40ada5bfda522 Reviewed-by: Alessandro Portale --- src/plugins/qtsupport/exampleslistmodel.cpp | 7 ++++++- src/plugins/qtsupport/exampleslistmodel.h | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index 47fb57bca8a..3b425c6b305 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -484,7 +484,12 @@ ExamplesListModelFilter::ExamplesListModelFilter(ExamplesListModel *sourceModel, void ExamplesListModelFilter::updateFilter() { - invalidateFilter(); + ExamplesListModel *exampleListModel = qobject_cast(sourceModel()); + if (exampleListModel) { + exampleListModel->beginReset(); + invalidateFilter(); + exampleListModel->endReset(); + } } bool containsSubString(const QStringList& list, const QString& substr, Qt::CaseSensitivity cs) diff --git a/src/plugins/qtsupport/exampleslistmodel.h b/src/plugins/qtsupport/exampleslistmodel.h index c56f4b6ed7c..8068f516dc4 100644 --- a/src/plugins/qtsupport/exampleslistmodel.h +++ b/src/plugins/qtsupport/exampleslistmodel.h @@ -79,6 +79,12 @@ public: void ensureInitialized() const; + void beginReset() + { beginResetModel(); } + + void endReset() + { endResetModel(); } + signals: void tagsUpdated();