Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

Contacts QML API

QML Support for the Contacts API.

Overview

To be able to use this component the QML import statement needs to reference the module before it can used. Simply add the following to the QML file:

 import QtContacts 5.0

The Contacts API enables client to search for contacts data from local backends and use filters to get only the relevant results. The QML Contacts API delivers this capability in easy to use form.

The following describes the API. You can also study the Examples or try the Tutorials to help get started quickly.

Contact Model

The Contact itself is represented by a model called a ContactModel. This model supplies a rich selection of properties to display or to use as filter criteria. The model is then used to perform requests on a contacts store.

Filters

User of the API can construct a series of filters and combine them using the IntersectionFilter and UnionFilter to represent a logical 'and' and 'or' of the results. There are also other properties that give control over the filter logic, such as RangeFlags and the MatchFlags.

As an example consider the follow QML code which has a ContactModel element containing a filter and a list of sort orders. The contacts will be restricted to those living in Finland who are either male or born between 1970 and 1984.

The list of contacts in this ContactModel will be first sorted on the contacts' organization name and then on the contacts' first name.

 import QtContacts 5.0

 ...

 model: ContactModel {

     filter: IntersectionFilter {
         DetailFilter {
             detail:ContactDetail.Address
             field: Address.Country
             value: "Finland"
         }
         UnionFilter {
             DetailRangeFilter {
                 detail:ContactDetail.Birthday
                 field:Birthday.Birthday
                 min: '1970-01-01'
                 max: '1984-12-31'
             }
             DetailFilter {
                 detail:ContactDetail.Gender
                 field:Gender.Gender
                 value:Gender.Male
             }
         }
     }
     sortOrders: [
        SortOrder {
           detail:ContactDetail.Organization
           field:Organization.Name
           direction:Qt.AscendingOrder
        },
        SortOrder {
           detail:ContactDetail.Name
           field:Name.FirstName
           direction:Qt.AscendingOrder
        }
     ]
 }

Contact element

The Contact element represents a single contact instance from the contacts store. All contact details are organized as group properties.

The following snippet shows how you can construct a Contact object in QML:

 Rectangle {
     id: topItem
     width: 360
     height: 640
     x: 0
     y: 0

     Contact {
         id: myContact
         Name {
             firstName:"John"
             lastName:"Gates"
         }

         EmailAddress {
             emailAddress:"john@example.com"
         }
         EmailAddress {
             emailAddress:"mygmailaccount@gmail.com"
         }

         address.street:"53 Mysteet St"
         address.locality: "My City"
         address.region: "My Region"
         address.postcode:"1111"
         address.country:"My Country"
         address.subTypes:[Address.Postal, Address.Domestic]
         address.postOfficeBox:"1111"

         Nickname {
             nickname:"John"
         }

         PhoneNumber {
             number: "1111111111"
             subTypes:[PhoneNumber.Mobile]
         }

         PhoneNumber {
             number: "2222222222"
             subTypes:[PhoneNumber.Fax]
         }

         PhoneNumber {
             number: "3333333333"
             subTypes:[PhoneNumber.Landline]
         }
     }

     Column {
         spacing:4

         //access the same property with different syntaxes
         Text { text:"Name(from property name):" + myContact.name.firstName + " " + myContact.name.lastName }
         Text { text:"Name(from detail type):" + myContact.detail(ContactDetail.Name).firstName + " " + myContact.name.lastName }

         Text { text:"Address:" + myContact.address.street + " " + myContact.address.locality + " " + myContact.address.region + " " + myContact.address.postcode }

         //If a contact contains multiple details for the same detail type, you can access them with the property in plural
         Text { text:"How many email accounts?:" + myContact.emails.length }
         Text { text:"Email[0]:" + myContact.emails[0].emailAddress }

         Text { text:"How many phone numbers?:" + myContact.phoneNumbers.length }
         Text { text:"phone number[0]:" + myContact.phoneNumbers[0].number }
         Text { text:"phone number[1]:" + myContact.phoneNumbers[1].number }
         Text { text:"phone number[2]:" + myContact.phoneNumbers[2].number }
     }
 }

Reference documentation

Main Classes

QtContacts5::Contact

The Contact element represents an addressbook contact.

QtContacts5::ContactDetail

