plugins/contacts/maemo5/qcontactmaemo5backend.cpp
changeset 5 603d3f8b6302
parent 0 876b1a06bc25
equal deleted inserted replaced
3:e4ebb16b39ea 5:603d3f8b6302
   293     QMap<QString, QContactDetailFieldDefinition> fields;
   293     QMap<QString, QContactDetailFieldDefinition> fields;
   294     
   294     
   295     QContactDetailFieldDefinition gsfd; //Generic string field definition
   295     QContactDetailFieldDefinition gsfd; //Generic string field definition
   296     gsfd.setDataType(QVariant::String);
   296     gsfd.setDataType(QVariant::String);
   297 
   297 
       
   298     // XXX NOTE: only QContactPhoneNumber, QContactOnlineAccount,
       
   299     // QContactEmailAddress and QContactAddress are currently non-unique.
       
   300     
   298     // QContactAddress
   301     // QContactAddress
   299     fields = defns[contactType][QContactAddress::DefinitionName].fields();
   302     fields = defns[contactType][QContactAddress::DefinitionName].fields();
   300     fields.remove(QContactAddress::FieldSubTypes);
   303     fields.remove(QContactAddress::FieldSubTypes);
   301     fields.insert(AddressFieldExtension, gsfd);
   304     fields.insert(AddressFieldExtension, gsfd);
   302     fields.insert(QContactDetail::FieldDetailUri, gsfd);
   305     fields.insert(QContactDetail::FieldDetailUri, gsfd);
   403     phoneSubtype.setAllowableValues(allowableValues);
   406     phoneSubtype.setAllowableValues(allowableValues);
   404     fields.insert(QContactPhoneNumber::FieldSubTypes, phoneSubtype);
   407     fields.insert(QContactPhoneNumber::FieldSubTypes, phoneSubtype);
   405     defns[contactType][QContactPhoneNumber::DefinitionName].setFields(fields);
   408     defns[contactType][QContactPhoneNumber::DefinitionName].setFields(fields);
   406     defns[contactType][QContactPhoneNumber::DefinitionName].setUnique(false);
   409     defns[contactType][QContactPhoneNumber::DefinitionName].setUnique(false);
   407 
   410 
   408     // QContactPresence
   411     // No QContactPresence
   409     fields = defns[contactType][QContactPresence::DefinitionName].fields();
   412     defns[contactType].remove(QContactPresence::DefinitionName);
   410     fields.remove(QContactPresence::FieldTimestamp);
   413 
   411     fields.remove(QContactPresence::FieldPresenceState);
       
   412     defns[contactType][QContactPresence::DefinitionName].setFields(fields);
       
   413     defns[contactType][QContactPresence::DefinitionName].setUnique(false);
       
   414     
       
   415     // No QContactRingtone
   414     // No QContactRingtone
   416     defns[contactType].remove(QContactRingtone::DefinitionName);
   415     defns[contactType].remove(QContactRingtone::DefinitionName);
   417     
   416     
   418     // No QContactSyncTarget
   417     // No QContactSyncTarget
   419     defns[contactType].remove(QContactSyncTarget::DefinitionName);
   418     defns[contactType].remove(QContactSyncTarget::DefinitionName);
   423     
   422     
   424     // QContactTimestamp
   423     // QContactTimestamp
   425     fields = defns[contactType][QContactTimestamp::DefinitionName].fields();
   424     fields = defns[contactType][QContactTimestamp::DefinitionName].fields();
   426     fields.remove(QContactDetail::FieldContext);
   425     fields.remove(QContactDetail::FieldContext);
   427     defns[contactType][QContactTimestamp::DefinitionName].setFields(fields);
   426     defns[contactType][QContactTimestamp::DefinitionName].setFields(fields);
   428     
   427 
   429     // QContactType
   428     // QContactType
   430     fields = defns[contactType][QContactType::DefinitionName].fields();
   429     fields = defns[contactType][QContactType::DefinitionName].fields();
   431     fields.remove(QContactDetail::FieldContext);
   430     fields.remove(QContactDetail::FieldContext);
   432     defns[contactType][QContactType::DefinitionName].setFields(fields);
   431     defns[contactType][QContactType::DefinitionName].setFields(fields);
   433 
   432 
   619 
   618 
   620        updateDefinitionFetchRequest(r, requestedDefinitions, operationError, errorMap, QContactAbstractRequest::FinishedState);
   619        updateDefinitionFetchRequest(r, requestedDefinitions, operationError, errorMap, QContactAbstractRequest::FinishedState);
   621      } break;
   620      } break;
   622      default:
   621      default:
   623      {
   622      {
   624        // this engine currently does not support mutable definitions.
   623        // symbian engine currently does not support mutable definitions.
   625      } break;
   624      } break;
   626 
   625 
   627     
   626     
   628   } 
   627   } 
   629 }
   628 }