This file is indexed.

/usr/share/qt5/doc/qtcontacts/qml-contacts.html is in qtpim5-doc-html 5.0~git20140515~29475884-0ubuntu24~7.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qml-contacts.qdoc -->
  <title>Qt Contacts QML API | Qt 5.0</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td >Qt 5.0</td><td >Qt Contacts QML API</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.0.0 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#overview">Overview</a></li>
<li class="level2"><a href="#contact-model">Contact Model</a></li>
<li class="level2"><a href="#filters">Filters</a></li>
<li class="level2"><a href="#contact-type">Contact type</a></li>
<li class="level1"><a href="#reference-documentation">Reference documentation</a></li>
<li class="level2"><a href="#main-classes">Main Classes</a></li>
<li class="level2"><a href="#detail-leaf-classes">Detail Leaf Classes</a></li>
<li class="level2"><a href="#item-matching-and-filtering">Item matching and filtering</a></li>
<li class="level2"><a href="#examples">Examples</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Qt Contacts QML API</h1>
<span class="subtitle"></span>
<!-- $$$qml-contacts.html-description -->
<div class="descr"> <a name="details"></a>
<a name="overview"></a>
<h2 id="overview">Overview</h2>
<p>To be able to use this component the QML <i>import</i> statement needs to reference the module before it can used. Simply add the following to the QML file:</p>
<pre class="qml">

  import QtContacts 5.0

</pre>
<p>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.</p>
<p>The following describes the API. The <a href="qml-contacts.html#examples">Examples</a> section contains sample code for the QML API.</p>
<a name="contact-model"></a>
<h3 >Contact Model</h3>
<p>The Contact itself is represented by a model called a <a href="qml-qtcontacts-contactmodel.html">ContactModel</a>. 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.</p>
<a name="filters"></a>
<h3 >Filters</h3>
<p>Developers can construct a series of filters and combine them using the <a href="qml-qtcontacts-intersectionfilter.html">IntersectionFilter</a> and <a href="qml-qtcontacts-unionfilter.html">UnionFilter</a> types to represent a logical <i>and</i> and <i>or</i> of the results. There are also other properties that give control over the filter logic, such as <a href="qml-qtcontacts-detailrangefilter.html#rangeFlags-prop">RangeFlags</a> and the <a href="qml-qtcontacts-detailfilter.html#matchFlags-prop">MatchFlags</a>.</p>
<p>As an example, consider the follow QML code which has a <a href="qml-qtcontacts-contactmodel.html">ContactModel</a> type 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.</p>
<p>The list of contacts in this <a href="qml-qtcontacts-contactmodel.html">ContactModel</a> will be first sorted on the contacts' organization name and then on the contacts' first name.</p>
<pre class="cpp">

  import <span class="type"><a href="qtcontacts-qmlmodule.html">QtContacts</a></span> <span class="number">5.0</span>

  <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>

  model: ContactModel {

      filter: IntersectionFilter {
          DetailFilter {
              detail:ContactDetail<span class="operator">.</span>Address
              field: Address<span class="operator">.</span>Country
              value: <span class="string">&quot;Finland&quot;</span>
          }
          UnionFilter {
              DetailRangeFilter {
                  detail:ContactDetail<span class="operator">.</span>Birthday
                  field:Birthday<span class="operator">.</span>Birthday
                  min: <span class="char">'1970-01-01'</span>
                  max: <span class="char">'1984-12-31'</span>
              }
              DetailFilter {
                  detail:ContactDetail<span class="operator">.</span>Gender
                  field:Gender<span class="operator">.</span>Gender
                  value:Gender<span class="operator">.</span>Male
              }
          }
      }
      sortOrders: <span class="operator">[</span>
         SortOrder {
            detail:ContactDetail<span class="operator">.</span>Organization
            field:Organization<span class="operator">.</span>Name
            direction:<span class="type">Qt</span><span class="operator">.</span>AscendingOrder
         }<span class="operator">,</span>
         SortOrder {
            detail:ContactDetail<span class="operator">.</span>Name
            field:Name<span class="operator">.</span>FirstName
            direction:<span class="type">Qt</span><span class="operator">.</span>AscendingOrder
         }
      <span class="operator">]</span>
  }

