343 // MsgContactCardWidget::openContactInfo |
343 // MsgContactCardWidget::openContactInfo |
344 // @see header |
344 // @see header |
345 //--------------------------------------------------------------- |
345 //--------------------------------------------------------------- |
346 void MsgContactCardWidget::openContactInfo() |
346 void MsgContactCardWidget::openContactInfo() |
347 { |
347 { |
|
348 //service stuff. |
|
349 QString service("phonebookservices"); |
|
350 QString interface; |
348 QString operation; |
351 QString operation; |
349 QList<QVariant> args; |
352 QList<QVariant> args; |
350 if (KBluetoothMsgsConversationId != ConversationsEngine::instance()->getCurrentConversationId()) { |
353 if (KBluetoothMsgsConversationId != ConversationsEngine::instance()->getCurrentConversationId()) { |
351 int contactId = resolveContactId(mContactNumber); |
354 int contactId = resolveContactId(mContactNumber); |
352 if (contactId > 0) { |
355 if (contactId > 0) { |
353 //open existing contact card |
356 //open existing contact card |
354 operation = QString("open(int)"); |
357 interface = QString("com.nokia.symbian.IContactsView"); |
|
358 operation = QString("openContactCard(int)"); |
355 args << contactId; |
359 args << contactId; |
356 } |
360 } |
357 else { |
361 else { |
358 //populate data and open unknown contact template |
362 //populate data and open unknown contact template |
|
363 interface = QString("com.nokia.symbian.IContactsEdit"); |
359 operation = QString("editCreateNew(QString,QString)"); |
364 operation = QString("editCreateNew(QString,QString)"); |
360 QString type = QContactPhoneNumber::DefinitionName; |
365 QString type = QContactPhoneNumber::DefinitionName; |
361 |
|
362 args << type; |
366 args << type; |
363 args << mAddress; |
367 args << mAddress; |
364 } |
368 } |
365 //service stuff. |
|
366 QString serviceName("com.nokia.services.phonebookservices"); |
|
367 |
|
368 XQAiwRequest* request; |
369 XQAiwRequest* request; |
369 XQApplicationManager appManager; |
370 XQApplicationManager appManager; |
370 request = appManager.create(serviceName, "Fetch", operation, true); // embedded |
371 request = appManager.create(service, interface, operation, true); // embedded |
371 if (request == NULL) { |
372 if (request == NULL) { |
372 return; |
373 return; |
373 } |
374 } |
374 |
375 |
375 // Result handlers |
376 // Result handlers |
377 connect(request, SIGNAL(requestError(const QVariant&)), this, |
378 connect(request, SIGNAL(requestError(const QVariant&)), this, |
378 SLOT(handleError(const QVariant&))); |
379 SLOT(handleError(const QVariant&))); |
379 |
380 |
380 //disbale subscritption for the CV events |
381 //disbale subscritption for the CV events |
381 ConversationsEngine::instance()->disableRegisterationForCVEvents(); |
382 ConversationsEngine::instance()->disableRegisterationForCVEvents(); |
382 |
383 |
383 request->setArguments(args); |
384 request->setArguments(args); |
384 request->send(); |
385 request->send(); |
385 delete request; |
386 delete request; |
386 } |
387 } |
387 } |
388 } |
437 Q_UNUSED(result) |
438 Q_UNUSED(result) |
438 |
439 |
439 QList<QContact> matchingContacts = MsgContactHandler::findContactList(mContactNumber); |
440 QList<QContact> matchingContacts = MsgContactHandler::findContactList(mContactNumber); |
440 |
441 |
441 if (!matchingContacts.isEmpty()) { |
442 if (!matchingContacts.isEmpty()) { |
442 setAddress(matchingContacts.at(0).displayLabel()); |
443 QString displayLabel = matchingContacts.at(0).displayLabel(); |
443 |
444 if(!displayLabel.isEmpty()) |
|
445 { |
|
446 setAddress(displayLabel); |
|
447 } |
|
448 else |
|
449 { |
|
450 setAddress(mContactNumber); |
|
451 } |
|
452 |
444 QList<QContactAvatar> avatarDetails = matchingContacts.at(0).details<QContactAvatar> (); |
453 QList<QContactAvatar> avatarDetails = matchingContacts.at(0).details<QContactAvatar> (); |
445 |
454 |
446 if (!avatarDetails.isEmpty()) { |
455 if (!avatarDetails.isEmpty()) { |
447 mThumbnailManager->getThumbnail(avatarDetails.at(0).imageUrl().toString()); |
456 mThumbnailManager->getThumbnail(avatarDetails.at(0).imageUrl().toString()); |
448 } |
457 } |