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