31 |
31 |
32 #ifdef Q_OS_SYMBIAN |
32 #ifdef Q_OS_SYMBIAN |
33 #include "qtphonelog.h" |
33 #include "qtphonelog.h" |
34 #include <xqappmgr.h> |
34 #include <xqappmgr.h> |
35 #include <xqservicerequest.h> |
35 #include <xqservicerequest.h> |
36 #include <xqcallinfo.h> |
|
37 #include <xqpublishandsubscribeutils.h> |
36 #include <xqpublishandsubscribeutils.h> |
38 #include <xqrequestinfo.h> |
37 #include <xqrequestinfo.h> |
39 #include <xqaiwdecl.h> |
38 #include <xqaiwdecl.h> |
40 #endif |
39 #endif |
41 |
40 |
82 void DialerWidget::startDialer() |
81 void DialerWidget::startDialer() |
83 { |
82 { |
84 PHONE_TRACE |
83 PHONE_TRACE |
85 #ifdef Q_OS_SYMBIAN |
84 #ifdef Q_OS_SYMBIAN |
86 PHONE_DEBUG("DialerWidget::startDialer"); |
85 PHONE_DEBUG("DialerWidget::startDialer"); |
87 |
86 |
88 QList<CallInfo> calls; |
|
89 QScopedPointer<XQCallInfo> callInfo(XQCallInfo::create()); |
|
90 callInfo->getCalls(calls); |
|
91 QList<QVariant> args; |
87 QList<QVariant> args; |
92 QString service; |
88 QString service; |
93 QString interface; |
89 QString interface; |
94 QString operation; |
90 QString operation; |
95 |
91 |
96 if (0 < calls.count()) { |
92 PHONE_DEBUG("open Dialer"); |
97 PHONE_DEBUG("call ongoing, bring Telephone to foreground"); |
93 service = "logs"; |
98 service = "phoneui"; |
94 interface = XQI_LOGS_VIEW; |
99 interface = "com.nokia.symbian.IStart"; |
95 operation = XQOP_LOGS_SHOW; |
100 operation = "start(int)"; |
96 QVariantMap map; |
101 int openDialer(0); |
97 map.insert(XQLOGS_VIEW_INDEX, QVariant(int(XQService::LogsViewAll))); |
102 args << openDialer; |
98 map.insert(XQLOGS_SHOW_DIALPAD, QVariant(true)); |
103 } else { |
99 map.insert(XQLOGS_DIALPAD_TEXT, QVariant(QString())); |
104 PHONE_DEBUG("no calls, open Dialer"); |
100 args.append(QVariant(map)); |
105 service = "logs"; |
|
106 interface = XQI_LOGS_VIEW; |
|
107 operation = XQOP_LOGS_SHOW; |
|
108 QVariantMap map; |
|
109 map.insert(XQLOGS_VIEW_INDEX, QVariant(int(XQService::LogsViewAll))); |
|
110 map.insert(XQLOGS_SHOW_DIALPAD, QVariant(true)); |
|
111 map.insert(XQLOGS_DIALPAD_TEXT, QVariant(QString())); |
|
112 args.append(QVariant(map)); |
|
113 } |
|
114 |
101 |
115 XQApplicationManager appManager; |
102 XQApplicationManager appManager; |
116 QScopedPointer<XQAiwRequest> request(appManager.create(service, interface, operation, false)); |
103 QScopedPointer<XQAiwRequest> request(appManager.create(service, interface, operation, false)); |
117 if (request == NULL) { |
104 if (request == NULL) { |
118 PHONE_TRACE1("service not found"); |
105 PHONE_TRACE1("service not found"); |