Warning, file /network/ruqola/src/core/model/usercompleterfilterproxymodel.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: 2018-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "usercompleterfilterproxymodel.h" 0008 #include "usercompletermodel.h" 0009 0010 UserCompleterFilterProxyModel::UserCompleterFilterProxyModel(QObject *parent) 0011 : QSortFilterProxyModel(parent) 0012 { 0013 setFilterCaseSensitivity(Qt::CaseInsensitive); 0014 setFilterRole(UserCompleterModel::UserName); 0015 sort(0); 0016 } 0017 0018 UserCompleterFilterProxyModel::~UserCompleterFilterProxyModel() = default; 0019 0020 void UserCompleterFilterProxyModel::clear() 0021 { 0022 static_cast<UserCompleterModel *>(sourceModel())->clear(); 0023 } 0024 0025 bool UserCompleterFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const 0026 { 0027 if (!sourceModel()) { 0028 return false; 0029 } 0030 if (left.isValid() && right.isValid()) { 0031 const QString leftString = sourceModel()->data(left, UserCompleterModel::UserName).toString(); 0032 const QString rightString = sourceModel()->data(right, UserCompleterModel::UserName).toString(); 0033 return QString::localeAwareCompare(leftString, rightString) < 0; 0034 } else { 0035 return false; 0036 } 0037 } 0038 0039 #include "moc_usercompleterfilterproxymodel.cpp"