Warning, file /network/ruqola/src/core/model/moderationreportinfofilterproxymodel.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "moderationreportinfofilterproxymodel.h" 0008 #include "config-ruqola.h" 0009 #include "moderationreportinfomodel.h" 0010 0011 #if HAVE_TEXT_UTILS 0012 #include <TextUtils/ConvertText> 0013 #endif 0014 0015 ModerationReportInfoFilterProxyModel::ModerationReportInfoFilterProxyModel(QObject *parent) 0016 : SortFilterProxyModelBase{parent} 0017 { 0018 } 0019 0020 ModerationReportInfoFilterProxyModel::~ModerationReportInfoFilterProxyModel() = default; 0021 0022 bool ModerationReportInfoFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const 0023 { 0024 const QModelIndex modelIndex = sourceModel()->index(source_row, 0, source_parent); 0025 0026 auto match = [&](int role) { 0027 if (mFilterString.isEmpty()) { 0028 return true; 0029 }; 0030 #if HAVE_TEXT_UTILS 0031 const QString str = TextUtils::ConvertText::normalize(modelIndex.data(role).toString()); 0032 return str.contains(mFilterString, Qt::CaseInsensitive); 0033 #else 0034 const QString str = modelIndex.data(role).toString(); 0035 return str.contains(mFilterString, Qt::CaseInsensitive); 0036 #endif 0037 }; 0038 if (!match(ModerationReportInfoModel::Message)) { 0039 return false; 0040 } 0041 return true; 0042 } 0043 0044 #include "moc_moderationreportinfofilterproxymodel.cpp"