summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/organizer/qdeclarativeorganizeritemfetchhint.cpp29
-rw-r--r--src/imports/organizer/qdeclarativeorganizeritemfetchhint_p.h4
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);