File indexing completed on 2024-05-12 16:27:18

0001 /*
0002    SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "explorepermissionswidgetfilterproxymodel.h"
0008 #include "config-ruqola.h"
0009 #include "model/permissionsmodel.h"
0010 
0011 #if HAVE_TEXT_UTILS
0012 #include <TextUtils/ConvertText>
0013 #endif
0014 
0015 ExplorePermissionsWidgetFilterProxyModel::ExplorePermissionsWidgetFilterProxyModel(QObject *parent)
0016     : SortFilterProxyModelBase{parent}
0017 {
0018 }
0019 
0020 ExplorePermissionsWidgetFilterProxyModel::~ExplorePermissionsWidgetFilterProxyModel() = default;
0021 
0022 bool ExplorePermissionsWidgetFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
0023 {
0024     if (mFilterString.isEmpty()) {
0025         return true;
0026     }
0027     auto match = [&](int role) {
0028         const QModelIndex modelIndex = sourceModel()->index(source_row, role, source_parent);
0029         return modelIndex.data(0).toString().contains(mFilterString, Qt::CaseInsensitive);
0030     };
0031     if (match(PermissionsModel::RolesStrRole) || match(PermissionsModel::IdentifierRole)) {
0032         return true;
0033     }
0034     return false;
0035 }
0036 
0037 #include "moc_explorepermissionswidgetfilterproxymodel.cpp"