summaryrefslogtreecommitdiffstats
path: root/src/imports/contacts/qdeclarativecontact_p.h
diff options
context:
space:
mode:
authorRenato Araujo Oliveira Filho <renato.filho@canonical.com>2013-07-19 15:23:01 -0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-26 15:14:10 +0200
commit8e9575f36c5cdfac374480c9fc20699c6bc82ba7 (patch)
tree465a35c9bc4a4435583eda81c25679986296e335 /src/imports/contacts/qdeclarativecontact_p.h
parent103993321e86b7e7698b5e6953991af1bb7f430e (diff)
Added support to preferredDetails on QML Contact.
Expose all functions related to preferredDetails into QML contacts. Task-number: QTBUG-32515 Change-Id: I93491cd8ef25cecd891334c7bc17cbb52773acd8 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'src/imports/contacts/qdeclarativecontact_p.h')
-rw-r--r--src/imports/contacts/qdeclarativecontact_p.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/imports/contacts/qdeclarativecontact_p.h b/src/imports/contacts/qdeclarativecontact_p.h
index 9abf0d450..2cd00953c 100644
--- a/src/imports/contacts/qdeclarativecontact_p.h
+++ b/src/imports/contacts/qdeclarativecontact_p.h
@@ -95,6 +95,7 @@ class QDeclarativeContact : public QObject
Q_PROPERTY (QDeclarativeContactUrl* url READ url NOTIFY contactChanged)
Q_PROPERTY (QQmlListProperty<QDeclarativeContactUrl> urls READ urls NOTIFY contactChanged)
Q_PROPERTY (QDeclarativeContactVersion* version READ version NOTIFY contactChanged)
+ Q_PROPERTY (QVariantMap preferredDetails READ preferredDetails NOTIFY contactChanged)
Q_CLASSINFO("DefaultProperty", "contactDetails")
public:
@@ -119,6 +120,11 @@ public:
Q_INVOKABLE bool removeDetail(QDeclarativeContactDetail* detail);
Q_INVOKABLE bool addDetail(QDeclarativeContactDetail* detail);
+ Q_INVOKABLE bool setPreferredDetail(const QString& actionName, QDeclarativeContactDetail* detail);
+ Q_INVOKABLE bool isPreferredDetail(const QString& actionName, QDeclarativeContactDetail* detail) const;
+ Q_INVOKABLE QDeclarativeContactDetail* preferredDetail(const QString& actionName) const;
+ QVariantMap preferredDetails() const;
+
QDeclarativeContactAddress* address();
QQmlListProperty<QDeclarativeContactAddress> addresses();
QDeclarativeContactAnniversary* anniversary();
@@ -160,6 +166,7 @@ protected:
// always create a copy of the detail for QML
// however, seems the garbage collection can't delete all of them (QTBUG-20377)
QList<QDeclarativeContactDetail *> m_details;
+ QMap<QString, int> m_preferredDetails;
public slots:
void clearDetails();
@@ -193,6 +200,8 @@ private:
return 0;
}
+ void removePreferredDetail(QDeclarativeContactDetail *detail);
+
// call-back functions for list property
static void _q_detail_append(QQmlListProperty<QDeclarativeContactDetail> *property, QDeclarativeContactDetail *value);
static QDeclarativeContactDetail *_q_detail_at(QQmlListProperty<QDeclarativeContactDetail> *property, int index);