messagingapp/msgui/msgapp/src/msgserviceinterface.cpp
changeset 27 e4592d119491
parent 25 84d9eb65b26f
child 47 5b14749788d7
equal deleted inserted replaced
25:84d9eb65b26f 27:e4592d119491
    15  *              QT highway and other applications
    15  *              QT highway and other applications
    16  *
    16  *
    17  */
    17  */
    18 
    18 
    19 //TODO: to be deprecated
    19 //TODO: to be deprecated
    20 #include <qtcontactsglobal.h>
       
    21 #include "qcontactdetailfilter.h"
       
    22 #include "qcontactdetail.h"
       
    23 #include "qtcontacts.h" 
       
    24 #include "convergedmessageaddress.h"
    20 #include "convergedmessageaddress.h"
    25 
    21 
    26 #include "msgserviceinterface.h"
    22 #include "msgserviceinterface.h"
    27 #include "msgviewmanager.h"
    23 #include "msgviewmanager.h"
    28 //INCLUDES
    24 #include "msgcontacthandler.h"
    29 
    25 
    30 MsgServiceInterface::MsgServiceInterface(QObject* parent, MsgViewManager* manager)
    26 MsgServiceInterface::MsgServiceInterface(QObject* parent, MsgViewManager* manager)
    31 :XQServiceProvider( QLatin1String("com.nokia.services.hbserviceprovider.conversationview"),parent),
    27 :XQServiceProvider( QLatin1String("com.nokia.services.hbserviceprovider.conversationview"),parent),
    32 mViewManager(manager)
    28 mViewManager(manager)
    33     {
    29     {
    88             }
    84             }
    89         }
    85         }
    90     mViewManager->openEditor(number,resolvedName);
    86     mViewManager->openEditor(number,resolvedName);
    91     }
    87     }
    92 
    88 
    93 bool MsgServiceInterface::resolveContact(const ConvergedMessageAddress &address,
    89 bool MsgServiceInterface::resolveContact(
    94         ContactDetail &contactDetail)
    90                                          const ConvergedMessageAddress &address,
       
    91                                          ContactDetail &contactDetail)
       
    92 {
       
    93     QString displayLabel = QString("");
       
    94     int localId =
       
    95             MsgContactHandler::resolveContactDisplayName(address.address(),
       
    96                                                          displayLabel,
       
    97                                                          0);
       
    98 
       
    99     if (localId != -1)
    95     {
   100     {
    96     QContactManager* mPhonebookManager = new QContactManager("symbian");
   101         contactDetail.contactId = localId;
    97     QContactDetailFilter phoneFilter;
   102         contactDetail.displayName = displayLabel;
    98     phoneFilter.setDetailDefinitionName(
       
    99             QContactPhoneNumber::DefinitionName, 
       
   100             QContactPhoneNumber::FieldNumber);
       
   101     phoneFilter.setValue(address.address());
       
   102     phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith);
       
   103 
       
   104     QList<QContactSortOrder> sortOrder;
       
   105     QList<QContact> matchingContacts = mPhonebookManager->contacts(
       
   106             phoneFilter,
       
   107             sortOrder,
       
   108             QStringList());
       
   109 
       
   110     if ( matchingContacts.count() > 0 ) {       
       
   111         // Fill the contact details
       
   112         QContact match = matchingContacts.at(0);                   
       
   113         contactDetail.contactId = match.localId();
       
   114         contactDetail.displayName = match.displayLabel();   
       
   115         return true;
   103         return true;
   116     }
   104     }
   117     
   105     
   118     return false;
   106     return false;
   119     }
   107     }