File indexing completed on 2023-12-03 08:28:35

0001 /*
0002     Copyright (C) 2013  Martin Klapetek <mklapetek@kde.org>
0003 
0004     This library is free software; you can redistribute it and/or
0005     modify it under the terms of the GNU Lesser General Public
0006     License as published by the Free Software Foundation; either
0007     version 2.1 of the License, or (at your option) any later version.
0008 
0009     This library is distributed in the hope that it will be useful,
0010     but WITHOUT ANY WARRANTY; without even the implied warranty of
0011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012     Lesser General Public License for more details.
0013 
0014     You should have received a copy of the GNU Lesser General Public
0015     License along with this library; if not, write to the Free Software
0016     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0017 */
0018 
0019 
0020 #ifndef KTP_TRANSLATION_PROXY_H
0021 #define KTP_TRANSLATION_PROXY_H
0022 
0023 // #include <QIdentityProxyModel>
0024 #include <QSortFilterProxyModel>
0025 
0026 #include <KTp/Models/ktpmodels_export.h>
0027 
0028 class KTPMODELS_EXPORT KPeopleTranslationProxy : public QSortFilterProxyModel
0029 {
0030     Q_OBJECT
0031 
0032 public:
0033     KPeopleTranslationProxy(QObject *parent = nullptr);
0034     ~KPeopleTranslationProxy() override;
0035 
0036     QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const override;
0037     QVariant dataForKTpContact(const QString &accountPath, const QString &contactId, int role) const;
0038 
0039     bool filterAcceptsRow(int source_row, const QModelIndex & source_parent ) const override;
0040 private:
0041     QVariant translatePresence(const QVariant &presenceName) const;
0042     QPixmap contactPixmap(const QModelIndex &index) const;
0043 };
0044 
0045 #endif // KTP_TRANSLATION_PROXY_H