/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!

\page vcardsupport.html

\target vcardsupport
\title Supported vCard Features

\section1 Properties

The following table lists the vCard properties that the \l{Qt Versit}
module supports.

\table
  \header
    \li Versit Property
    \li QContactDetail
  \row
    \li ADR
    \li QContactAddress
  \row
    \li BDAY
    \li QContactBirthday
  \row
    \li CATEGORIES, X-CATEGORIES*
    \li QContactTag
  \row
    \li FN
    \li QContactName (CustomLabel field)
  \row
    \li GEO
    \li QContactGeoLocation
  \row
    \li EMAIL
    \li QContactEmailAddress
  \row
    \li IMPP, X-IMPP*
    \li QContactOnlineAccount (SubTypeImpp)
  \row
    \li LOGO
    \li QContactOrganization (LogoUrl field)
  \row
    \li N
    \li QContactName
  \row
    \li NICKNAME, X-NICKNAME*, X-EPOCSECONDNAME*
    \li QContactNickname
  \row
    \li NOTE
    \li QContactNote
  \row
    \li ORG
    \li QContactOrganization (Name field)
  \row
    \li PHOTO
    \li QContactAvatar for URLs. No support by default for base-64 encoded images.
  \row
    \li REV
    \li QContactTimestamp
  \row
    \li ROLE
    \li QContactOrganization (Role field)
  \row
    \li SOUND
    \li QContactRingtone
  \row
    \li TEL
    \li QContactPhoneNumber
  \row
    \li TITLE
    \li QContactOrganization (Title field)
  \row
    \li UID
    \li QContactGuid
  \row
    \li URL
    \li QContactUrl
  \row
    \li X-ANNIVERSARY
    \li QContactAnniversary
  \row
    \li X-ASSISTANT
    \li QContactOrganization (Assistant field)
  \row
    \li X-ASSISTANT-TEL
    \li QContactPhoneNumber (SubTypeAssistant)
  \row
    \li X-CHILDREN
    \li QContactFamily (Children field)
  \row
    \li X-QTPROJECT-FAVORITE
    \li QContactFavorite
  \row
    \li X-GENDER
    \li QContactGender
  \row
    \li X-JABBER
    \li QContactOnlineAccount (SubTypeImpp)
  \row
    \li X-QTPROJECT-EXTENDED-DETAIL**
    \li QContactExtendedDetail
  \row
    \li X-SIP
    \li QContactOnlineAccount
  \row
    \li X-SPOUSE
    \li QContactFamily (Spouse field)
\endtable

* These are understood by the importer, but are not generated by the exporter.

** Extended detail data is serialized in JSON format. Since JSON natively supports
   booleans, (floating-point) numbers/doubles, strings, arrays/lists and objects/maps,
   other data types are converted to these when exporting. Importing the detail
   will generate an extended detail of one of the supported types listed above.
   See QJsonValue::fromVariant() in QtCore for the list of type conversions.

\section1 Parameters

The Versit module supports the following vCard parameter:
\list
  \li ENCODING (for base64 or quoted-printable values)
  \li CHARSET (text character set for a specific property)
  \li VALUE (for LOGO, SOUND and PHOTO to specify whether the resource is external or embedded)
  \li TYPE (see below)
\endlist

The following table lists the values that are supported for the TYPE parameter:

\table
  \header
    \li Value of TYPE parameter
    \li Value of QContactDetail Context/SubType
  \row
    \li HOME
    \li QContactDetail::ContextHome
  \row
    \li WORK
    \li QContactDetail::ContextWork
  \row
    \li DOM
    \li QContactAddress::SubTypeDomestic
  \row
    \li INTL
    \li QContactAddress::SubTypeInternational
  \row
    \li POSTAL
    \li QContactAddress::SubTypePostal
  \row
    \li PARCEL
    \li QContactAddress::SubTypeParcel
  \row
    \li VOICE
    \li QContactPhoneNumber::SubTypeVoice
  \row
    \li CELL
    \li QContactPhoneNumber::SubTypeMobile
  \row
    \li MODEM
    \li QContactPhoneNumber::SubTypeModem
  \row
    \li CAR
    \li QContactPhoneNumber::SubTypeCar
  \row
    \li VIDEO
    \li QContactPhoneNumber::SubTypeVideo
  \row
    \li FAX
    \li QContactPhoneNumber::SubTypeFax
  \row
    \li BBS
    \li QContactPhoneNumber::SubTypeBulletinBoardSystem
  \row
    \li PAGER
    \li QContactPhoneNumber::SubTypePager
  \row
    \li ISDN
    \li QContactPhoneNumber::SubTypeLandline
  \row
    \li SWIS
    \li QContactOnlineAccount::SubTypeVideoShare
  \row
    \li VOIP
    \li QContactOnlineAccount::SubTypeSipVoip
\endtable

PREF is partially supported.  If a property has the parameter TYPE set to PREF, the QContactDetail
that it generates is placed at the front of the list saved to the resultant QContact.  This has the
effect that calling QContact::detail() will return it in preference over other details.  However,
the existence of the PREF parameter is not preserved, so it won't appear when exporting the contact
back to vCard.

*/
