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"