本文整理汇总了C++中QContactDetailDefinition::setFields方法的典型用法代码示例。如果您正苦于以下问题:C++ QContactDetailDefinition::setFields方法的具体用法?C++ QContactDetailDefinition::setFields怎么用?C++ QContactDetailDefinition::setFields使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QContactDetailDefinition
的用法示例。
在下文中一共展示了QContactDetailDefinition::setFields方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: detailDefinitions
/*!
* Modifies the detail definitions. The default detail definitions are
* queried from QContactManagerEngine::schemaDefinitions and then modified
* with this function in the transform leaf classes.
*
* \a definitions The detail definitions to modify.
* \a contactType The contact type the definitions apply for.
*/
void CntTransformAnniversarySimple::detailDefinitions(QMap<QString, QContactDetailDefinition> &definitions, const QString& contactType) const
{
Q_UNUSED(contactType);
if(definitions.contains(QContactAnniversary::DefinitionName)) {
QContactDetailDefinition d = definitions.value(QContactAnniversary::DefinitionName);
QMap<QString, QContactDetailFieldDefinition> fields = d.fields();
// Following fields not supported in symbian (pre-10.1) back-end, remove
fields.remove(QContactAnniversary::FieldCalendarId);
fields.remove(QContactAnniversary::FieldEvent);
// Sub-types not supported in symbian back-end, remove
fields.remove(QContactAnniversary::FieldSubType);
// Context not supported in symbian back-end, remove
fields.remove(QContactAnniversary::FieldContext);
d.setFields(fields);
d.setUnique(true);
// Replace original definitions
definitions.insert(d.name(), d);
}
}
示例2: detailDefinitions
/*!
* Modifies the detail definitions. The default detail definitions are
* queried from QContactManagerEngine::schemaDefinitions and then modified
* with this function in the transform leaf classes.
*
* \a definitions The detail definitions to modify.
* \a contactType The contact type the definitions apply for.
*/
void CntTransformOnlineAccount::detailDefinitions(QMap<QString, QContactDetailDefinition> &definitions, const QString& contactType) const
{
Q_UNUSED(contactType);
if(definitions.contains(QContactOnlineAccount::DefinitionName)) {
QContactDetailDefinition d = definitions.value(QContactOnlineAccount::DefinitionName);
QMap<QString, QContactDetailFieldDefinition> fields = d.fields();
QContactDetailFieldDefinition f;
// Support only certain subtypes
f.setDataType(QVariant::StringList);
QVariantList subTypes;
subTypes << QString(QLatin1String(QContactOnlineAccount::SubTypeSip));
subTypes << QString(QLatin1String(QContactOnlineAccount::SubTypeSipVoip));
subTypes << QString(QLatin1String(QContactOnlineAccount::SubTypeImpp));
subTypes << QString(QLatin1String(QContactOnlineAccount::SubTypeVideoShare));
f.setAllowableValues(subTypes);
fields[QContactOnlineAccount::FieldSubTypes] = f;
// Don't support "ContextOther"
f.setDataType(QVariant::StringList);
f.setAllowableValues(QVariantList()
<< QLatin1String(QContactDetail::ContextHome)
<< QLatin1String(QContactDetail::ContextWork));
fields[QContactDetail::FieldContext] = f;
d.setFields(fields);
// Replace original definitions
definitions.insert(d.name(), d);
}
}
示例3: detailDefinitions
/*!
* Modifies the detail definitions. The default detail definitions are
* queried from QContactManagerEngine::schemaDefinitions and then modified
* with this function in the transform leaf classes.
*
* \a definitions The detail definitions to modify.
* \a contactType The contact type the definitions apply for.
*/
void CntTransformOnlineAccount::detailDefinitions(QMap<QString, QContactDetailDefinition> &definitions, const QString& contactType) const
{
Q_UNUSED(contactType);
if(definitions.contains(QContactOnlineAccount::DefinitionName)) {
QContactDetailDefinition d = definitions.value(QContactOnlineAccount::DefinitionName);
QMap<QString, QContactDetailFieldDefinition> fields = d.fields();
QContactDetailFieldDefinition f;
// Not all fields are supported
fields.remove(QContactOnlineAccount::FieldCapabilities);
fields.remove(QContactOnlineAccount::FieldDetailUri);
fields.remove(QContactOnlineAccount::FieldLinkedDetailUris);
fields.remove(QContactOnlineAccount::FieldServiceProvider);
fields.remove(QContactOnlineAccount::FieldContext);
// Support only certain subtypes
f.setDataType(QVariant::StringList);
QVariantList subTypes;
subTypes << QString(QLatin1String(QContactOnlineAccount::SubTypeSip));
subTypes << QString(QLatin1String(QContactOnlineAccount::SubTypeSipVoip));
subTypes << QString(QLatin1String(QContactOnlineAccount::SubTypeVideoShare));
f.setAllowableValues(subTypes);
fields[QContactOnlineAccount::FieldSubTypes] = f;
d.setFields(fields);
// Replace original definitions
definitions.insert(d.name(), d);
}
}
示例4: QString
/*!
* Returns a map of identifier to detail definition which are valid for contacts whose type is the given \a contactType
* which are valid for the contacts in this store
*/
QMap<QString, QContactDetailDefinition> CntSymbianSimEngine::detailDefinitions(const QString& contactType, QContactManager::Error* error) const
{
if (!supportedContactTypes().contains(contactType)) {
// Should never happen
*error = QContactManager::NotSupportedError;
return QMap<QString, QContactDetailDefinition>();
}
// Get store information
SimStoreInfo storeInfo = d->m_simStore->storeInfo();
// the map we will eventually return
QMap<QString, QContactDetailDefinition> retn;
// local variables for reuse
QMap<QString, QContactDetailFieldDefinition> fields;
QContactDetailFieldDefinition f;
QContactDetailDefinition def;
QVariantList subTypes;
// sync target
def.setName(QContactSyncTarget::DefinitionName);
fields.clear();
f.setDataType(QVariant::String);
subTypes.clear();
subTypes << QString(QLatin1String(KSimSyncTarget));
f.setAllowableValues(subTypes);
fields.insert(QContactSyncTarget::FieldSyncTarget, f);
def.setFields(fields);
def.setUnique(true);
retn.insert(def.name(), def);
// type
def.setName(QContactType::DefinitionName);
fields.clear();
f.setDataType(QVariant::String);
subTypes.clear();
// groups are not supported
subTypes << QString(QLatin1String(QContactType::TypeContact));
f.setAllowableValues(subTypes);
fields.insert(QContactType::FieldType, f); // note: NO CONTEXT!!
def.setFields(fields);
def.setUnique(true);
retn.insert(def.name(), def);
/* TODO
// guid
def.setName(QContactGuid::DefinitionName);
fields.clear();
f.setDataType(QVariant::String);
f.setAllowableValues(QVariantList());
fields.insert(QContactGuid::FieldGuid, f);
f.setDataType(QVariant::StringList);
f.setAllowableValues(contexts);
fields.insert(QContactDetail::FieldContext, f);
def.setFields(fields);
def.setUnique(false);
def.setAccessConstraint(QContactDetailDefinition::CreateOnly);
retn.insert(def.name(), def);
*/
// display label
def.setName(QContactDisplayLabel::DefinitionName);
fields.clear();
f.setDataType(QVariant::String);
f.setAllowableValues(QVariantList());
fields.insert(QContactDisplayLabel::FieldLabel, f);
def.setFields(fields);
def.setUnique(true);
retn.insert(def.name(), def);
// email support needs to be checked run-time, because it is SIM specific
if (storeInfo.m_emailSupported) {
def.setName(QContactEmailAddress::DefinitionName);
fields.clear();
f.setDataType(QVariant::String);
f.setAllowableValues(QVariantList());
fields.insert(QContactEmailAddress::FieldEmailAddress, f);
def.setFields(fields);
def.setUnique(true);
retn.insert(def.name(), def);
}
// phone number
def.setName(QContactPhoneNumber::DefinitionName);
fields.clear();
f.setDataType(QVariant::String);
f.setAllowableValues(QVariantList());
fields.insert(QContactPhoneNumber::FieldNumber, f);
// TODO: subtypes supported in case a sim contact can have multiple phone numbers?
def.setFields(fields);
if (storeInfo.m_additionalNumberSupported) {
// multiple numbers supported
def.setUnique(false);
} else {
// only one phone number allowed
//.........这里部分代码省略.........