summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qvariant.cpp
diff options
context:
space:
mode:
authorDenis Dzyubenko <denis.dzyubenko@nokia.com>2012-01-02 16:25:17 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-05 02:17:04 +0100
commit92f9678055eef647c9e6ebc7fb0ce29b89db5f89 (patch)
tree3c4a5232263e6684bceff91fd8b351ad3b6fa127 /src/corelib/kernel/qvariant.cpp
parent99eb5051039052bc782ca3224aac1c9b99c67b28 (diff)
Registered QUuid in the metatype system as a builtin type.
Change-Id: I6be6129d9f6bf468ba8a5805cfa0f6f79199afb3 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
Diffstat (limited to 'src/corelib/kernel/qvariant.cpp')
-rw-r--r--src/corelib/kernel/qvariant.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index f898cc4823..abffe53ab7 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -52,6 +52,7 @@
#include "qstringlist.h"
#include "qurl.h"
#include "qlocale.h"
+#include "quuid.h"
#include "private/qvariant_p.h"
#include "qmetatype_p.h"
@@ -345,6 +346,9 @@ static bool convert(const QVariant::Private *d, QVariant::Type t, void *result,
case QVariant::Url:
*str = v_cast<QUrl>(d)->toString();
break;
+ case QVariant::Uuid:
+ *str = v_cast<QUuid>(d)->toString();
+ break;
default:
return false;
}
@@ -709,6 +713,15 @@ static bool convert(const QVariant::Private *d, QVariant::Type t, void *result,
return *ok;
}
#endif
+ case QVariant::Uuid:
+ switch (d->type) {
+ case QVariant::String:
+ *static_cast<QUuid *>(result) = QUuid(*v_cast<QString>(d));
+ break;
+ default:
+ return false;
+ }
+ break;
default:
return false;
}
@@ -807,6 +820,9 @@ static void streamDebug(QDebug dbg, const QVariant &v)
dbg.nospace() << v.toRectF();
break;
#endif
+ case QVariant::Uuid:
+ dbg.nospace() << v.value<QUuid>().toString();
+ break;
case QVariant::BitArray:
//dbg.nospace() << v.toBitArray();
break;
@@ -1073,6 +1089,7 @@ Q_CORE_EXPORT void QVariantPrivate::unregisterHandler(const int /* Modules::Name
\value DateTime a QDateTime
\value Double a double
\value EasingCurve a QEasingCurve
+ \value Uuid a QUuid
\value Font a QFont
\value Hash a QVariantHash
\value Icon a QIcon
@@ -2402,7 +2419,7 @@ static const quint32 qCanConvertMatrix[QVariant::LastCoreType + 1] =
| 1 << QVariant::UInt | 1 << QVariant::Bool | 1 << QVariant::Double
| 1 << QVariant::Date | 1 << QVariant::Time | 1 << QVariant::DateTime
| 1 << QVariant::LongLong | 1 << QVariant::ULongLong | 1 << QVariant::Char
- | 1 << QVariant::Url,
+ | 1 << QVariant::Url | 1 << QVariant::Uuid,
/*QStringList*/ 1 << QVariant::List | 1 << QVariant::String,
@@ -2441,7 +2458,9 @@ static const quint32 qCanConvertMatrix[QVariant::LastCoreType + 1] =
/*QHash*/ 0,
-/*QEasingCurve*/ 0
+/*QEasingCurve*/ 0,
+
+/*QUuid*/ 1 << QVariant::String
};
/*!