</pre>
<a name="contact-type"></a>
<h3 >Contact type</h3>
<p>The <a href="qtcontacts-overview.html#contact">Contact</a> type represents a single contact instance from the contacts store. All contact details are organized as group properties.</p>
<p>The following snippet shows how you can construct a Contact object in QML:</p>
<pre class="cpp">

  Rectangle {
      id: topItem
      width: <span class="number">360</span>
      height: <span class="number">640</span>
      x: <span class="number">0</span>
      y: <span class="number">0</span>

      Contact {
          id: myContact
          Name {
              firstName:<span class="string">&quot;John&quot;</span>
              lastName:<span class="string">&quot;Gates&quot;</span>
          }

          EmailAddress {
              emailAddress:<span class="string">&quot;john@example.com&quot;</span>
          }
          EmailAddress {
              emailAddress:<span class="string">&quot;mygmailaccount@gmail.com&quot;</span>
          }

          address<span class="operator">.</span>street:<span class="string">&quot;53 Mysteet St&quot;</span>
          address<span class="operator">.</span>locality: <span class="string">&quot;My City&quot;</span>
          address<span class="operator">.</span>region: <span class="string">&quot;My Region&quot;</span>
          address<span class="operator">.</span>postcode:<span class="string">&quot;1111&quot;</span>
          address<span class="operator">.</span>country:<span class="string">&quot;My Country&quot;</span>
          address<span class="operator">.</span>subTypes:<span class="operator">[</span>Address<span class="operator">.</span>Postal<span class="operator">,</span> Address<span class="operator">.</span>Domestic<span class="operator">]</span>
          address<span class="operator">.</span>postOfficeBox:<span class="string">&quot;1111&quot;</span>

          Nickname {
              nickname:<span class="string">&quot;John&quot;</span>
          }

          PhoneNumber {
              number: <span class="string">&quot;1111111111&quot;</span>
              subTypes:<span class="operator">[</span>PhoneNumber<span class="operator">.</span>Mobile<span class="operator">]</span>
          }

          PhoneNumber {
              number: <span class="string">&quot;2222222222&quot;</span>
              subTypes:<span class="operator">[</span>PhoneNumber<span class="operator">.</span>Fax<span class="operator">]</span>
          }

          PhoneNumber {
              number: <span class="string">&quot;3333333333&quot;</span>
              subTypes:<span class="operator">[</span>PhoneNumber<span class="operator">.</span>Landline<span class="operator">]</span>
          }
      }

      Column {
          spacing:<span class="number">4</span>

          <span class="comment">//access the same property with different syntaxes</span>
          Text { text:<span class="string">&quot;Name(from property name):&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>name<span class="operator">.</span>firstName <span class="operator">+</span> <span class="string">&quot; &quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>name<span class="operator">.</span>lastName }
          Text { text:<span class="string">&quot;Name(from detail type):&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>detail(ContactDetail<span class="operator">.</span>Name)<span class="operator">.</span>firstName <span class="operator">+</span> <span class="string">&quot; &quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>name<span class="operator">.</span>lastName }

          Text { text:<span class="string">&quot;Address:&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>address<span class="operator">.</span>street <span class="operator">+</span> <span class="string">&quot; &quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>address<span class="operator">.</span>locality <span class="operator">+</span> <span class="string">&quot; &quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>address<span class="operator">.</span>region <span class="operator">+</span> <span class="string">&quot; &quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>address<span class="operator">.</span>postcode }

          <span class="comment">//If a contact contains multiple details for the same detail type, you can access them with the property in plural</span>
          Text { text:<span class="string">&quot;How many email accounts?:&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>emails<span class="operator">.</span>length }
          Text { text:<span class="string">&quot;Email[0]:&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>emails<span class="operator">[</span><span class="number">0</span><span class="operator">]</span><span class="operator">.</span>emailAddress }

          Text { text:<span class="string">&quot;How many phone numbers?:&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>phoneNumbers<span class="operator">.</span>length }
          Text { text:<span class="string">&quot;phone number[0]:&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>phoneNumbers<span class="operator">[</span><span class="number">0</span><span class="operator">]</span><span class="operator">.</span>number }
          Text { text:<span class="string">&quot;phone number[1]:&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>phoneNumbers<span class="operator">[</span><span class="number">1</span><span class="operator">]</span><span class="operator">.</span>number }
          Text { text:<span class="string">&quot;phone number[2]:&quot;</span> <span class="operator">+</span> myContact<span class="operator">.</span>phoneNumbers<span class="operator">[</span><span class="number">2</span><span class="operator">]</span><span class="operator">.</span>number }
      }
  }

