KIdentityManagement

identitytreesortproxymodel.cpp
1// SPDX-FileCopyrightText: 2024 Laurent Montel <montel@kde.org>
2// SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
3
4#include "identitytreesortproxymodel.h"
5#include "identityactivitiesabstract.h"
6#include "identitytreemodel.h"
7using namespace KIdentityManagementCore;
8IdentityTreeSortProxyModel::IdentityTreeSortProxyModel(QObject *parent)
10{
11}
12
13IdentityTreeSortProxyModel::~IdentityTreeSortProxyModel() = default;
14
15bool IdentityTreeSortProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
16{
17 if (mIdentityActivitiesAbstract) {
18 const auto activities = sourceModel()->index(source_row, 0).data(IdentityTreeModel::ActivitiesRole).toStringList();
19 return mIdentityActivitiesAbstract->filterAcceptsRow(activities);
20 }
21 return QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent);
22}
23
24IdentityActivitiesAbstract *IdentityTreeSortProxyModel::identityActivitiesAbstract() const
25{
26 return mIdentityActivitiesAbstract;
27}
28
29void IdentityTreeSortProxyModel::setIdentityActivitiesAbstract(IdentityActivitiesAbstract *newIdentityActivitiesAbstract)
30{
31 if (mIdentityActivitiesAbstract != newIdentityActivitiesAbstract) {
32 mIdentityActivitiesAbstract = newIdentityActivitiesAbstract;
33 connect(mIdentityActivitiesAbstract, &IdentityActivitiesAbstract::activitiesChanged, this, &IdentityTreeSortProxyModel::invalidateFilter);
35 }
36}
37
38#include "moc_identitytreesortproxymodel.cpp"
QVariant data(int role) const const
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const const
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const const override
QStringList toStringList() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 17 2024 11:55:45 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.