summaryrefslogtreecommitdiffstats
path: root/common/query.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/query.h')
-rw-r--r--common/query.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/common/query.h b/common/query.h
index b69639b..c265f92 100644
--- a/common/query.h
+++ b/common/query.h
@@ -325,16 +325,17 @@ public:
325 } 325 }
326 326
327 template <typename T> 327 template <typename T>
328 Query &filter(const QVariant &value) 328 Query &filter(const typename T::Type &value)
329 { 329 {
330 filter(T::name, value); 330 filter(T::name, QVariant::fromValue(value));
331 return *this; 331 return *this;
332 } 332 }
333 333
334 template <typename T> 334 template <typename T>
335 Query &containsFilter(const QVariant &value) 335 Query &containsFilter(const QByteArray &value)
336 { 336 {
337 QueryBase::filter(T::name, QueryBase::Comparator(value, QueryBase::Comparator::Contains)); 337 static_assert(std::is_same<typename T::Type, QByteArrayList>::value, "The contains filter is only implemented for QByteArray in QByteArrayList");
338 QueryBase::filter(T::name, QueryBase::Comparator(QVariant::fromValue(value), QueryBase::Comparator::Contains));
338 return *this; 339 return *this;
339 } 340 }
340 341
@@ -366,7 +367,7 @@ public:
366 template <typename T> 367 template <typename T>
367 Query &filter(const ApplicationDomain::Entity &value) 368 Query &filter(const ApplicationDomain::Entity &value)
368 { 369 {
369 filter(T::name, QVariant::fromValue(value.identifier())); 370 filter(T::name, QVariant::fromValue(ApplicationDomain::Reference{value.identifier()}));
370 return *this; 371 return *this;
371 } 372 }
372 373