本文整理汇总了C++中QContact::setType方法的典型用法代码示例。如果您正苦于以下问题:C++ QContact::setType方法的具体用法?C++ QContact::setType怎么用?C++ QContact::setType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QContact
的用法示例。
在下文中一共展示了QContact::setType方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: saveContacts
void TestSymbianEngine::saveContacts()
{
QContactManager::Error err;
QContactFilter defaultFilter = QContactFilter();
QList<QContactSortOrder> sortOrders;
QList<QContact> contacts;
QContactId empty;
int count = 5;
int init_count = m_engine->contactIds(defaultFilter, sortOrders, &err).count();
QVERIFY(err == QContactManager::NoError);
// NULL
QMap<int, QContactManager::Error> errorMap;
QVERIFY(!m_engine->saveContacts(NULL, &errorMap, &err));
QVERIFY(errorMap.count() == 0);
QVERIFY(err == QContactManager::BadArgumentError);
int current_count = m_engine->contactIds(defaultFilter, sortOrders, &err).count();
QVERIFY(err == QContactManager::NoError);
QVERIFY(init_count == current_count);
// Save a "non contact(Jargon) type" contacts
for(int i=0; i<count; i++) {
QContact alice;
alice.setType("Jargon");
contacts.append(alice);
}
QVERIFY(!m_engine->saveContacts(&contacts, &errorMap, &err));
QVERIFY(err == QContactManager::InvalidDetailError);
foreach(QContactManager::Error err, errorMap) {
QVERIFY(err == QContactManager::InvalidDetailError);
}
示例2: read
bool CntSimStorePrivate::read(int index, int numSlots, QContactManager::Error *error)
{
if (IsActive()) {
*error = QContactManager::LockedError;
return false;
}
// ON store requires different read approach.
// fetch ON contacts synchronously since there are usually only couple of them
if (m_storeInfo.m_storeName == KParameterValueSimStoreNameOn) {
TRequestStatus status;
QList<QContact> fetchedContacts;
for (int i = index; i <= numSlots; i++) {
RMobileONStore::TMobileONEntryV1 onEntry;
onEntry.iIndex = i;
RMobileONStore::TMobileONEntryV1Pckg onEntryPkg(onEntry);
m_etelOnStore.Read(status, onEntryPkg);
User::WaitForRequest(status);
if (status.Int() == KErrNone) {
QContact c;
c.setType(QContactType::TypeContact);
QContactName name;
name.setCustomLabel(QString::fromUtf16(onEntry.iText.Ptr(),
onEntry.iText.Length()));
c.saveDetail(&name);
QContactPhoneNumber number;
number.setNumber(QString::fromUtf16(onEntry.iNumber.iTelNumber.Ptr(),
onEntry.iNumber.iTelNumber.Length()));
c.saveDetail(&number);
QScopedPointer<QContactId> contactId(new QContactId());
contactId->setLocalId(i);
contactId->setManagerUri(m_managerUri);
c.setId(*contactId);
fetchedContacts.append(c);
}
}
emit m_simStore.readComplete(fetchedContacts, QContactManager::NoError);
*error = QContactManager::NoError;
return true;
}
// start reading
m_buffer.Zero();
m_buffer.ReAlloc(KOneSimContactBufferSize*numSlots);
m_etelStore.Read(iStatus, index, numSlots, m_buffer);
SetActive();
m_state = ReadState;
*error = QContactManager::NoError;
return true;
}
示例3: saveContact
void TestSymbianEngine::saveContact()
{
QContactManager::Error err;
QList<QContactSortOrder> sortOrders;
QContactId empty;
QContactFilter defaultFilter = QContactFilter();
int init_count = m_engine->contactIds(defaultFilter, sortOrders, &err).count();
QVERIFY(err == QContactManager::NoError);
// Save a "NULL" contact
QVERIFY(!m_engine->saveContact(NULL, &err));
QVERIFY(err == QContactManager::BadArgumentError);
int current_count = m_engine->contactIds(defaultFilter, sortOrders, &err).count();
QVERIFY(err == QContactManager::NoError);
QVERIFY(init_count == current_count);
// Save a contact that is not in database
QContact invaId;
QVERIFY(m_engine->saveContact(&invaId, &err)); // Add to db
QVERIFY(err == QContactManager::NoError);
QContactId cId = invaId.id();
m_engine->removeContact(invaId.localId(), &err); // Ensure not in db
QVERIFY(err == QContactManager::NoError);
invaId.setId(cId);
QVERIFY(!m_engine->saveContact(&invaId, &err)); // Update non existent contact
QVERIFY(err == QContactManager::DoesNotExistError);
current_count = m_engine->contactIds(defaultFilter, sortOrders, &err).count();
QVERIFY(err == QContactManager::NoError);
QVERIFY(init_count == current_count);
QContact alice;
alice.setType("Jargon");
// Save a "non contact(Jargon) type" contact
QVERIFY(!m_engine->saveContact(&alice, &err));
QVERIFY(err == QContactManager::InvalidDetailError);
QVERIFY(alice.id() == empty);
QVERIFY(alice.localId() == 0);
current_count = m_engine->contactIds(defaultFilter, sortOrders, &err).count();
QVERIFY(err == QContactManager::NoError);
QVERIFY(init_count == current_count);
// Save a valid contact
alice.setType(QContactType::TypeContact);
QVERIFY(m_engine->saveContact(&alice, &err));
QVERIFY(err == QContactManager::NoError);
QVERIFY(alice.id() != empty);
QVERIFY(alice.localId() != 0);
QString uri = QString(QLatin1String(CNT_SYMBIAN_MANAGER_NAME));
QVERIFY(alice.id().managerUri().contains(uri, Qt::CaseInsensitive));
current_count = m_engine->contactIds(defaultFilter, sortOrders, &err).count();
QVERIFY(err == QContactManager::NoError);
QVERIFY(init_count + 1 == current_count);
// Save a valid contact
QContact g;
g.setType(QContactType::TypeGroup);
QContactName en;
en.setCustomLabel("ccc");
QVERIFY(g.saveDetail(&en));
QVERIFY(m_engine->saveContact(&g, &err));
QVERIFY(err == QContactManager::NoError);
QVERIFY(g.id() != empty);
QVERIFY(g.localId() != 0);
QVERIFY(g.id().managerUri().contains(uri, Qt::CaseInsensitive));
}
示例4: saveContactWithPreferredDetails
void TestSymbianEngine::saveContactWithPreferredDetails()
{
QContactManager::Error err;
//save a contact with preferred details
QContact c;
c.setType(QContactType::TypeContact);
QContactPhoneNumber number1;
number1.setNumber("123");
number1.setSubTypes(QContactPhoneNumber::SubTypeMobile);
c.saveDetail(&number1);
c.setPreferredDetail("call", number1);
QContactPhoneNumber number2;
number2.setNumber("456");
number2.setSubTypes(QContactPhoneNumber::SubTypeMobile);
c.saveDetail(&number2);
c.setPreferredDetail("videocall", number2);
QContactPhoneNumber number3;
number3.setNumber("789");
number3.setSubTypes(QContactPhoneNumber::SubTypeMobile);
c.saveDetail(&number3);
c.setPreferredDetail("message", number3);
QContactEmailAddress email;
email.setEmailAddress("dummyemail");
c.saveDetail(&email);
c.setPreferredDetail("email", email);
QContactOnlineAccount onlineAccount;
onlineAccount.setAccountUri("dummy");
onlineAccount.setSubTypes(QContactOnlineAccount::SubTypeImpp);
c.saveDetail(&onlineAccount);
c.setPreferredDetail("OnlineAccountActions", onlineAccount);
QContactUrl url;
url.setUrl("http://dummy");
c.saveDetail(&url);
c.setPreferredDetail("url", url);
QVERIFY(m_engine->saveContact(&c, &err));
QVERIFY(err == QContactManager::NoError);
//fetch the saved contact and check preferred details
QContactFetchHint hint = QContactFetchHint();
QContact fetched = m_engine->contact(c.localId(), hint, &err);
QVERIFY(err == QContactManager::NoError);
QContactDetail callDetail1 = fetched.preferredDetail("call");
QVERIFY(callDetail1.definitionName() == QContactPhoneNumber::DefinitionName);
QContactPhoneNumber fetchedNumber1 = static_cast<QContactPhoneNumber>(callDetail1);
QVERIFY(fetchedNumber1.number() == "123");
QContactDetail callDetail2 = fetched.preferredDetail("videocall");
QVERIFY(callDetail2.definitionName() == QContactPhoneNumber::DefinitionName);
QContactPhoneNumber fetchedNumber2 = static_cast<QContactPhoneNumber>(callDetail2);
QVERIFY(fetchedNumber2.number() == "456");
QContactDetail callDetail3 = fetched.preferredDetail("message");
QVERIFY(callDetail3.definitionName() == QContactPhoneNumber::DefinitionName);
QContactPhoneNumber fetchedNumber3 = static_cast<QContactPhoneNumber>(callDetail3);
QVERIFY(fetchedNumber3.number() == "789");
QContactDetail emailDetail = fetched.preferredDetail("email");
QVERIFY(emailDetail.definitionName() == QContactEmailAddress::DefinitionName);
QContactEmailAddress fetchedEmail = static_cast<QContactEmailAddress>(emailDetail);
QVERIFY(fetchedEmail.emailAddress() == "dummyemail");
QContactDetail onlineAccountDetail = fetched.preferredDetail("OnlineAccountActions");
QVERIFY(onlineAccountDetail.definitionName() == QContactOnlineAccount::DefinitionName);
QContactOnlineAccount fetchedOnlineAccount = static_cast<QContactOnlineAccount>(onlineAccountDetail);
QVERIFY(fetchedOnlineAccount.accountUri() == "dummy");
QContactDetail urlDetail = fetched.preferredDetail("url");
QVERIFY(urlDetail.definitionName() == QContactUrl::DefinitionName);
QContactUrl fetchedUrl = static_cast<QContactUrl>(urlDetail);
QVERIFY(fetchedUrl.url() == "http://dummy");
//save a contact with one preferred details for several actions
QContact c2;
c2.setType(QContactType::TypeContact);
c2.saveDetail(&number1);
c2.setPreferredDetail("call", number1);
c2.setPreferredDetail("videocall", number1);
c2.setPreferredDetail("message", number1);
QVERIFY(m_engine->saveContact(&c2, &err));
QVERIFY(err == QContactManager::NoError);
//fetch the saved contact and check preferred details
QContact fetched2 = m_engine->contact(c2.localId(), hint, &err);
QVERIFY(err == QContactManager::NoError);
QContactDetail callDetail4 = fetched2.preferredDetail("call");
QVERIFY(callDetail4.definitionName() == QContactPhoneNumber::DefinitionName);
QContactPhoneNumber fetchedNumber4 = static_cast<QContactPhoneNumber>(callDetail4);
QVERIFY(fetchedNumber4.number() == "123");
//.........这里部分代码省略.........
示例5: performRequests
void AsyncRequestExample::performRequests()
{
//! [Creating a new contact in a manager]
QContact exampleContact;
QContactName nameDetail;
nameDetail.setFirstName("Adam");
nameDetail.setLastName("Unlikely");
QContactPhoneNumber phoneNumberDetail;
phoneNumberDetail.setNumber("+123 4567");
exampleContact.saveDetail(&nameDetail);
exampleContact.saveDetail(&phoneNumberDetail);
// save the newly created contact in the manager
connect(&m_contactSaveRequest, SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(contactSaveRequestStateChanged(QContactAbstractRequest::State)));
m_contactSaveRequest.setManager(m_manager);
m_contactSaveRequest.setContacts(QList<QContact>() << exampleContact);
m_contactSaveRequest.start();
//! [Creating a new contact in a manager]
m_contactSaveRequest.waitForFinished();
//! [Creating a new contact in a manager waiting until finished]
m_contactSaveRequest.setManager(m_manager);
m_contactSaveRequest.setContacts(QList<QContact>() << exampleContact);
m_contactSaveRequest.start();
m_contactSaveRequest.waitForFinished();
QList<QContact> savedContacts = m_contactSaveRequest.contacts();
//! [Creating a new contact in a manager waiting until finished]
//! [Filtering contacts from a manager]
connect(&m_contactFetchRequest, SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(contactFetchRequestStateChanged(QContactAbstractRequest::State)));
m_contactFetchRequest.setManager(m_manager);
m_contactFetchRequest.setFilter(QContactPhoneNumber::match("+123 4567"));
m_contactFetchRequest.start();
//! [Filtering contacts from a manager]
m_contactFetchRequest.waitForFinished();
//! [Retrieving an existing contact from a manager]
QContactLocalIdFilter idListFilter;
idListFilter.setIds(QList<QContactLocalId>() << exampleContact.localId());
m_contactFetchRequest.setManager(m_manager);
m_contactFetchRequest.setFilter(idListFilter);
m_contactFetchRequest.start();
//! [Retrieving an existing contact from a manager]
m_contactFetchRequest.waitForFinished();
//! [Updating an existing contact in a manager]
phoneNumberDetail.setNumber("+123 9876");
exampleContact.saveDetail(&phoneNumberDetail);
m_contactSaveRequest.setManager(m_manager);
m_contactSaveRequest.setContacts(QList<QContact>() << exampleContact);
m_contactSaveRequest.start();
//! [Updating an existing contact in a manager]
m_contactFetchRequest.waitForFinished();
//! [Removing a contact from a manager]
connect(&m_contactRemoveRequest, SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(contactRemoveRequestStateChanged(QContactAbstractRequest::State)));
m_contactRemoveRequest.setManager(m_manager);
m_contactRemoveRequest.setContactIds(QList<QContactLocalId>() << exampleContact.localId());
m_contactRemoveRequest.start();
//! [Removing a contact from a manager]
m_contactFetchRequest.waitForFinished();
//! [Creating a new relationship between two contacts]
// first, create the group and the group member
QContact exampleGroup;
exampleGroup.setType(QContactType::TypeGroup);
QContactNickname groupName;
groupName.setNickname("Example Group");
exampleGroup.saveDetail(&groupName);
QContact exampleGroupMember;
QContactName groupMemberName;
groupMemberName.setFirstName("Member");
exampleGroupMember.saveDetail(&groupMemberName);
// second, save those contacts in the manager
QList<QContact> saveList;
saveList << exampleGroup << exampleGroupMember;
m_contactSaveRequest.setContacts(saveList);
m_contactSaveRequest.start();
m_contactSaveRequest.waitForFinished();
// third, create the relationship between those contacts
QContactRelationship groupRelationship;
groupRelationship.setFirst(exampleGroup.id());
groupRelationship.setRelationshipType(QContactRelationship::HasMember);
groupRelationship.setSecond(exampleGroupMember.id());
// finally, save the relationship in the manager
connect(&m_relationshipSaveRequest, SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(relationshipSaveRequestStateChanged(QContactAbstractRequest::State)));
m_relationshipSaveRequest.setManager(m_manager);
m_relationshipSaveRequest.setRelationships(QList<QContactRelationship>() << groupRelationship);
//.........这里部分代码省略.........