×
Namespaces

Variants
Actions
(Difference between revisions)

Display SIM contacts using QML ContactModel

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
hamishwillee (Talk | contribs)
m (Text replace - "Category:MeeGo" to "Category:MeeGo Harmattan")
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
[[Category:Qt Mobility]][[Category:Qt Quick]][[Category:Qt]]
+
[[Category:Qt Mobility]][[Category:Qt Quick]][[Category:MeeGo Harmattan]][[Category:Symbian]]
 +
{{Abstract|This article shows how to use [http://doc.qt.nokia.com/qtmobility-1.2/qml-contactmodel.html QML ContactModel Element]/[http://doc.qt.nokia.com/qtmobility/qml-contacts.html Contacts QML Plugin] to display [[SIM]] contacts on the screen.}} Note that contacts can also be accessed in C++, using the [http://doc.qt.nokia.com/qtmobility-1.2/contacts.html Qt Contacts API]. Note also that the snippet shows use of the API within a Symbian Qt Components framework - the code should work similarly on MeeGo using the MeeGo Qt Quick Components.
 +
 
 
{{ArticleMetaData <!-- v1.2 -->
 
{{ArticleMetaData <!-- v1.2 -->
 
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
 
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
Line 8: Line 10:
 
|devicecompatability= Symbian
 
|devicecompatability= Symbian
 
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
|signing= <!--  -->
+
|signing= Self-Signed
 
|capabilities= NetworkServices ReadUserData WriteUserData
 
|capabilities= NetworkServices ReadUserData WriteUserData
 
|keywords= ContactModel
 
|keywords= ContactModel
Line 22: Line 24:
 
|author= [[User:Devnull]]
 
|author= [[User:Devnull]]
 
}}
 
}}
 
== Overview ==
 
{{Abstract|This article shows how to use [http://doc.qt.nokia.com/qtmobility-1.2/qml-contactmodel.html QML ContactModel Element] which is a part of the [http://doc.qt.nokia.com/qtmobility-1.2/index.html Qt Mobility Project] and displays [[SIM]] contacts on the screen.}} This example uses [http://doc.qt.nokia.com/qtmobility/qml-contacts.html Contacts QML Plugin] from the [http://doc.qt.nokia.com/qtmobility/qml-plugins.html QtMobility QML Plugins].
 
  
 
==Preconditions==
 
==Preconditions==
Line 120: Line 119:
 
     }
 
     }
 
}
 
}
 
+
</code>
</code>[[Category:MeeGo]] [[Category:Symbian]]
+

Latest revision as of 13:52, 13 June 2012

This article shows how to use QML ContactModel Element/Contacts QML Plugin to display SIM contacts on the screen. Note that contacts can also be accessed in C++, using the Qt Contacts API. Note also that the snippet shows use of the API within a Symbian Qt Components framework - the code should work similarly on MeeGo using the MeeGo Qt Quick Components.

Article Metadata
Tested with
Devices(s): Nokia C6-01
Compatibility
Platform(s):
Symbian
Device(s): Symbian
Platform Security
Signing Required: Self-Signed
Capabilities: NetworkServices ReadUserData WriteUserData
Article
Keywords: ContactModel
Created: Devnull (13 Dec 2011)
Last edited: hamishwillee (13 Jun 2012)

[edit] Preconditions

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

[edit] 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
}

[edit] 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
}
 
}
}
This page was last modified on 13 June 2012, at 13:52.
103 page views in the last 30 days.
×