--- a/qtmobility/plugins/contacts/symbian/src/transform/cnttransformonlineaccount.cpp Fri Jun 11 14:26:25 2010 +0300
+++ b/qtmobility/plugins/contacts/symbian/src/transform/cnttransformonlineaccount.cpp Wed Jun 23 19:08:38 2010 +0300
@@ -199,20 +199,6 @@
return onlineAccount;
}
-bool CntTransformOnlineAccount::supportsField(TUint32 fieldType) const
-{
- bool ret = false;
- if (fieldType == KUidContactFieldSIPID.iUid ||
- fieldType == KUidContactFieldIMPP.iUid ||
- fieldType == KUidContactFieldServiceProvider.iUid ||
- fieldType == KUidContactFieldPresence.iUid ||
- fieldType == KUidContactFieldStatusMsg.iUid )
- {
- ret = true;
- }
- return ret;
-}
-
bool CntTransformOnlineAccount::supportsDetail(QString detailName) const
{
bool ret = false;
@@ -222,6 +208,16 @@
return ret;
}
+QList<TUid> CntTransformOnlineAccount::supportedFields() const
+{
+ return QList<TUid>()
+ << KUidContactFieldSIPID
+ << KUidContactFieldIMPP
+ << KUidContactFieldServiceProvider
+ << KUidContactFieldPresence
+ << KUidContactFieldStatusMsg;
+}
+
QList<TUid> CntTransformOnlineAccount::supportedSortingFieldTypes(QString detailFieldName) const
{
QList<TUid> uids;
@@ -285,6 +281,16 @@
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);