/*! * This function will be called before the first testfunction is executed. */ void Ut_NotificationManager::initTestCase() { nm = NotificationManager::instance(); nm->m_Notifications.clear(); nm->m_pMWIListener->disconnect(nm); // Create the contacts we need QContactOnlineAccount qcoa; qcoa.setValue(QContactOnlineAccount__FieldAccountPath, DUT_ACCOUNT_PATH); qcoa.setValue(QContactOnlineAccount::FieldAccountUri, CONTACT_1_REMOTE_ID); QVERIFY(contact1.saveDetail(&qcoa)); QContactName name; name.setPrefix(CONTACT_1_REMOTE_ID); QVERIFY(contact1.saveDetail(&name)); QVERIFY(nm->contactManager()->saveContact(&contact1)); qcoa = QContactOnlineAccount(); qcoa.setValue(QContactOnlineAccount__FieldAccountPath, DUT_ACCOUNT_PATH); qcoa.setValue(QContactOnlineAccount::FieldAccountUri, CONTACT_2_REMOTE_ID); QVERIFY(contact2.saveDetail(&qcoa)); name = QContactName(); name.setPrefix(CONTACT_2_REMOTE_ID); QVERIFY(contact2.saveDetail(&name)); QVERIFY(nm->contactManager()->saveContact(&contact2)); }
void SeasidePerson::setTitle(const QString &name) { QContactName nameDetail = mContact.detail<QContactName>(); nameDetail.setPrefix(name); mContact.saveDetail(&nameDetail); emit titleChanged(); }
QContactDetail *CntTransformName::transformItemField(const CContactItemField& field, const QContact &contact) { QContactName *name = new QContactName(contact.detail<QContactName>()); CContactTextField* storage = field.TextStorage(); QString nameValue = QString::fromUtf16(storage->Text().Ptr(), storage->Text().Length()); for (int i = 0; i < field.ContentType().FieldTypeCount(); i++) { //Prefix if (field.ContentType().FieldType(i) == KUidContactFieldPrefixName) { name->setPrefix(nameValue); } //First name else if (field.ContentType().FieldType(i) == KUidContactFieldGivenName) { name->setFirstName(nameValue); } //Middle name else if (field.ContentType().FieldType(i) == KUidContactFieldAdditionalName) { name->setMiddleName(nameValue); } //Last name else if (field.ContentType().FieldType(i) == KUidContactFieldFamilyName) { name->setLastName(nameValue); } //Suffix else if (field.ContentType().FieldType(i) == KUidContactFieldSuffixName) { name->setSuffix(nameValue); } // custom label else if (field.ContentType().FieldType(i) == KUidContactFieldTemplateLabel) { name->setCustomLabel(nameValue); } } return name; }
QContact generateContact(const QString &syncTarget = QString(QLatin1String("local")), bool possiblyAggregate = false) { static const QStringList firstNames(generateFirstNamesList()); static const QStringList middleNames(generateMiddleNamesList()); static const QStringList lastNames(generateLastNamesList()); static const QStringList nonOverlappingFirstNames(generateNonOverlappingFirstNamesList()); static const QStringList nonOverlappingLastNames(generateNonOverlappingLastNamesList()); static const QStringList phoneNumbers(generatePhoneNumbersList()); static const QStringList emailProviders(generateEmailProvidersList()); static const QStringList avatars(generateAvatarsList()); static const QStringList hobbies(generateHobbiesList()); // we randomly determine whether to generate various details // to ensure that we have heterogeneous contacts in the db. QContact retn; int random = qrand(); bool preventAggregate = (syncTarget != QLatin1String("local") && !possiblyAggregate); // We always have a sync target. QContactSyncTarget synctarget; synctarget.setSyncTarget(syncTarget); retn.saveDetail(&synctarget); // We always have a name. Select an overlapping name if the sync target // is something other than "local" and possiblyAggregate is true. QContactName name; name.setFirstName(preventAggregate ? nonOverlappingFirstNames.at(random % nonOverlappingFirstNames.size()) : firstNames.at(random % firstNames.size())); name.setLastName(preventAggregate ? nonOverlappingLastNames.at(random % nonOverlappingLastNames.size()) : lastNames.at(random % lastNames.size())); if ((random % 6) == 0) name.setMiddleName(middleNames.at(random % middleNames.size())); if ((random % 17) == 0) name.setPrefix(QLatin1String("Dr.")); retn.saveDetail(&name); // Favorite if ((random % 31) == 0) { QContactFavorite fav; fav.setFavorite(true); retn.saveDetail(&fav); } // Phone number if ((random % 3) == 0) { QContactPhoneNumber phn; QString randomPhn = phoneNumbers.at(random % phoneNumbers.size()); phn.setNumber(preventAggregate ? QString(QString::number(random % 500000) + randomPhn) : randomPhn); if ((random % 9) == 0) phn.setContexts(QContactDetail::ContextWork); retn.saveDetail(&phn); } // Email if ((random % 2) == 0) { QContactEmailAddress em; em.setEmailAddress(QString(QLatin1String("%1%2%3%4")) .arg(preventAggregate ? QString(QString::number(random % 500000) + syncTarget) : QString()) .arg(name.firstName()).arg(name.lastName()) .arg(emailProviders.at(random % emailProviders.size()))); if (random % 9) em.setContexts(QContactDetail::ContextWork); retn.saveDetail(&em); } // Avatar if ((random % 5) == 0) { QContactAvatar av; av.setImageUrl(name.firstName() + avatars.at(random % avatars.size())); retn.saveDetail(&av); } // Hobby if ((random % 21) == 0) { QContactHobby h1; h1.setHobby(hobbies.at(random % hobbies.size())); retn.saveDetail(&h1); int newRandom = qrand(); if ((newRandom % 2) == 0) { QContactHobby h2; h2.setHobby(hobbies.at(newRandom % hobbies.size())); retn.saveDetail(&h2); } } return retn; }