From f85b9f824269073664770c11f58e674993d33e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Nowacki?= Date: Mon, 5 Dec 2011 12:43:10 +0100 Subject: Reimplement QVariant to QDebug streaming. New implementation fixes some commented code marked as FIXME. Change-Id: If8f5bebedd65bcf8f839d804c2022ca79ef82ddf Reviewed-by: Thiago Macieira --- src/gui/kernel/qguivariant.cpp | 87 ++---------------------------------------- 1 file changed, 3 insertions(+), 84 deletions(-) (limited to 'src/gui/kernel/qguivariant.cpp') diff --git a/src/gui/kernel/qguivariant.cpp b/src/gui/kernel/qguivariant.cpp index 8618c04a32..532a5353e2 100644 --- a/src/gui/kernel/qguivariant.cpp +++ b/src/gui/kernel/qguivariant.cpp @@ -345,90 +345,9 @@ static bool convert(const QVariant::Private *d, QVariant::Type t, #if !defined(QT_NO_DEBUG_STREAM) && !defined(Q_BROKEN_DEBUG_STREAM) static void streamDebug(QDebug dbg, const QVariant &v) { - switch(v.type()) { - case QVariant::Cursor: -#ifndef QT_NO_CURSOR -// dbg.nospace() << qvariant_cast(v); //FIXME -#endif - break; - case QVariant::Bitmap: -// dbg.nospace() << qvariant_cast(v); //FIXME - break; - case QVariant::Polygon: - dbg.nospace() << qvariant_cast(v); - break; - case QVariant::Region: - dbg.nospace() << qvariant_cast(v); - break; - case QVariant::Font: -// dbg.nospace() << qvariant_cast(v); //FIXME - break; - case QVariant::Matrix: - dbg.nospace() << qvariant_cast(v); - break; - case QVariant::Transform: - dbg.nospace() << qvariant_cast(v); - break; - case QVariant::Pixmap: -// dbg.nospace() << qvariant_cast(v); //FIXME - break; - case QVariant::Image: -// dbg.nospace() << qvariant_cast(v); //FIXME - break; - case QVariant::Brush: - dbg.nospace() << qvariant_cast(v); - break; - case QVariant::Color: - dbg.nospace() << qvariant_cast(v); - break; - case QVariant::Palette: -// dbg.nospace() << qvariant_cast(v); //FIXME - break; -#ifndef QT_NO_ICON - case QVariant::Icon: -// dbg.nospace() << qvariant_cast(v); // FIXME - break; -#endif - case QVariant::SizePolicy: -// dbg.nospace() << qvariant_cast(v); //FIXME - break; -#ifndef QT_NO_SHORTCUT - case QVariant::KeySequence: - dbg.nospace() << qvariant_cast(v); - break; -#endif - case QVariant::Pen: - dbg.nospace() << qvariant_cast(v); - break; -#ifndef QT_NO_MATRIX4X4 - case QVariant::Matrix4x4: - dbg.nospace() << qvariant_cast(v); - break; -#endif -#ifndef QT_NO_VECTOR2D - case QVariant::Vector2D: - dbg.nospace() << qvariant_cast(v); - break; -#endif -#ifndef QT_NO_VECTOR3D - case QVariant::Vector3D: - dbg.nospace() << qvariant_cast(v); - break; -#endif -#ifndef QT_NO_VECTOR4D - case QVariant::Vector4D: - dbg.nospace() << qvariant_cast(v); - break; -#endif -#ifndef QT_NO_QUATERNION - case QVariant::Quaternion: - dbg.nospace() << qvariant_cast(v); - break; -#endif - default: - qcoreVariantHandler()->debugStream(dbg, v); - break; - } + QVariant::Private *d = const_cast(&v.data_ptr()); + QVariantDebugStream stream(dbg, d); + QMetaTypeSwitcher::switcher(stream, d->type, 0); } #endif -- cgit v1.2.3