1 /*
2     Copyright (C) 2012 George Kiagiadakis <kiagiadakis.george@gmail.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 License
15     along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 */
17 
18 #ifndef DIALOUT_WIDGET_H
19 #define DIALOUT_WIDGET_H
20 
21 #include <QWidget>
22 #include <TelepathyQt/PendingOperation>
23 #include <TelepathyQt/Types>
24 
25 class DialoutWidget : public QWidget
26 {
27     Q_OBJECT
28 public:
29     explicit DialoutWidget(const QString &number = QString(), QWidget *parent = 0);
30     virtual ~DialoutWidget();
31 
32 private Q_SLOTS:
33     void onAccountManagerReady(Tp::PendingOperation *op);
34 
35     void on_accountComboBox_currentIndexChanged(int currentIndex);
36     void on_uriLineEdit_textChanged(const QString &text);
37     void onPendingContactFinished(Tp::PendingOperation*);
38 
39     void on_audioCallButton_clicked();
40     void on_videoCallButton_clicked();
41     void onPendingChannelRequestFinished(Tp::PendingOperation*);
42 
43 private:
44     void requestContact(const Tp::AccountPtr &account, const QString &contactId);
45 
46     struct Private;
47     Private *const d;
48 };
49 
50 #endif // DIALOUT_WIDGET_H
51