ContactDetails QML Type
The ContactDetails type holds contact details for a Place. More...
Import Statement: | import QtLocation 5.15 |
Since: | QtLocation 5.5 |
Methods
- variant keys()
Detailed Description
The ContactDetails type is a map of ContactDetail objects. To access contact details in the map use the keys() method to get the list of keys stored in the map and then use the []
operator to access the ContactDetail items.
The following keys are defined in the API. Plugin implementations are free to define additional keys.
- phone
- fax
- website
ContactDetails instances are only ever used in the context of Places. It is not possible to create a ContactDetails instance directly or re-assign ContactDetails instances to Places. Modification of ContactDetails can only be accomplished via Javascript.
Examples
The following example shows how to access all ContactDetails and print them to the console:
import QtPositioning 5.5 import QtLocation 5.6 function printContactDetails(contactDetails) { var keys = contactDetails.keys(); for (var i = 0; i < keys.length; ++i) { var contactList = contactDetails[keys[i]]; for (var j = 0; j < contactList.length; ++j) { console.log(contactList[j].label + ": " + contactList[j].value); } } }
The returned list of contact details is an object list and so can be used directly as a data model. For example, the following demonstrates how to display a list of contact phone numbers in a list view:
import QtQuick 2.0 import QtPositioning 5.5 import QtLocation 5.6 ListView { model: place.contactDetails.phone; delegate: Text { text: modelData.label + ": " + modelData.value } }
The following example demonstrates how to assign a single phone number to a place in JavaScript:
function writeSingle() { var phoneNumber = Qt.createQmlObject('import QtLocation 5.3; ContactDetail {}', place); phoneNumber.label = "Phone"; phoneNumber.value = "555-5555" place.contactDetails.phone = phoneNumber; }
The following demonstrates how to assign multiple phone numbers to a place in JavaScript:
function writeMultiple() { var bob = Qt.createQmlObject('import QtLocation 5.3; ContactDetail {}', place); bob.label = "Bob"; bob.value = "555-5555" var alice = Qt.createQmlObject('import QtLocation 5.3; ContactDetail {}', place); alice.label = "Alice"; alice.value = "555-8745" var numbers = new Array(); numbers.push(bob); numbers.push(alice); place.contactDetails.phone = numbers; }