inc/msgcontacthandler.h
changeset 56 f42d9a78f435
parent 37 518b245aa84c
equal deleted inserted replaced
55:5b3b2fa8c3ec 56:f42d9a78f435
    26 #include <qcontactdetailfilter.h>
    26 #include <qcontactdetailfilter.h>
    27 #include <QFile>
    27 #include <QFile>
    28 #include <qversitcontactimporter.h>
    28 #include <qversitcontactimporter.h>
    29 #include <qversitdocument.h>
    29 #include <qversitdocument.h>
    30 #include <qversitreader.h>
    30 #include <qversitreader.h>
       
    31 #include <qcontactid.h>
    31 
    32 
    32 QTM_BEGIN_NAMESPACE
    33 QTM_BEGIN_NAMESPACE
    33 class QContactManager;
    34 class QContactManager;
    34 QTM_END_NAMESPACE
    35 QTM_END_NAMESPACE
    35 
    36 
    36 QTM_USE_NAMESPACE
    37 QTM_USE_NAMESPACE
    37 
    38 
    38 class MsgContactHandler
    39 class MsgContactHandler
    39 {
    40 {
    40     
    41 
    41 public:
    42 public:
    42 
    43 
    43     /**
    44     /**
    44      * This shall resolve contact number with display name
    45      * This shall resolve contact number with display name
    45      * @param contactNumber number to resolve
    46      * @param contactNumber number to resolve
    46      * @param displayName resolved name
    47      * @param displayName resolved name
    47      * @param countPhoneNumber specifies number of contacts inside 
    48      * @param countPhoneNumber specifies number of contacts inside
    48      * the resolved contact ex mobile, home, office etc
    49      * the resolved contact ex mobile, home, office etc
    49      * @return contacts unique localId
    50      * @return contacts unique localId
    50      */
    51      */
    51     static int resolveContactDisplayName(const QString& contactNumber,
    52     static int resolveContactDisplayName(const QString& contactNumber,
    52                                          QString& displayName,
    53                                          QString& displayName,
   146         QContactDetailFilter phoneFilter;
   147         QContactDetailFilter phoneFilter;
   147         phoneFilter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName,
   148         phoneFilter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName,
   148             QContactPhoneNumber::FieldNumber);
   149             QContactPhoneNumber::FieldNumber);
   149         phoneFilter.setValue(phoneNumber);
   150         phoneFilter.setValue(phoneNumber);
   150         phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith);
   151         phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith);
   151         
   152 
   152         QList<QContact> matchingContacts = phonebookManager.contacts(phoneFilter);
   153         QList<QContact> matchingContacts = phonebookManager.contacts(phoneFilter);
   153 
   154 
   154         return matchingContacts;
   155         return matchingContacts;
   155     }
   156     }
   156     
   157 
   157     /**
   158     /**
   158      * Get display-name of a contact from VCard.
   159      * Get display-name of a contact from VCard.
   159      * @param filePath, VCard file-path
   160      * @param filePath, VCard file-path
   160      * @return display-name
   161      * @return display-name
   161      */
   162      */
   200             }
   201             }
   201         }
   202         }
   202         file.close();
   203         file.close();
   203         return displayName;
   204         return displayName;
   204     }
   205     }
       
   206 
       
   207     /**
       
   208      * Get list of self-addresses
       
   209      * @return QStringList, list of self-addresses
       
   210      */
       
   211     static QStringList selfAddresses()
       
   212     {
       
   213         QStringList selfAddrs;
       
   214         QContactManager* contactManager =
       
   215                                         new QContactManager("symbian");
       
   216         QContactLocalId selfId = contactManager->selfContactId();
       
   217         if( (selfId == 0) ||
       
   218             (contactManager->error() == QContactManager::DoesNotExistError) )
       
   219         {
       
   220             // if no self-address exists
       
   221             return selfAddrs;
       
   222         }
       
   223 
       
   224         QContact selfContact = contactManager->contact(selfId);
       
   225         
       
   226         // append numbers to the list of self-addresses
       
   227         QList<QContactPhoneNumber> selfPhoneNumbers = 
       
   228                         selfContact.details<QContactPhoneNumber>();
       
   229         int selfNumCount = selfPhoneNumbers.count();
       
   230         for(int i=0; i< selfNumCount; i++)
       
   231         {
       
   232             selfAddrs << selfPhoneNumbers.at(i).number();
       
   233         }
       
   234 
       
   235         // append email-addresses to the list
       
   236         QList<QContactEmailAddress> selfEmailAddrs = 
       
   237                         selfContact.details<QContactEmailAddress>();
       
   238         int selfEmailAddrCount = selfEmailAddrs.count();
       
   239         for(int i=0; i< selfEmailAddrCount; i++)
       
   240         {
       
   241             selfAddrs << selfEmailAddrs.at(i).emailAddress();
       
   242         }
       
   243         return selfAddrs;
       
   244     }
       
   245 
   205 };
   246 };
   206 
   247 
   207 #endif /* MSGCONTACTHANDLER_H_ */
   248 #endif /* MSGCONTACTHANDLER_H_ */