From d5197e45969738b25df7747754be3806e167d678 Mon Sep 17 00:00:00 2001 From: Dominik Holland Date: Mon, 12 Feb 2018 13:58:04 +0100 Subject: Fix signal emission bug in QIviSerchAndBrowseModel The availableContentTypesChanged signal is now emitted whenever it is changed from within the backend. Change-Id: Ia0867d7fbccce5695cd892c800f09002aeea737f Reviewed-by: Robert Griebl --- src/ivicore/qivisearchandbrowsemodel.cpp | 12 +++++++++++- src/ivicore/qivisearchandbrowsemodel_p.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ivicore/qivisearchandbrowsemodel.cpp b/src/ivicore/qivisearchandbrowsemodel.cpp index d902a4f..608598f 100644 --- a/src/ivicore/qivisearchandbrowsemodel.cpp +++ b/src/ivicore/qivisearchandbrowsemodel.cpp @@ -213,7 +213,7 @@ void QIviSearchAndBrowseModelPrivate::resetModel() m_fetchedDataCount = 0; if (searchBackend()) - m_availableContentTypes = searchBackend()->availableContentTypes().toList(); + setAvailableContenTypes(searchBackend()->availableContentTypes().toList()); checkType(); parseQuery(); @@ -292,6 +292,16 @@ void QIviSearchAndBrowseModelPrivate::setCanGoBack(bool canGoBack) emit q->canGoBackChanged(m_canGoBack); } +void QIviSearchAndBrowseModelPrivate::setAvailableContenTypes(QStringList contentTypes) +{ + Q_Q(QIviSearchAndBrowseModel); + if (m_availableContentTypes == contentTypes) + return; + + m_availableContentTypes = contentTypes; + emit q->availableContentTypesChanged(contentTypes); +} + const QIviSearchAndBrowseModelItem *QIviSearchAndBrowseModelPrivate::itemAt(int i) const { const QVariant &var = m_itemList.at(i); diff --git a/src/ivicore/qivisearchandbrowsemodel_p.h b/src/ivicore/qivisearchandbrowsemodel_p.h index f38e6cd..7f34c24 100644 --- a/src/ivicore/qivisearchandbrowsemodel_p.h +++ b/src/ivicore/qivisearchandbrowsemodel_p.h @@ -83,6 +83,7 @@ public: void checkType(); void clearToDefaults(); void setCanGoBack(bool canGoBack); + void setAvailableContenTypes(QStringList contentTypes); const QIviSearchAndBrowseModelItem *itemAt(int i) const; QIviSearchAndBrowseModelInterface *searchBackend() const; -- cgit v1.2.1