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 }