File indexing completed on 2024-05-12 05:10:48

0001 /*
0002     SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB,
0003         a KDAB Group company, info@kdab.net,
0004     SPDX-FileContributor: Bertjan Broeksema <broeksema@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-or-later
0007 */
0008 
0009 #include "kcolumnfilterproxymodel_p.h"
0010 
0011 #include <QList>
0012 
0013 using namespace Akonadi;
0014 
0015 KColumnFilterProxyModel::KColumnFilterProxyModel(QObject *parent)
0016     : QSortFilterProxyModel(parent)
0017 {
0018 }
0019 
0020 KColumnFilterProxyModel::~KColumnFilterProxyModel() = default;
0021 
0022 QList<int> KColumnFilterProxyModel::visbileColumns() const
0023 {
0024     return m_visibleColumns;
0025 }
0026 
0027 void KColumnFilterProxyModel::setVisibleColumn(int column)
0028 {
0029     setVisibleColumns(QList<int>() << column);
0030 }
0031 
0032 void KColumnFilterProxyModel::setVisibleColumns(const QList<int> &visibleColumns)
0033 {
0034     m_visibleColumns = visibleColumns;
0035     invalidateFilter();
0036 }
0037 
0038 bool KColumnFilterProxyModel::filterAcceptsColumn(int column, const QModelIndex &parent) const
0039 {
0040     if (!m_visibleColumns.isEmpty() && !m_visibleColumns.contains(column)) {
0041         // We only filter columns out when m_visibleColumns actually contains values.
0042         return false;
0043     }
0044 
0045     return QSortFilterProxyModel::filterAcceptsColumn(column, parent);
0046 }
0047 
0048 #include "moc_kcolumnfilterproxymodel_p.cpp"