File indexing completed on 2025-03-09 04:54:30
0001 /* 0002 SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "dkimmanagerkeyproxymodel.h" 0008 #include "dkimmanagerkeymodel.h" 0009 using namespace MessageViewer; 0010 DKIMManagerKeyProxyModel::DKIMManagerKeyProxyModel(QObject *parent) 0011 : QSortFilterProxyModel{parent} 0012 { 0013 } 0014 0015 DKIMManagerKeyProxyModel::~DKIMManagerKeyProxyModel() = default; 0016 0017 bool DKIMManagerKeyProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const 0018 { 0019 // const auto leftData = source_left.data(MessageViewer::DKIMManagerKeyModel::StoredAtDateTimeRole).value<Akonadi::Collection>(); 0020 // const auto rightData = source_right.data(MessageViewer::DKIMManagerKeyModel::StoredAtDateTimeRole).value<Akonadi::Collection>(); 0021 return QSortFilterProxyModel::lessThan(source_left, source_right); 0022 } 0023 0024 bool DKIMManagerKeyProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const 0025 { 0026 if (mFilterText.isEmpty()) { 0027 return true; 0028 } 0029 if (sourceModel()->index(source_row, MessageViewer::DKIMManagerKeyModel::DomainRole, source_parent).data().toString().contains(mFilterText) 0030 || sourceModel()->index(source_row, MessageViewer::DKIMManagerKeyModel::SelectorRole, source_parent).data().toString().contains(mFilterText) 0031 || sourceModel()->index(source_row, MessageViewer::DKIMManagerKeyModel::KeyRole, source_parent).data().toString().contains(mFilterText)) { 0032 return true; 0033 } 0034 return false; 0035 } 0036 0037 QString DKIMManagerKeyProxyModel::filterText() const 0038 { 0039 return mFilterText; 0040 } 0041 0042 void DKIMManagerKeyProxyModel::setFilterText(const QString &newFilterText) 0043 { 0044 if (mFilterText != newFilterText) { 0045 mFilterText = newFilterText; 0046 invalidateFilter(); 0047 } 0048 }