diff options
author | Renato Araujo Oliveira Filho <renato.filho@canonical.com> | 2013-07-19 15:23:01 -0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-26 15:14:10 +0200 |
commit | 8e9575f36c5cdfac374480c9fc20699c6bc82ba7 (patch) | |
tree | 465a35c9bc4a4435583eda81c25679986296e335 /src/imports/contacts/qdeclarativecontact_p.h | |
parent | 103993321e86b7e7698b5e6953991af1bb7f430e (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.h | 9 |
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); |