</pre>
<a name="reference-documentation"></a>
<h2 id="reference-documentation">Reference documentation</h2>
<a name="main-classes"></a>
<h3 >Main Classes</h3>
<div class="table"><table class="annotated">
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-contact.html">Contact</a></p></td><td class="tblDescr"><p>Element represents an addressbook contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-contactdetail.html">ContactDetail</a></p></td><td class="tblDescr"><p>Element represents a single, complete detail about a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-fetchhint.html">FetchHint</a></p></td><td class="tblDescr"><p>Element provides hints to the manager about which contact information needs to be retrieved in an asynchronous fetch request or a synchronous function call</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-filter.html">Filter</a></p></td><td class="tblDescr"><p>Element is used as a property of ContactModel, to allow selection of contacts which have certain details or properties</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-contactmodel.html">ContactModel</a></p></td><td class="tblDescr"><p>Element provides access to contacts from the contacts store</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-relationship.html">Relationship</a></p></td><td class="tblDescr"><p>Element describes a one-to-one relationship between a locally-stored contact and another (possibly remote) contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-relationshipmodel.html">RelationshipModel</a></p></td><td class="tblDescr"><p>Model of contact relationships from the contacts store</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-sortorder.html">SortOrder</a></p></td><td class="tblDescr"><p>Element defines how a list of contacts should be ordered according to some criteria</p></td></tr>
</table></div>
<a name="detail-leaf-classes"></a>
<h3 >Detail Leaf Classes</h3>
<div class="table"><table class="annotated">
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-address.html">Address</a></p></td><td class="tblDescr"><p>Element contains an address of a contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-anniversary.html">Anniversary</a></p></td><td class="tblDescr"><p>Element contains an anniversary of a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-avatar.html">Avatar</a></p></td><td class="tblDescr"><p>Element contains avatar URLs of a contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-birthday.html">Birthday</a></p></td><td class="tblDescr"><p>Element contains a birthday of a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-displaylabel.html">DisplayLabel</a></p></td><td class="tblDescr"><p>Element contains a label that can be used by clients when displaying a contact, for example in a list</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-emailaddress.html">EmailAddress</a></p></td><td class="tblDescr"><p>Element contains an email address of a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-extendeddetail.html">ExtendedDetail</a></p></td><td class="tblDescr"><p>Element contains an extended detail of a contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-family.html">Family</a></p></td><td class="tblDescr"><p>Element contains names of family members of a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-favorite.html">Favorite</a></p></td><td class="tblDescr"><p>Element indicates if a contact is a favorite contact as well as the position it should appear in an ordered list of favorites</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-gender.html">Gender</a></p></td><td class="tblDescr"><p>Element contains the gender of a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-geolocation.html">GeoLocation</a></p></td><td class="tblDescr"><p>Element contains a global location coordinate associated with a contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-globalpresence.html">GlobalPresence</a></p></td><td class="tblDescr"><p>Element provides aggregated presence information for a contact, synthesized or supplied by the backend</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-guid.html">Guid</a></p></td><td class="tblDescr"><p>Element contains a globally unique Id of a contact, for use in synchronization with other datastores</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-hobby.html">Hobby</a></p></td><td class="tblDescr"><p>Element contains a hobby of the contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-name.html">Name</a></p></td><td class="tblDescr"><p>Element contains a name of a contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-nickname.html">Nickname</a></p></td><td class="tblDescr"><p>Element contains a nickname of a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-note.html">Note</a></p></td><td class="tblDescr"><p>Element contains a note associated with a contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-onlineaccount.html">OnlineAccount</a></p></td><td class="tblDescr"><p>Element contains a note associated with a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-organization.html">Organization</a></p></td><td class="tblDescr"><p>Element provides details about an organization that the contact is either a part of, or stands for</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-phonenumber.html">PhoneNumber</a></p></td><td class="tblDescr"><p>Element provides a phone number of a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-presence.html">Presence</a></p></td><td class="tblDescr"><p>Element provides presence information for an online account of a contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-ringtone.html">Ringtone</a></p></td><td class="tblDescr"><p>Element provides a ringtone associated with a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-synctarget.html">SyncTarget</a></p></td><td class="tblDescr"><p>Element provides a sync target for a contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-tag.html">Tag</a></p></td><td class="tblDescr"><p>Element provides a contains a tag associated with a contact</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-timestamp.html">Timestamp</a></p></td><td class="tblDescr"><p>Element contains the creation and last-modified timestamp associated with the contact</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-url.html">Url</a></p></td><td class="tblDescr"><p>Element contains a url associated with a contact</p></td></tr>
</table></div>
<a name="item-matching-and-filtering"></a>
<h3 >Item matching and filtering</h3>
<div class="table"><table class="annotated">
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-actionfilter.html">ActionFilter</a></p></td><td class="tblDescr"><p>Element provides a filter based around an action availability criterion</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-changelogfilter.html">ChangeLogFilter</a></p></td><td class="tblDescr"><p>Element provides a filter based around a contact timestamp criterion</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-detailfilter.html">DetailFilter</a></p></td><td class="tblDescr"><p>Element provides a filter based around a detail value criterion</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-detailrangefilter.html">DetailRangeFilter</a></p></td><td class="tblDescr"><p>Element provides a filter based around a detail value range criterion</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-idfilter.html">IdFilter</a></p></td><td class="tblDescr"><p>Element provides a filter based around a list of contact ids</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-intersectionfilter.html">IntersectionFilter</a></p></td><td class="tblDescr"><p>Element provides a filter which intersects the results of other filters</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-invalidfilter.html">InvalidFilter</a></p></td><td class="tblDescr"><p>The InvalidFilter element provides a filter which will never match any contacts</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qml-qtcontacts-relationshipfilter.html">RelationshipFilter</a></p></td><td class="tblDescr"><p>Element provides a filter based around relationship criteria</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qml-qtcontacts-unionfilter.html">UnionFilter</a></p></td><td class="tblDescr"><p>Element provides a filter which unions the results of other filters</p></td></tr>
</table></div>
<a name="examples"></a>
<h3 >Examples</h3>
<p>The following sample applications show examples of API usage:</p>
<ul>
<li><a href="qtcontacts-qmlcontactslistview-example.html">Qt Quick Contacts List view</a></li>
</ul>
</div>
<!-- @@@qml-contacts.html -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2017 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>