phoneplugins/dialerwidgetplugin/src/dialerwidget.cpp
changeset 72 c76a0b1755b9
parent 64 6aaf0276100e
child 77 2be0b271d017
equal deleted inserted replaced
64:6aaf0276100e 72:c76a0b1755b9
    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");