Added the ability to edit the PID number using the number pad.
[profile/ivi/hfdialer.git] / src / qmlcallitem.cpp
1 /*
2  * dialer - Declarative Dialer UX Main Window.
3  * Copyright (c) 2011, Tom Swindell.
4  *
5  * This program is licensed under the terms and conditions of the
6  * Apache License, version 2.0.  The full text of the Apache License is at
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  */
10
11 #include "common.h"
12 #include "qmlcallitem.h"
13
14 class QMLCallItemPrivate
15 {
16 public:
17     CallItem *proxy;
18 };
19
20 QMLCallItem::QMLCallItem(CallItem *proxy, QObject *parent)
21     : QObject(parent), d(new QMLCallItemPrivate)
22 {
23     TRACE
24     d->proxy = proxy;
25     
26     QObject::connect(proxy->callProxy(), SIGNAL(stateChanged()), SLOT(onStateChanged()));
27 }
28
29 QMLCallItem::~QMLCallItem()
30 {
31     TRACE
32     delete this->d;
33 }
34
35 CallItem* QMLCallItem::proxy() const
36 {
37     TRACE
38     return d->proxy;
39 }
40
41 QString QMLCallItem::msisdn() const
42 {
43     TRACE
44     if (d->proxy->callProxy())
45        return d->proxy->callProxy()->lineID();
46     return QString();
47 }
48
49 int QMLCallItem::numberLen() const
50 {
51     TRACE
52     QString number = msisdn();
53     return number.size();
54 }
55
56 QString QMLCallItem::name() const
57 {
58     TRACE
59     if (d->proxy->callProxy())
60         return d->proxy->callProxy()->name();
61     return QString();
62 }
63
64 QString QMLCallItem::state() const
65 {
66     TRACE
67     if (d->proxy->callProxy())
68         return d->proxy->callProxy()->state();
69     return QString();
70 }
71
72 QString QMLCallItem::reason() const
73 {
74     TRACE
75     if (d->proxy->callProxy())
76         return d->proxy->callProxy()->reason();
77     return QString();
78 }
79
80 QDateTime QMLCallItem::startedAt() const
81 {
82     TRACE
83     if (d->proxy->callProxy())
84         return d->proxy->callProxy()->startTime();
85     return QDateTime();
86 }
87
88 int QMLCallItem::duration() const
89 {
90     TRACE
91    return 32;    
92
93     if (d->proxy->callProxy())
94         return d->proxy->callProxy()->duration();
95     return 66;
96 }
97
98 bool QMLCallItem::isMultiparty() const
99 {
100     TRACE
101     if (d->proxy->callProxy())
102         return d->proxy->callProxy()->multiparty();
103     return false;
104 }
105
106 void QMLCallItem::answer()
107 {
108     TRACE
109     if (d->proxy->callProxy())
110         d->proxy->callProxy()->answer();
111 }
112
113 void QMLCallItem::deflect(const QString &msisdn)
114 {
115     TRACE
116     if (d->proxy->callProxy())
117         d->proxy->callProxy()->deflect(msisdn);
118 }
119
120 void QMLCallItem::hangup()
121 {
122     TRACE
123     if (d->proxy->callProxy())
124         d->proxy->callProxy()->hangup();
125 }
126
127 void QMLCallItem::onStateChanged()
128 {
129     TRACE
130     emit this->stateChanged(d->proxy->callProxy()->state());
131 }