The ContactDetail element represents a single, complete detail about a contact.

QtContacts5::ContactModel

The ContactModel element provides access to contacts from the contacts store.

QtContacts5::FetchHint

The FetchHint element provides hints to the manager about which contact information needs to be retrieved in an asynchronous fetch request or a synchronous function call.

QtContacts5::Filter

The Filter element is used as a property of ContactModel, to allow selection of contacts which have certain details or properties.

QtContacts5::Relationship

The Relationship element describes a one-to-one relationship between a locally-stored contact and another (possibly remote) contact.

QtContacts5::RelationshipModel

The RelationshipModel provides a model of contact relationships from the contacts store.

QtContacts5::SortOrder

The SortOrder element defines how a list of contacts should be ordered according to some criteria.

Detail Leaf Classes

QtContacts5::Address

The Address element contains an address of a contact.

QtContacts5::Anniversary

The Anniversary element contains an anniversary of a contact.

QtContacts5::Avatar

The Avatar element contains avatar URLs of a contact.

QtContacts5::Birthday

The Birthday element contains a birthday of a contact.

QtContacts5::DisplayLabel

The DisplayLabel element contains a label that can be used by clients when displaying a contact, for example in a list.

QtContacts5::EmailAddress

The EmailAddress element contains an email address of a contact.

QtContacts5::ExtendedDetail

The ExtendedDetail element contains an extended detail of a contact.

QtContacts5::Family

The Family element contains names of family members of a contact.

QtContacts5::Favorite

The Favorite element indicates if a contact is a favorite contact as well as the position it should appear in an ordered list of favorites.

QtContacts5::Gender

The Gender element contains the gender of a contact.

QtContacts5::GeoLocation

The GeoLocation element contains a global location coordinate associated with a contact.

QtContacts5::GlobalPresence

The GlobalPresence element provides aggregated presence information for a contact, synthesized or supplied by the backend.

QtContacts5::Guid

The Guid element contains a globally unique Id of a contact, for use in synchronization with other datastores.

QtContacts5::Hobby

The Hobby element contains a hobby of the contact.

QtContacts5::Name

The Name element contains a name of a contact.

QtContacts5::Nickname

The Nickname element contains a nickname of a contact.

QtContacts5::Note

The Note element contains a note associated with a contact.

QtContacts5::OnlineAccount

The OnlineAccount element contains a note associated with a contact.

QtContacts5::Organization

The Organization element provides details about an organization that the contact is either a part of, or stands for.

QtContacts5::PhoneNumber

The PhoneNumber element provides a phone number of a contact.

QtContacts5::Presence

The Presence element provides presence information for an online account of a contact.

QtContacts5::Ringtone

The Ringtone element provides a ringtone associated with a contact.

QtContacts5::SyncTarget

The SyncTarget element provides a sync target for a contact.

QtContacts5::Tag

The Tag element provides a contains a tag associated with a contact.

QtContacts5::Timestamp

The Timestamp element contains the creation and last-modified timestamp associated with the contact.

QtContacts5::Url

The Url element contains a url associated with a contact.

Item matching and filtering

QtContacts5::ActionFilter

The ActionFilter element provides a filter based around an action availability criterion.

QtContacts5::ChangeLogFilter

The ChangeLogFilter element provides a filter based around a contact timestamp criterion.

QtContacts5::DetailFilter

The DetailFilter element provides a filter based around a detail value criterion.

QtContacts5::DetailRangeFilter

The DetailRangeFilter element provides a filter based around a detail value range criterion.

QtContacts5::IdFilter

The IdFilter element provides a filter based around a list of contact ids.

QtContacts5::IntersectionFilter

The IntersectionFilter element provides a filter which intersects the results of other filters.

QtContacts5::InvalidFilter

the InvalidFilter element provides a filter which will never match any contacts.

QtContacts5::RelationshipFilter

The RelationshipFilter element provides a filter based around relationship criteria.

QtContacts5::UnionFilter

The UnionFilter element provides a filter which unions the results of other filters.

Examples

The following sample applications show examples of API usage:

Tutorials

The following tutorials are useful to work through the use of the Qt Quick Contacts API::

  • TODO: This needs a wml contacts tutorial
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 5.0-snapshot
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web