]> Some of my projects - localmylist.git/commitdiff
Add QVariant comparison for Qt4 builds.
authorAPTX <marek321@gmail.com>
Sun, 25 Jan 2015 15:31:57 +0000 (16:31 +0100)
committerAPTX <marek321@gmail.com>
Sun, 25 Jan 2015 15:31:57 +0000 (16:31 +0100)
You should be using Qt5 anyway.

localmylist/dynamicmodel/datatype.cpp

index 063b0929e8e4af439c8c39e032d9118fa6656100..95d4415e29000cd401ab58fcc6c2b36b5c7319b7 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <QtGlobal>
 #include <QSqlQuery>
+#include <QVariant>
 #include "database.h"
 #include "mylist.h"
 
@@ -128,7 +129,17 @@ NodeCompare DataType::nodeCompareFunction() const
 {
        return [](Node *a, Node *b)
        {
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
                return a->data()->primaryValue() < b->data()->primaryValue();
+#else
+               // No easy way to compare QVariants without all the stuff added in Qt5
+               if (a->data()->primaryValue().canConvert(QMetaType::Int))
+               {
+                       return a->data()->primaryValue().toInt() < b->data()->primaryValue().toInt();
+               }
+
+               return a->data()->primaryValue().toString() < b->data()->primaryValue().toString();
+#endif
        };
 }