MailTransport

transportsortproxymodel.cpp
1/*
2 SPDX-FileCopyrightText: 2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#include "transportsortproxymodel.h"
8#include "transportactivitiesabstract.h"
9#include "transportmodel.h"
10
11using namespace MailTransport;
12TransportSortProxyModel::TransportSortProxyModel(QObject *parent)
13 : QSortFilterProxyModel{parent}
14{
15}
16
17TransportSortProxyModel::~TransportSortProxyModel() = default;
18
19bool TransportSortProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
20{
21 if (mTransportActivitiesAbstract) {
22 const auto activities = sourceModel()->index(source_row, 0).data(TransportModel::ActivitiesRole).toStringList();
23 return mTransportActivitiesAbstract->filterAcceptsRow(activities);
24 }
25 return QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent);
26}
27
28TransportActivitiesAbstract *TransportSortProxyModel::transportActivitiesAbstract() const
29{
30 return mTransportActivitiesAbstract;
31}
32
33void TransportSortProxyModel::setTransportActivitiesAbstract(TransportActivitiesAbstract *newTransportActivitiesAbstract)
34{
35 if (mTransportActivitiesAbstract != newTransportActivitiesAbstract) {
36 mTransportActivitiesAbstract = newTransportActivitiesAbstract;
37 connect(mTransportActivitiesAbstract, &TransportActivitiesAbstract::activitiesChanged, this, &TransportSortProxyModel::invalidateFilter);
39 }
40}
41
42#include "moc_transportsortproxymodel.cpp"
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Jul 26 2024 11:56:31 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.