KWin
Loading...
Searching...
No Matches
src
kcms
effects
effectsfilterproxymodel.cpp
Go to the documentation of this file.
1
/*
2
SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4
SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#include "
effectsfilterproxymodel.h
"
8
9
#include "
effectsmodel.h
"
10
11
namespace
KWin
12
{
13
14
EffectsFilterProxyModel::EffectsFilterProxyModel
(QObject *parent)
15
: QSortFilterProxyModel(parent)
16
{
17
}
18
19
EffectsFilterProxyModel::~EffectsFilterProxyModel
()
20
{
21
}
22
23
QString
EffectsFilterProxyModel::query
()
const
24
{
25
return
m_query;
26
}
27
28
void
EffectsFilterProxyModel::setQuery
(
const
QString &query)
29
{
30
if
(m_query !=
query
) {
31
m_query =
query
;
32
Q_EMIT
queryChanged
();
33
invalidateFilter();
34
}
35
}
36
37
bool
EffectsFilterProxyModel::excludeInternal
()
const
38
{
39
return
m_excludeInternal;
40
}
41
42
void
EffectsFilterProxyModel::setExcludeInternal
(
bool
exclude)
43
{
44
if
(m_excludeInternal != exclude) {
45
m_excludeInternal = exclude;
46
Q_EMIT
excludeInternalChanged
();
47
invalidateFilter();
48
}
49
}
50
51
bool
EffectsFilterProxyModel::excludeUnsupported
()
const
52
{
53
return
m_excludeUnsupported;
54
}
55
56
void
EffectsFilterProxyModel::setExcludeUnsupported
(
bool
exclude)
57
{
58
if
(m_excludeUnsupported != exclude) {
59
m_excludeUnsupported = exclude;
60
Q_EMIT
excludeUnsupportedChanged
();
61
invalidateFilter();
62
}
63
}
64
65
bool
EffectsFilterProxyModel::filterAcceptsRow
(
int
sourceRow,
const
QModelIndex &sourceParent)
const
66
{
67
const
QModelIndex idx =
sourceModel
()->index(sourceRow, 0, sourceParent);
68
69
if
(!m_query.isEmpty()) {
70
const
bool
matches = idx.data(
EffectsModel::NameRole
).toString().contains(m_query, Qt::CaseInsensitive) || idx.data(
EffectsModel::DescriptionRole
).toString().contains(m_query, Qt::CaseInsensitive) || idx.data(
EffectsModel::CategoryRole
).toString().contains(m_query, Qt::CaseInsensitive);
71
if
(!matches) {
72
return
false
;
73
}
74
}
75
76
if
(m_excludeInternal) {
77
if
(idx.data(
EffectsModel::InternalRole
).toBool()) {
78
return
false
;
79
}
80
}
81
82
if
(m_excludeUnsupported) {
83
if
(!idx.data(
EffectsModel::SupportedRole
).toBool()) {
84
return
false
;
85
}
86
}
87
88
return
true
;
89
}
90
91
}
// namespace KWin
92
93
#include "moc_effectsfilterproxymodel.cpp"
KWin::EffectsFilterProxyModel::excludeUnsupported
bool excludeUnsupported
Definition
effectsfilterproxymodel.h:20
KWin::EffectsFilterProxyModel::filterAcceptsRow
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override
Definition
effectsfilterproxymodel.cpp:65
KWin::EffectsFilterProxyModel::~EffectsFilterProxyModel
~EffectsFilterProxyModel() override
Definition
effectsfilterproxymodel.cpp:19
KWin::EffectsFilterProxyModel::sourceModel
QAbstractItemModel * sourceModel
Definition
effectsfilterproxymodel.h:17
KWin::EffectsFilterProxyModel::excludeUnsupportedChanged
void excludeUnsupportedChanged()
KWin::EffectsFilterProxyModel::setQuery
void setQuery(const QString &query)
Definition
effectsfilterproxymodel.cpp:28
KWin::EffectsFilterProxyModel::setExcludeUnsupported
void setExcludeUnsupported(bool exclude)
Definition
effectsfilterproxymodel.cpp:56
KWin::EffectsFilterProxyModel::queryChanged
void queryChanged()
KWin::EffectsFilterProxyModel::setExcludeInternal
void setExcludeInternal(bool exclude)
Definition
effectsfilterproxymodel.cpp:42
KWin::EffectsFilterProxyModel::excludeInternal
bool excludeInternal
Definition
effectsfilterproxymodel.h:19
KWin::EffectsFilterProxyModel::excludeInternalChanged
void excludeInternalChanged()
KWin::EffectsFilterProxyModel::query
QString query
Definition
effectsfilterproxymodel.h:18
KWin::EffectsFilterProxyModel::EffectsFilterProxyModel
EffectsFilterProxyModel(QObject *parent=nullptr)
Definition
effectsfilterproxymodel.cpp:14
KWin::EffectsModel::NameRole
@ NameRole
Definition
effectsmodel.h:37
KWin::EffectsModel::SupportedRole
@ SupportedRole
Definition
effectsmodel.h:87
KWin::EffectsModel::CategoryRole
@ CategoryRole
Definition
effectsmodel.h:63
KWin::EffectsModel::DescriptionRole
@ DescriptionRole
Definition
effectsmodel.h:41
KWin::EffectsModel::InternalRole
@ InternalRole
Definition
effectsmodel.h:95
effectsfilterproxymodel.h
effectsmodel.h
KWin
Definition
activation_test.cpp:20
Generated on Sat Feb 17 2024 01:42:09 for KWin by
1.10.0