File indexing completed on 2023-09-24 08:55:30
0001 /* 0002 Copyright (C) 2012 Rohan Garg <rohangarg@kubuntu.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 #ifndef CONTACTNOTIFY_H 0020 #define CONTACTNOTIFY_H 0021 0022 #include <TelepathyQt/Presence> 0023 #include <TelepathyQt/Types> 0024 0025 class QPixmap; 0026 0027 class ContactNotify : public QObject 0028 { 0029 Q_OBJECT 0030 public: 0031 ContactNotify(QObject *parent = 0); 0032 0033 private Q_SLOTS: 0034 void onContactsChanged(const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved); 0035 void contactPresenceChanged(const Tp::Presence &presence); 0036 void contactAvatarTokenChanged(const QString &avatarToken); 0037 void saveAvatarTokens(); 0038 0039 private: 0040 void sendNotification(const QString &text, const QPixmap &pixmap, const Tp::ContactPtr &contact); 0041 0042 QHash<QString, int> m_presenceHash; 0043 QHash<QString, QString> m_avatarTokensHash; 0044 }; 0045 0046 #endif // CONTACTNOTIFY_H