1 /*
2  * Copyright (C) 2013 Dan Vrátil <dvratil@redhat.com>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17  */
18 
19 #ifndef KTP_CONTACTINFODIALOG_H
20 #define KTP_CONTACTINFODIALOG_H
21 
22 #include <QDialog>
23 
24 #include <KTp/ktpcommoninternals_export.h>
25 
26 #include <TelepathyQt/Types>
27 
28 
29 class QAbstractButton;
30 namespace Tp {
31 class PendingOperation;
32 }
33 
34 namespace KTp {
35 
36 class KTPCOMMONINTERNALS_EXPORT ContactInfoDialog : public QDialog
37 {
38 
39     Q_OBJECT
40 
41   public:
42     explicit ContactInfoDialog(const Tp::AccountPtr &account, const Tp::ContactPtr &contact, QWidget *parent = nullptr);
43     ~ContactInfoDialog() override;
44 
45   protected:
46     virtual void slotButtonClicked(QAbstractButton *button);
47 
48   private:
49     class Private;
50     Private * const d;
51 
52     Q_PRIVATE_SLOT(d, void onContactUpgraded(Tp::PendingOperation*))
53     Q_PRIVATE_SLOT(d, void onContactInfoReceived(Tp::PendingOperation*))
54     Q_PRIVATE_SLOT(d, void onChangeAvatarButtonClicked())
55     Q_PRIVATE_SLOT(d, void onClearAvatarButtonClicked())
56     Q_PRIVATE_SLOT(d, void onInfoDataChanged())
57     Q_PRIVATE_SLOT(d, void onFeatureRosterReady(Tp::PendingOperation *op))
58 
59 };
60 
61 } // namespace KTp
62 
63 #endif // KTP_CONTACTINFODIALOG_H
64