diff options
author | Renato Araujo Oliveira Filho <renato.filho@canonical.com> | 2015-03-26 11:49:19 -0300 |
---|---|---|
committer | Renato Araujo Oliveira Filho <renato.filho@canonical.com> | 2015-04-16 16:51:28 +0000 |
commit | 7687b224709d2b4638f78811412d82b8b4d25df1 (patch) | |
tree | daa48e1789a552c3f5135cda1fd31edf42969c34 | |
parent | 057193a3f2723c3d22d9e07ddf23b192407eb6b1 (diff) |
Added 'detailTypesHint' property to QDeclarativeOrganizerItemFetchHint.
Allow filter OrganizerItem details fetched on a qml model query.
Change-Id: I169cf511cd3073dbc0162e6228b900efb1e98250
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
-rw-r--r-- | src/imports/organizer/qdeclarativeorganizeritemfetchhint.cpp | 29 | ||||
-rw-r--r-- | src/imports/organizer/qdeclarativeorganizeritemfetchhint_p.h | 4 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/imports/organizer/qdeclarativeorganizeritemfetchhint.cpp b/src/imports/organizer/qdeclarativeorganizeritemfetchhint.cpp index 6c890098b..62ddabf69 100644 --- a/src/imports/organizer/qdeclarativeorganizeritemfetchhint.cpp +++ b/src/imports/organizer/qdeclarativeorganizeritemfetchhint.cpp @@ -33,6 +33,8 @@ #include "qdeclarativeorganizeritemfetchhint_p.h" +#include <QtCore/qset.h> + QTORGANIZER_USE_NAMESPACE QT_BEGIN_NAMESPACE @@ -92,6 +94,33 @@ void QDeclarativeOrganizerItemFetchHint::setOptimizationHints(OptimizationHints } /*! + \qmlproperty list<int> FetchHint::detailTypesHint + + This property holds a list of organizer item detail types + the manager should (at a minimum) retrieve when fetching contacts. + */ +QList<int> QDeclarativeOrganizerItemFetchHint::detailTypesHint() const +{ + QList<int> savedList; + foreach (const QOrganizerItemDetail::DetailType &detailTypeHint, d.detailTypesHint()) + savedList << static_cast<int>(detailTypeHint); + + return savedList; +} + +void QDeclarativeOrganizerItemFetchHint::setDetailTypesHint(const QList<int> &detailTypes) +{ + if (detailTypes.toSet() != detailTypesHint().toSet()) { + QList<QOrganizerItemDetail::DetailType> convertedDetailTypes; + foreach (const int detailType, detailTypes) + convertedDetailTypes << static_cast<QOrganizerItemDetail::DetailType>(detailType); + + d.setDetailTypesHint(convertedDetailTypes); + emit fetchHintChanged(); + } +} + +/*! \internal */ QOrganizerItemFetchHint QDeclarativeOrganizerItemFetchHint::fetchHint() const diff --git a/src/imports/organizer/qdeclarativeorganizeritemfetchhint_p.h b/src/imports/organizer/qdeclarativeorganizeritemfetchhint_p.h index 59f5235be..709cb3d97 100644 --- a/src/imports/organizer/qdeclarativeorganizeritemfetchhint_p.h +++ b/src/imports/organizer/qdeclarativeorganizeritemfetchhint_p.h @@ -46,6 +46,7 @@ class QDeclarativeOrganizerItemFetchHint : public QObject { Q_OBJECT + Q_PROPERTY(QList<int> detailTypesHint READ detailTypesHint WRITE setDetailTypesHint NOTIFY fetchHintChanged ) Q_PROPERTY(OptimizationHints optimizationHints READ optimizationHints WRITE setOptimizationHints NOTIFY fetchHintChanged) Q_ENUMS(OptimizationHint) @@ -64,6 +65,9 @@ public: OptimizationHints optimizationHints() const; void setOptimizationHints(OptimizationHints hints); + QList<int> detailTypesHint() const; + void setDetailTypesHint(const QList<int> &detailTypes); + QOrganizerItemFetchHint fetchHint() const; void setFetchHint(const QOrganizerItemFetchHint &fetchHint); |