File indexing completed on 2024-05-12 05:02:04
0001 /* 0002 SPDX-FileCopyrightText: 2021-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "channelcompleterfilterproxymodel.h" 0008 #include "inputcompletermodel.h" 0009 0010 ChannelCompleterFilterProxyModel::ChannelCompleterFilterProxyModel(QObject *parent) 0011 : QSortFilterProxyModel(parent) 0012 { 0013 setFilterCaseSensitivity(Qt::CaseInsensitive); 0014 setFilterRole(InputCompleterModel::CompleterName); 0015 sort(0); 0016 } 0017 0018 ChannelCompleterFilterProxyModel::~ChannelCompleterFilterProxyModel() = default; 0019 0020 void ChannelCompleterFilterProxyModel::clear() 0021 { 0022 static_cast<InputCompleterModel *>(sourceModel())->clear(); 0023 } 0024 0025 bool ChannelCompleterFilterProxyModel::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, InputCompleterModel::CompleterName).toString(); 0032 const QString rightString = sourceModel()->data(right, InputCompleterModel::CompleterName).toString(); 0033 return QString::localeAwareCompare(leftString, rightString) < 0; 0034 } else { 0035 return false; 0036 } 0037 } 0038 0039 #include "moc_channelcompleterfilterproxymodel.cpp"