messagingapp/msgui/unifiededitor/src/msgunieditoraddress.cpp
changeset 70 a15d9966050f
parent 52 12db4185673b
child 72 6f657153cbc5
equal deleted inserted replaced
61:8ba0afbb4637 70:a15d9966050f
    95 
    95 
    96 void MsgUnifiedEditorAddress::fetchContacts()
    96 void MsgUnifiedEditorAddress::fetchContacts()
    97 {
    97 {
    98     mLaunchBtn->blockSignals(true);
    98     mLaunchBtn->blockSignals(true);
    99 
    99 
   100     QList<QVariant> args;
   100     QString service("phonebookservices");
   101     QString serviceName("com.nokia.services.phonebookservices");
   101     QString interface("com.nokia.symbian.IContactsFetch");
   102     QString operation("fetch(QString,QString,QString)");
   102     QString operation("multiFetch(QString,QString)");
   103     XQAiwRequest* request;
   103     XQAiwRequest* request;
   104     XQApplicationManager appManager;
   104     XQApplicationManager appManager;
   105     request = appManager.create(serviceName, "Fetch", operation, true); // embedded
   105     request = appManager.create(service, interface, operation, true); // embedded
   106     if ( request == NULL )
   106     if ( request == NULL )
   107         {
   107         {
   108         return;
   108         return;
   109         }
   109         }
   110 
   110 
   111     // Result handlers
   111     // Result handlers
   112     connect (request, SIGNAL(requestOk(const QVariant&)), this, SLOT(handleOk(const QVariant&)));
   112     connect (request, SIGNAL(requestOk(const QVariant&)), this, SLOT(handleOk(const QVariant&)));
   113     connect (request, SIGNAL(requestError(int,const QString&)), this, SLOT(handleError(int,const QString&)));
   113     connect (request, SIGNAL(requestError(int,const QString&)), this, SLOT(handleError(int,const QString&)));
   114 
   114 
       
   115     QList<QVariant> args;
   115     args << QString(tr("Phonebook"));
   116     args << QString(tr("Phonebook"));
   116     args << KCntActionAll;
   117     args << KCntActionAll;
   117     args << KCntFilterDisplayAll;
   118     args << KCntFilterDisplayAll;
   118 
   119 
   119     request->setArguments(args);
   120     request->setArguments(args);
   203 int MsgUnifiedEditorAddress::addressCount()
   204 int MsgUnifiedEditorAddress::addressCount()
   204 {
   205 {
   205     return mAddressEdit->addresses().count();
   206     return mAddressEdit->addresses().count();
   206 }
   207 }
   207 
   208 
   208 void MsgUnifiedEditorAddress::setAddresses(ConvergedMessageAddressList addrlist)
   209 void MsgUnifiedEditorAddress::setAddresses(ConvergedMessageAddressList addrlist,bool aSkipCheck)
   209 {
   210 {
   210     // avoid processing if no info available
   211     // avoid processing if no info available
   211     if(addrlist.count() == 0)
   212     if(addrlist.count() == 0)
   212     {
   213     {
   213         return;
   214         return;
   241 	int  invalidCount= 0;
   242 	int  invalidCount= 0;
   242     QString invalidContacts;
   243     QString invalidContacts;
   243     for(int i = 0; i < count; i++ )
   244     for(int i = 0; i < count; i++ )
   244         {
   245         {
   245         bool isValid = false;
   246         bool isValid = false;
   246         isValid = checkValidAddress(addrlist.at(i)->address());
   247         if(!aSkipCheck)
       
   248         {
       
   249             isValid = checkValidAddress(addrlist.at(i)->address());
       
   250         }
       
   251         else
       
   252         {
       
   253             // no need to validate, assume correct
       
   254             isValid = true;
       
   255         }
   247         if(!isValid)
   256         if(!isValid)
   248            {
   257            {
   249             invalidCount ++;
   258             invalidCount ++;
   250             // append the comma till last but one contact.
   259             // append the comma till last but one contact.
   251             // add the invalid ocntacts to the " , " seperated string.
   260             // add the invalid ocntacts to the " , " seperated string.
   252             if(invalidCount > 1)
   261             if(invalidCount > 1)
   253                 {
   262                 {
   254                 invalidContacts.append(COMMA_SEPERATOR);
   263                 invalidContacts.append(COMMA_SEPERATOR);
   255                 }
   264                 }
   256             invalidContacts.append(addrlist.at(i)->alias());
   265             if(addrlist[i]->alias().isEmpty())
       
   266                 invalidContacts.append(addrlist.at(i)->address());
       
   267             else
       
   268                 invalidContacts.append(addrlist.at(i)->alias());
   257            }
   269            }
   258        else
   270        else
   259            {
   271            {
   260            mAddressMap.insertMulti(addrlist[i]->address(), addrlist[i]->alias());
   272            mAddressMap.insertMulti(addrlist[i]->address(), addrlist[i]->alias());
   261            if(!addrlist[i]->alias().isEmpty())
   273            if(!addrlist[i]->alias().isEmpty())
   269            }
   281            }
   270        }
   282        }
   271     if(invalidCount)
   283     if(invalidCount)
   272         {
   284         {
   273         QString invalidStr;
   285         QString invalidStr;
   274         (invalidCount == 1)?(invalidStr = QString(LOC_INVALID_RECIPIENT_NOT_ADDED)) :(invalidStr = QString(LOC_INVALID_RECIPIENTS_NOT_ADDED));
   286         (invalidCount == 1)?(invalidStr = QString(LOC_INVALID_RECIPIENT_NOT_ADDED.arg(invalidContacts))) :(invalidStr = QString(LOC_INVALID_RECIPIENTS_NOT_ADDED.arg(invalidContacts)));
   275         // append line seperator
   287 		HbMessageBox::information(invalidStr, 0, 0, HbMessageBox::Ok);
   276          invalidStr.append("<br>");
   288     }
   277          invalidStr.append(invalidContacts);
   289     
   278          HbMessageBox::information(invalidStr, 0, 0, HbMessageBox::Ok);
       
   279         }
       
   280 
   290 
   281     // addition operation complete, reset flags
   291     // addition operation complete, reset flags
   282     mAboutToExceedMaxSmsRecipients = false;
   292     mAboutToExceedMaxSmsRecipients = false;
   283     mAboutToExceedMaxMmsRecipients = false;
   293     mAboutToExceedMaxMmsRecipients = false;
   284     mExceedsMaxMmsRecipientsBy = 0;
   294     mExceedsMaxMmsRecipientsBy = 0;