diff options
-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); |