本文整理汇总了C++中QVersitDocument::properties方法的典型用法代码示例。如果您正苦于以下问题:C++ QVersitDocument::properties方法的具体用法?C++ QVersitDocument::properties怎么用?C++ QVersitDocument::properties使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QVersitDocument
的用法示例。
在下文中一共展示了QVersitDocument::properties方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: qHash
/*! Returns the hash value for \a key. */
uint qHash(const QVersitDocument &key)
{
int hash = QT_PREPEND_NAMESPACE(qHash)(key.type());
hash += QT_PREPEND_NAMESPACE(qHash)(key.componentType());
hash += key.properties().length() + key.subDocuments().length();
foreach (const QVersitProperty& property, key.properties()) {
hash += qHash(property);
}
foreach (const QVersitDocument& nested, key.subDocuments()) {
hash += qHash(nested);
}
return hash;
}
示例2: exportOwnContact
void MT_CntVersitMyCardPlugin::exportOwnContact()
{
//create contact
QContact phonecontact;
QContactName contactName;
contactName.setFirstName("Jo");
contactName.setLastName("Black");
phonecontact.saveDetail(&contactName);
QContactPhoneNumber number;
number.setContexts("Home");
number.setSubTypes("Mobile");
number.setNumber("+02644424429");
phonecontact.saveDetail(&number);
//set MyCard detail
QContactDetail myCard(MYCARD_DEFINTION_NAME);
phonecontact.saveDetail(&myCard);
//export
QList<QContact> list;
list.append(phonecontact);
QVersitContactExporter exporter;
QVERIFY(exporter.exportContacts(list, QVersitDocument::VCard21Type));
QList<QVersitDocument> documents = exporter.documents();
//X-SELF property is exported if MyCard
QVersitDocument document = documents.first();
QVersitProperty property;
property.setName(QLatin1String("X-SELF"));
property.setValue("0");
bool propertyFound = document.properties().contains(property);
QVERIFY(propertyFound);
}
示例3: foreach
QDebug operator<<(QDebug dbg, const QVersitDocument& document)
{
dbg.nospace() << "QVersitDocument(" << document.type() << ", " << document.componentType() << ')';
foreach (const QVersitProperty& property, document.properties()) {
dbg.space() << '\n' << property;
}
foreach (const QVersitDocument& nested, document.subDocuments()) {
dbg.space() << '\n' << nested;
}
return dbg.maybeSpace();
}
示例4: takeProperty
/*!
* Finds a property in the \a document with the given \a propertyName, adds it to \a toBeRemoved,
* and returns it.
*/
QVersitProperty VersitUtils::takeProperty(const QVersitDocument& document,
const QString& propertyName,
QList<QVersitProperty>* toBeRemoved) {
foreach (const QVersitProperty& currentProperty, document.properties()) {
if (currentProperty.name() == propertyName) {
*toBeRemoved << currentProperty;
return currentProperty;
}
}
return QVersitProperty();
}
示例5: encodeVersitDocument
/*!
* Encodes the \a document and writes it to the device. A "VERSION:" line is added iff \a
* encodeVersion is true.
*/
bool QVersitDocumentWriter::encodeVersitDocument(const QVersitDocument& document, bool encodeVersion)
{
mSuccessful = true;
if (document.componentType().isEmpty()) {
// for compatibility with code for Qt Mobility 1.0, which didn't have componentType
writeString(QStringLiteral("BEGIN:VCARD"));
} else {
writeString(QStringLiteral("BEGIN:") + document.componentType());
}
writeCrlf();
if (encodeVersion) {
switch (mType) {
case QVersitDocument::VCard21Type:
writeString(QStringLiteral("VERSION:2.1"));
writeCrlf();
break;
case QVersitDocument::VCard30Type:
writeString(QStringLiteral("VERSION:3.0"));
writeCrlf();
break;
case QVersitDocument::VCard40Type:
writeString(QStringLiteral("VERSION:4.0"));
writeCrlf();
break;
case QVersitDocument::ICalendar20Type:
writeString(QStringLiteral("VERSION:2.0"));
writeCrlf();
break;
default:
; // don't print version
}
}
foreach (const QVersitProperty& property, document.properties()) {
encodeVersitProperty(property);
}
foreach (const QVersitDocument& document, document.subDocuments()) {
encodeVersitDocument(document, false);
}
if (document.componentType().isEmpty()) {
writeString(QStringLiteral("END:VCARD"));
} else {
writeString(QStringLiteral("END:") + document.componentType());
}
writeCrlf();
// This has been set by the methods called from this function
return mSuccessful;
}
示例6: importContact
/*!
* Generates a QContact from \a versitDocument.
*/
bool QVersitContactImporterPrivate::importContact(
const QVersitDocument& document, int contactIndex, QContact* contact,
QVersitContactImporter::Error* error)
{
if (document.componentType() != QStringLiteral("VCARD")
&& document.type() != QVersitDocument::VCard21Type
&& document.type() != QVersitDocument::VCard30Type) {
*error = QVersitContactImporter::InvalidDocumentError;
return false;
}
const QList<QVersitProperty> properties = document.properties();
if (properties.size() == 0) {
*error = QVersitContactImporter::EmptyDocumentError;
return false;
}
// First, do the properties with PREF set so they appear first in the contact details
foreach (const QVersitProperty& property, properties) {
QStringList typeParameters = property.parameters().values(QStringLiteral("TYPE"));
if (typeParameters.contains(QStringLiteral("PREF"), Qt::CaseInsensitive))
importProperty(document, property, contactIndex, contact);
}