From 7687b224709d2b4638f78811412d82b8b4d25df1 Mon Sep 17 00:00:00 2001 From: Renato Araujo Oliveira Filho Date: Thu, 26 Mar 2015 11:49:19 -0300 Subject: Added 'detailTypesHint' property to QDeclarativeOrganizerItemFetchHint. Allow filter OrganizerItem details fetched on a qml model query. Change-Id: I169cf511cd3073dbc0162e6228b900efb1e98250 Reviewed-by: Christopher Adams --- .../qdeclarativeorganizeritemfetchhint.cpp | 29 ++++++++++++++++++++++ .../qdeclarativeorganizeritemfetchhint_p.h | 4 +++ 2 files changed, 33 insertions(+) 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 + QTORGANIZER_USE_NAMESPACE QT_BEGIN_NAMESPACE @@ -91,6 +93,33 @@ void QDeclarativeOrganizerItemFetchHint::setOptimizationHints(OptimizationHints } } +/*! + \qmlproperty list FetchHint::detailTypesHint + + This property holds a list of organizer item detail types + the manager should (at a minimum) retrieve when fetching contacts. + */ +QList QDeclarativeOrganizerItemFetchHint::detailTypesHint() const +{ + QList savedList; + foreach (const QOrganizerItemDetail::DetailType &detailTypeHint, d.detailTypesHint()) + savedList << static_cast(detailTypeHint); + + return savedList; +} + +void QDeclarativeOrganizerItemFetchHint::setDetailTypesHint(const QList &detailTypes) +{ + if (detailTypes.toSet() != detailTypesHint().toSet()) { + QList convertedDetailTypes; + foreach (const int detailType, detailTypes) + convertedDetailTypes << static_cast(detailType); + + d.setDetailTypesHint(convertedDetailTypes); + emit fetchHintChanged(); + } +} + /*! \internal */ 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 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 detailTypesHint() const; + void setDetailTypesHint(const QList &detailTypes); + QOrganizerItemFetchHint fetchHint() const; void setFetchHint(const QOrganizerItemFetchHint &fetchHint); -- cgit v1.2.3