File indexing completed on 2024-02-25 16:44:39

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "personalaccesstokeninfosfilterproxymodel.h"
0008 #include "personalaccesstokeninfosmodel.h"
0009 
0010 PersonalAccessTokenInfosFilterProxyModel::PersonalAccessTokenInfosFilterProxyModel(QObject *parent)
0011     : QSortFilterProxyModel(parent)
0012 {
0013     setFilterCaseSensitivity(Qt::CaseInsensitive);
0014     setFilterRole(PersonalAccessTokenInfosModel::Name);
0015     sort(0);
0016 }
0017 
0018 PersonalAccessTokenInfosFilterProxyModel::~PersonalAccessTokenInfosFilterProxyModel() = default;
0019 
0020 void PersonalAccessTokenInfosFilterProxyModel::setFilterString(const QString &string)
0021 {
0022     setFilterFixedString(string);
0023 }
0024 
0025 void PersonalAccessTokenInfosFilterProxyModel::clearFilter()
0026 {
0027     setFilterFixedString(QString());
0028 }
0029 
0030 bool PersonalAccessTokenInfosFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const
0031 {
0032     if (!sourceModel()) {
0033         return false;
0034     }
0035     const int leftColumn{left.column()};
0036     if (leftColumn == PersonalAccessTokenInfosModel::CreateAt) {
0037         const QModelIndex leftMessageModelIndex = sourceModel()->index(left.row(), PersonalAccessTokenInfosModel::CreateAtDateTime);
0038         const QModelIndex rightMessageModelIndex = sourceModel()->index(right.row(), PersonalAccessTokenInfosModel::CreateAtDateTime);
0039         return lessThan(leftMessageModelIndex, rightMessageModelIndex);
0040     }
0041     return QSortFilterProxyModel::lessThan(left, right);
0042 }
0043 
0044 #include "moc_personalaccesstokeninfosfilterproxymodel.cpp"