messagingapp/msgui/msgapp/src/msgserviceinterface.cpp
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
equal deleted inserted replaced
23:238255e8b033 25:84d9eb65b26f
    42     {   
    42     {   
    43     mViewManager->setServiceRequest(true);
    43     mViewManager->setServiceRequest(true);
    44     mViewManager->send(contactId, phoneNumber, displayName);    
    44     mViewManager->send(contactId, phoneNumber, displayName);    
    45     }
    45     }
    46 
    46 
       
    47 
       
    48 void MsgServiceInterface::send(const QString phoneNumber, const QString alias, const QString bodyText)
       
    49     {   
       
    50     mViewManager->setServiceRequest(true);
       
    51     mViewManager->send(phoneNumber, alias, bodyText);    
       
    52     }
       
    53 
       
    54 
    47 void MsgServiceInterface::open(qint64 conversationId)
    55 void MsgServiceInterface::open(qint64 conversationId)
    48     {
    56     {
    49     mViewManager->setServiceRequest(false);
    57     mViewManager->setServiceRequest(false);
    50     mViewManager->open(conversationId); 
    58     mViewManager->open(conversationId); 
    51     }
    59     }
    54     {   
    62     {   
    55     mViewManager->setServiceRequest(true);
    63     mViewManager->setServiceRequest(true);
    56     mViewManager->send(data);    
    64     mViewManager->send(data);    
    57     }
    65     }
    58 
    66 
       
    67 void MsgServiceInterface::view(int msgId)
       
    68     {   
       
    69     mViewManager->view(msgId); 
       
    70     }
       
    71     
    59 void MsgServiceInterface::openConversationView(QString number, QString name)
    72 void MsgServiceInterface::openConversationView(QString number, QString name)
    60     {
    73     {
    61     mViewManager->setServiceRequest(true);
    74     mViewManager->setServiceRequest(true);
    62         
    75         
    63     QString resolvedName;
    76     QString resolvedName;
    69         
    82         
    70         ContactDetail contactDetail;
    83         ContactDetail contactDetail;
    71         bool ret = resolveContact(address, contactDetail);
    84         bool ret = resolveContact(address, contactDetail);
    72         if(ret)
    85         if(ret)
    73             {
    86             {
    74             if(!contactDetail.lastName.isEmpty())
    87             resolvedName = contactDetail.displayName;
    75                 {
       
    76                 resolvedName += contactDetail.lastName;
       
    77                 if(!contactDetail.firstName.isEmpty())
       
    78                     {
       
    79                     resolvedName += ", ";
       
    80                     }
       
    81                 }
       
    82             resolvedName += contactDetail.firstName;
       
    83             }
    88             }
    84         }
    89         }
    85     mViewManager->openEditor(number,resolvedName);
    90     mViewManager->openEditor(number,resolvedName);
    86     }
    91     }
    87 
    92 
    88 bool MsgServiceInterface::resolveContact(const ConvergedMessageAddress &address,
    93 bool MsgServiceInterface::resolveContact(const ConvergedMessageAddress &address,
    89         ContactDetail &contactDetail)
    94         ContactDetail &contactDetail)
    90     {
    95     {
    91     QContactManager* mPhonebookManager = new QContactManager("symbian");
    96     QContactManager* mPhonebookManager = new QContactManager("symbian");
    92     QContactDetailFilter phoneFilter;
    97     QContactDetailFilter phoneFilter;
    93     phoneFilter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, QContactPhoneNumber::FieldNumber);
    98     phoneFilter.setDetailDefinitionName(
       
    99             QContactPhoneNumber::DefinitionName, 
       
   100             QContactPhoneNumber::FieldNumber);
    94     phoneFilter.setValue(address.address());
   101     phoneFilter.setValue(address.address());
    95     phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith);
   102     phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith);
    96 
   103 
    97     QList<QContactLocalId> matchingContacts = mPhonebookManager->contacts(phoneFilter);
   104     QList<QContactSortOrder> sortOrder;
       
   105     QList<QContact> matchingContacts = mPhonebookManager->contacts(
       
   106             phoneFilter,
       
   107             sortOrder,
       
   108             QStringList());
    98 
   109 
    99     if ( matchingContacts.count() > 0 ) {       
   110     if ( matchingContacts.count() > 0 ) {       
   100     // Fill the contact details
   111         // Fill the contact details
   101     contactDetail.contactId = matchingContacts.at(0);
   112         QContact match = matchingContacts.at(0);                   
   102     QContact match = mPhonebookManager->contact(matchingContacts.at(0));
   113         contactDetail.contactId = match.localId();
   103 
   114         contactDetail.displayName = match.displayLabel();   
   104     QContactName nameDetails = match.detail(QContactName::DefinitionName);
   115         return true;
   105 
       
   106     QContactName name = match.detail(QContactName::DefinitionName);
       
   107     contactDetail.firstName = name.first();
       
   108     contactDetail.lastName = name.last();
       
   109     return true;
       
   110     }
   116     }
   111     
   117     
   112     return false;
   118     return false;
   113     }
   119     }
   114 
   120