File indexing completed on 2024-05-19 05:54:12
0001 /* This file was part of the KDE libraries 0002 0003 SPDX-FileCopyrightText: 2021 Tomaz Canabrava <tcanabrava@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "sshmanagerfiltermodel.h" 0009 0010 SSHManagerFilterModel::SSHManagerFilterModel(QObject *parent) 0011 : QSortFilterProxyModel(parent) 0012 { 0013 } 0014 0015 bool SSHManagerFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const 0016 { 0017 auto text = filterRegularExpression().pattern(); 0018 if (text.isEmpty()) { 0019 return true; 0020 } 0021 0022 const QModelIndex idx = sourceModel()->index(sourceRow, 0, sourceParent); 0023 if (sourceModel()->rowCount(idx) != 0) { 0024 return true; 0025 } 0026 0027 bool result = idx.data(Qt::DisplayRole).toString().toLower().contains(text.toLower()); 0028 0029 return m_invertFilter == false ? result : !result; 0030 } 0031 0032 void SSHManagerFilterModel::setInvertFilter(bool invert) 0033 { 0034 m_invertFilter = invert; 0035 invalidateFilter(); 0036 } 0037 0038 #include "moc_sshmanagerfiltermodel.cpp"