×
Namespaces

Variants
Actions
Revision as of 07:06, 20 February 2012 by hamishwillee (Talk | contribs)

Display SIM contacts using QML ContactModel

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Tested with
Devices(s): Nokia C6-01
Compatibility
Platform(s):
Symbian
Device(s): Symbian
Platform Security
Capabilities: NetworkServices ReadUserData WriteUserData
Article
Keywords: ContactModel
Created: Devnull (13 Dec 2011)
Last edited: hamishwillee (20 Feb 2012)

Contents

Overview

This article shows how to use QML ContactModel Element which is a part of the Qt Mobility Project and displays SIM contacts on the screen. This example uses Contacts QML Plugin from the QtMobility QML Plugins.

Preconditions

Qt SDK version 1.1.4 or later. Create a new Qt Quick application.

Project File (.pro file)

  • Add the Qt Mobility project configuration option in the .pro file as shown below:
CONFIG += mobility
MOBILITY += contacts
  • Here is the project (.pro) file part related to Symbian capabilities:
symbian {
TARGET.CAPABILITY = NetworkServices ReadUserData WriteUserData
}

QML file

Here is the MainPage.qml:

import QtQuick 1.1
import com.nokia.symbian 1.1
import QtMobility.contacts 1.1
 
 
Page {
id: mainPage
 
 
Text {
id: title
text: "Contacts"
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 6
color: platformStyle.colorNormalLight
 
}
ListView {
id: mainList
anchors.left: parent.left
anchors.leftMargin: 3
anchors.right: parent.right
anchors.rightMargin: 3
anchors.top: title.bottom
anchors.bottom: parent.bottom
anchors.topMargin: 3
cacheBuffer: 100
clip: true
highlightFollowsCurrentItem: true
 
snapMode: ListView.SnapOneItem
model: contactModel.contacts
delegate: listDelegate
 
ContactModel {
id: contactModel
manager: "symbiansim" // "symbian" for other contact manager
autoUpdate :true
sortOrders:
SortOrder {
detail: ContactDetail.Name
field: Name.LastName
direction: Qt.AscendingOrder
}
}
 
Component {
id: listDelegate
 
ListItem {
id: contactItem
subItemIndicator: true
 
ListItemText {
id: nameItem
mode: contactItem.mode
role: "Title"
text: displayLabel
}
 
}
}
 
ScrollDecorator {
flickableItem: mainList
}
 
}
}
109 page views in the last 30 days.
×