Display SIM contacts using QML ContactModel
Article Metadata
Tested with
SDK: Nokia Qt SDK 1.1.4
Devices(s): Nokia C6-01
Compatibility
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
}
}
}

