[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [discover/Plasma/5.14] /: Make sure we filter properly the missing backends
From: Aleix Pol <null () kde ! org>
Date: 2018-09-28 14:32:39
Message-ID: E1g5tot-0006ip-6T () code ! kde ! org
[Download RAW message or body]
Git commit c4b66645d7afee09cee084a1230e2b058c375e7a by Aleix Pol.
Committed on 28/09/2018 at 14:30.
Pushed by apol into branch 'Plasma/5.14'.
Make sure we filter properly the missing backends
Do it from the model rather than the delegate
M +1 -0 discover/qml/SourcesPage.qml
M +1 -1 libdiscover/resources/AbstractResourcesBackend.cpp
M +1 -0 libdiscover/resources/AbstractResourcesBackend.h
M +14 -0 libdiscover/resources/ResourcesProxyModel.cpp
M +4 -0 libdiscover/resources/ResourcesProxyModel.h
https://commits.kde.org/discover/c4b66645d7afee09cee084a1230e2b058c375e7a
diff --git a/discover/qml/SourcesPage.qml b/discover/qml/SourcesPage.qml
index 881184cf..2a3b709e 100644
--- a/discover/qml/SourcesPage.qml
+++ b/discover/qml/SourcesPage.qml
@@ -242,6 +242,7 @@ DiscoverPage {
id: back
model: ResourcesProxyModel {
extending: "org.kde.discover.desktop"
+ filterMinimumState: false
}
delegate: Kirigami.BasicListItem {
supportsMouseEvents: false
diff --git a/libdiscover/resources/AbstractResourcesBackend.cpp \
b/libdiscover/resources/AbstractResourcesBackend.cpp index 500e8b95..a5add762 100644
--- a/libdiscover/resources/AbstractResourcesBackend.cpp
+++ b/libdiscover/resources/AbstractResourcesBackend.cpp
@@ -109,7 +109,7 @@ bool \
AbstractResourcesBackend::Filters::shouldFilter(AbstractResource* res) cons return \
false; }
- if(res->state() < state)
+ if(filterMinimumState ? res->state() < state : res->state() == state)
return false;
if(!mimetype.isEmpty() && !res->mimetypes().contains(mimetype)) {
diff --git a/libdiscover/resources/AbstractResourcesBackend.h \
b/libdiscover/resources/AbstractResourcesBackend.h index 48ddffd1..a2c2cea8 100644
--- a/libdiscover/resources/AbstractResourcesBackend.h
+++ b/libdiscover/resources/AbstractResourcesBackend.h
@@ -100,6 +100,7 @@ class DISCOVERCOMMON_EXPORT AbstractResourcesBackend : public \
QObject QUrl resourceUrl;
QString origin;
bool allBackends = false;
+ bool filterMinimumState = true;
bool isEmpty() const { return !category && state == \
AbstractResource::Broken && mimetype.isEmpty() && search.isEmpty() && \
extends.isEmpty() && resourceUrl.isEmpty() && origin.isEmpty(); }
diff --git a/libdiscover/resources/ResourcesProxyModel.cpp \
b/libdiscover/resources/ResourcesProxyModel.cpp index a1d2d2db..6d760933 100644
--- a/libdiscover/resources/ResourcesProxyModel.cpp
+++ b/libdiscover/resources/ResourcesProxyModel.cpp
@@ -359,6 +359,20 @@ void ResourcesProxyModel::setExtends(const QString& extends)
}
}
+void ResourcesProxyModel::setFilterMinimumState(bool filterMinimumState)
+{
+ if (filterMinimumState != m_filters.filterMinimumState) {
+ m_filters.filterMinimumState = filterMinimumState;
+ invalidateFilter();
+ Q_EMIT filterMinimumStateChanged(m_filters.filterMinimumState);
+ }
+}
+
+bool ResourcesProxyModel::filterMinimumState() const
+{
+ return m_filters.filterMinimumState;
+}
+
QUrl ResourcesProxyModel::resourcesUrl() const
{
return m_filters.resourceUrl;
diff --git a/libdiscover/resources/ResourcesProxyModel.h \
b/libdiscover/resources/ResourcesProxyModel.h index 9a6872f2..758e990f 100644
--- a/libdiscover/resources/ResourcesProxyModel.h
+++ b/libdiscover/resources/ResourcesProxyModel.h
@@ -45,6 +45,7 @@ class DISCOVERCOMMON_EXPORT ResourcesProxyModel : public \
QAbstractListModel, pub
Q_PROPERTY(Category* filteredCategory READ filteredCategory WRITE \
setFiltersFromCategory NOTIFY categoryChanged)
Q_PROPERTY(QString originFilter READ originFilter WRITE setOriginFilter)
Q_PROPERTY(AbstractResource::State stateFilter READ stateFilter WRITE \
setStateFilter NOTIFY stateFilterChanged) + Q_PROPERTY(bool filterMinimumState \
READ filterMinimumState WRITE setFilterMinimumState NOTIFY \
filterMinimumStateChanged)
Q_PROPERTY(QString mimeTypeFilter READ mimeTypeFilter WRITE setMimeTypeFilter)
Q_PROPERTY(QString search READ lastSearch WRITE setSearch NOTIFY searchChanged)
Q_PROPERTY(QUrl resourcesUrl READ resourcesUrl WRITE setResourcesUrl NOTIFY \
resourcesUrlChanged) @@ -95,6 +96,8 @@ public:
Roles sortRole() const { return m_sortRole; }
void setSortOrder(Qt::SortOrder sortOrder);
Qt::SortOrder sortOrder() const { return m_sortOrder; }
+ void setFilterMinimumState(bool filterMinimumState);
+ bool filterMinimumState() const;
Category* filteredCategory() const;
@@ -164,6 +167,7 @@ Q_SIGNALS:
void subcategoriesChanged(const QVariantList &subcategories);
void resourcesUrlChanged(const QUrl &url);
void countChanged();
+ void filterMinimumStateChanged(bool filterMinimumState);
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic