summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Araujo Oliveira Filho <renato.filho@canonical.com>2015-03-26 11:49:19 -0300
committerRenato Araujo Oliveira Filho <renato.filho@canonical.com>2015-04-16 16:51:28 +0000
commit7687b224709d2b4638f78811412d82b8b4d25df1 (patch)
treedaa48e1789a552c3f5135cda1fd31edf42969c34
parent057193a3f2723c3d22d9e07ddf23b192407eb6b1 (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.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);