Branch 'kolab/integration/4.13.0' - akonadi/searchquery.cpp akonadi/searchquery.h
Sandro Knauß
knauss at kolabsys.com
Mon Sep 1 13:12:55 CEST 2014
akonadi/searchquery.cpp | 29 +++++++++++++++++++++++++++++
akonadi/searchquery.h | 32 ++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+)
New commits:
commit fc65b10588c6824823fa018150b6efb0ffb5c1eb
Author: Sandro Knauà <knauss at kolabsys.com>
Date: Thu Aug 28 13:44:46 2014 +0200
Add Search for Invitations,decliend events..
diff --git a/akonadi/searchquery.cpp b/akonadi/searchquery.cpp
index ab81b03..dd625dd 100644
--- a/akonadi/searchquery.cpp
+++ b/akonadi/searchquery.cpp
@@ -377,3 +377,32 @@ ContactSearchTerm::ContactSearchField ContactSearchTerm::fromKey(const QString &
{
return contactSearchFieldMapping.key(key);
}
+
+QMap<IncidenceSearchTerm::IncidenceSearchField, QString> initializeIncidenceMapping()
+{
+ QMap<IncidenceSearchTerm::IncidenceSearchField, QString> mapping;
+ mapping.insert(IncidenceSearchTerm::All, QLatin1String("all"));
+ mapping.insert(IncidenceSearchTerm::PartStatus, QLatin1String("partstatus"));
+ mapping.insert(IncidenceSearchTerm::Organizer, QLatin1String("organizer"));
+ mapping.insert(IncidenceSearchTerm::Summary, QLatin1String("summary"));
+ mapping.insert(IncidenceSearchTerm::Location, QLatin1String("location"));
+ return mapping;
+}
+
+static QMap<IncidenceSearchTerm::IncidenceSearchField, QString> incidenceSearchFieldMapping = initializeIncidenceMapping();
+
+IncidenceSearchTerm::IncidenceSearchTerm(IncidenceSearchTerm::IncidenceSearchField field, const QVariant &value, SearchTerm::Condition condition)
+: SearchTerm(toKey(field), value, condition)
+{
+
+}
+
+QString IncidenceSearchTerm::toKey(IncidenceSearchTerm::IncidenceSearchField field)
+{
+ return incidenceSearchFieldMapping.value(field);
+}
+
+IncidenceSearchTerm::IncidenceSearchField IncidenceSearchTerm::fromKey(const QString &key)
+{
+ return incidenceSearchFieldMapping.key(key);
+}
\ No newline at end of file
diff --git a/akonadi/searchquery.h b/akonadi/searchquery.h
index 3918c2b..ddaf6c5 100644
--- a/akonadi/searchquery.h
+++ b/akonadi/searchquery.h
@@ -271,6 +271,38 @@ public:
static ContactSearchField fromKey(const QString &key);
};
+/**
+ * A search term for a incidence field.
+ *
+ * This class can be used to create queries that akonadi incidence search backends understand.
+ *
+ * @since 5.0
+ */
+class AKONADI_EXPORT IncidenceSearchTerm : public SearchTerm
+{
+public:
+ enum IncidenceSearchField {
+ Unknown,
+ All,
+ PartStatus, // Own PartStatus
+ Organizer,
+ Summary,
+ Location
+ };
+
+ IncidenceSearchTerm(IncidenceSearchField field, const QVariant &value, SearchTerm::Condition condition = SearchTerm::CondEqual);
+
+ /**
+ * Translates field to key
+ */
+ static QString toKey(IncidenceSearchField);
+
+ /**
+ * Translates key to field
+ */
+ static IncidenceSearchField fromKey(const QString &key);
+};
+
}
#endif // AKONADI_SEARCHQUERY_H
More information about the commits
mailing list