summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qguivariant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qguivariant.cpp')
-rw-r--r--src/gui/kernel/qguivariant.cpp87
1 files changed, 24 insertions, 63 deletions
diff --git a/src/gui/kernel/qguivariant.cpp b/src/gui/kernel/qguivariant.cpp
index bd5036650a..f09b9609e6 100644
--- a/src/gui/kernel/qguivariant.cpp
+++ b/src/gui/kernel/qguivariant.cpp
@@ -48,7 +48,6 @@
#include "qdatastream.h"
#include "qdebug.h"
#include "qfont.h"
-#include "qicon.h"
#include "qimage.h"
#include "qkeysequence.h"
#include "qtransform.h"
@@ -58,7 +57,6 @@
#include "qpixmap.h"
#include "qpolygon.h"
#include "qregion.h"
-#include "qsizepolicy.h"
#include "qtextformat.h"
#include "qmatrix4x4.h"
#include "qvector2d.h"
@@ -70,10 +68,7 @@
QT_BEGIN_NAMESPACE
-#ifdef QT3_SUPPORT
-extern QDataStream &qt_stream_out_qcolorgroup(QDataStream &s, const QColorGroup &g);
-extern QDataStream &qt_stream_in_qcolorgroup(QDataStream &s, QColorGroup &g);
-#endif
+Q_GUI_EXPORT const QVariant::Handler *qt_widgets_variant_handler = 0;
Q_CORE_EXPORT const QVariant::Handler *qcoreVariantHandler();
@@ -107,16 +102,6 @@ static void construct(QVariant::Private *x, const void *copy)
case QVariant::Palette:
v_construct<QPalette>(x, copy);
break;
-#ifdef QT3_SUPPORT
- case QVariant::ColorGroup:
- v_construct<QColorGroup>(x, copy);
- break;
-#endif
-#ifndef QT_NO_ICON
- case QVariant::Icon:
- v_construct<QIcon>(x, copy);
- break;
-#endif
case QVariant::Matrix:
v_construct<QMatrix>(x, copy);
break;
@@ -137,9 +122,6 @@ static void construct(QVariant::Private *x, const void *copy)
case QVariant::Pen:
v_construct<QPen>(x, copy);
break;
- case QVariant::SizePolicy:
- v_construct<QSizePolicy>(x, copy);
- break;
#ifndef QT_NO_CURSOR
case QVariant::Cursor:
v_construct<QCursor>(x, copy);
@@ -178,6 +160,13 @@ static void construct(QVariant::Private *x, const void *copy)
v_construct<QQuaternion>(x, copy);
break;
#endif
+ case QVariant::SizePolicy:
+ case QVariant::Icon:
+ if (qt_widgets_variant_handler) {
+ qt_widgets_variant_handler->construct(x, copy);
+ return;
+ }
+ break;
default:
qcoreVariantHandler()->construct(x, copy);
return;
@@ -218,16 +207,6 @@ static void clear(QVariant::Private *d)
case QVariant::Palette:
v_clear<QPalette>(d);
break;
-#ifdef QT3_SUPPORT
- case QVariant::ColorGroup:
- v_clear<QColorGroup>(d);
- break;
-#endif
-#ifndef QT_NO_ICON
- case QVariant::Icon:
- v_clear<QIcon>(d);
- break;
-#endif
case QVariant::Matrix:
v_clear<QMatrix>(d);
break;
@@ -240,9 +219,6 @@ static void clear(QVariant::Private *d)
case QVariant::TextLength:
v_clear<QTextLength>(d);
break;
- case QVariant::SizePolicy:
- v_clear<QSizePolicy>(d);
- break;
#ifndef QT_NO_SHORTCUT
case QVariant::KeySequence:
v_clear<QKeySequence>(d);
@@ -276,6 +252,13 @@ static void clear(QVariant::Private *d)
v_clear<QVector4D>(d);
break;
#endif
+ case QVariant::SizePolicy:
+ case QVariant::Icon:
+ if (qt_widgets_variant_handler) {
+ qt_widgets_variant_handler->clear(d);
+ return;
+ }
+ break;
default:
qcoreVariantHandler()->clear(d);
return;
@@ -300,10 +283,6 @@ static bool isNull(const QVariant::Private *d)
return v_cast<QPixmap>(d)->isNull();
case QVariant::Image:
return v_cast<QImage>(d)->isNull();
-#ifndef QT_NO_ICON
- case QVariant::Icon:
- return v_cast<QIcon>(d)->isNull();
-#endif
case QVariant::Matrix:
case QVariant::TextFormat:
case QVariant::TextLength:
@@ -313,9 +292,6 @@ static bool isNull(const QVariant::Private *d)
case QVariant::Brush:
case QVariant::Color:
case QVariant::Palette:
-#ifdef QT3_SUPPORT
- case QVariant::ColorGroup:
-#endif
case QVariant::SizePolicy:
#ifndef QT_NO_SHORTCUT
case QVariant::KeySequence:
@@ -341,6 +317,10 @@ static bool isNull(const QVariant::Private *d)
case QVariant::Quaternion:
return v_cast<QQuaternion>(d)->isNull();
#endif
+ case QVariant::Icon:
+ if (qt_widgets_variant_handler)
+ return qt_widgets_variant_handler->isNull(d);
+ break;
default:
return qcoreVariantHandler()->isNull(d);
}
@@ -374,10 +354,6 @@ static bool compare(const QVariant::Private *a, const QVariant::Private *b)
return *v_cast<QColor>(a) == *v_cast<QColor>(b);
case QVariant::Palette:
return *v_cast<QPalette>(a) == *v_cast<QPalette>(b);
-#ifdef QT3_SUPPORT
- case QVariant::ColorGroup:
- return *v_cast<QColorGroup>(a) == *v_cast<QColorGroup>(b);
-#endif
#ifndef QT_NO_ICON
case QVariant::Icon:
/* QIcon::operator==() cannot be reasonably implemented for QIcon,
@@ -392,8 +368,6 @@ static bool compare(const QVariant::Private *a, const QVariant::Private *b)
return *v_cast<QTextFormat>(a) == *v_cast<QTextFormat>(b);
case QVariant::TextLength:
return *v_cast<QTextLength>(a) == *v_cast<QTextLength>(b);
- case QVariant::SizePolicy:
- return *v_cast<QSizePolicy>(a) == *v_cast<QSizePolicy>(b);
#ifndef QT_NO_SHORTCUT
case QVariant::KeySequence:
return *v_cast<QKeySequence>(a) == *v_cast<QKeySequence>(b);
@@ -420,6 +394,10 @@ static bool compare(const QVariant::Private *a, const QVariant::Private *b)
case QVariant::Quaternion:
return *v_cast<QQuaternion>(a) == *v_cast<QQuaternion>(b);
#endif
+ case QVariant::SizePolicy:
+ if (qt_widgets_variant_handler)
+ return qt_widgets_variant_handler->compare(a, b);
+ break;
default:
break;
}
@@ -688,17 +666,11 @@ extern Q_CORE_EXPORT const QMetaTypeGuiHelper *qMetaTypeGuiHelper;
static const QLoad##TYPE qLoad##TYPE = qMetaTypeLoadHelper<TYPE>;
#endif
-#ifdef QT3_SUPPORT
-Q_DECL_METATYPE_HELPER(QColorGroup)
-#endif
Q_DECL_METATYPE_HELPER(QFont)
Q_DECL_METATYPE_HELPER(QPixmap)
Q_DECL_METATYPE_HELPER(QBrush)
Q_DECL_METATYPE_HELPER(QColor)
Q_DECL_METATYPE_HELPER(QPalette)
-#ifndef QT_NO_ICON
-Q_DECL_METATYPE_HELPER(QIcon)
-#endif
Q_DECL_METATYPE_HELPER(QImage)
Q_DECL_METATYPE_HELPER(QPolygon)
Q_DECL_METATYPE_HELPER(QRegion)
@@ -706,7 +678,6 @@ Q_DECL_METATYPE_HELPER(QBitmap)
#ifndef QT_NO_CURSOR
Q_DECL_METATYPE_HELPER(QCursor)
#endif
-Q_DECL_METATYPE_HELPER(QSizePolicy)
#ifndef QT_NO_SHORTCUT
Q_DECL_METATYPE_HELPER(QKeySequence)
#endif
@@ -745,21 +716,11 @@ Q_DECL_METATYPE_HELPER(QQuaternion)
#endif
static const QMetaTypeGuiHelper qVariantGuiHelper[] = {
-#ifdef QT3_SUPPORT
- Q_IMPL_METATYPE_HELPER(QColorGroup),
-#else
- {0, 0, 0, 0},
-#endif
Q_IMPL_METATYPE_HELPER(QFont),
Q_IMPL_METATYPE_HELPER(QPixmap),
Q_IMPL_METATYPE_HELPER(QBrush),
Q_IMPL_METATYPE_HELPER(QColor),
Q_IMPL_METATYPE_HELPER(QPalette),
-#ifdef QT_NO_ICON
- {0, 0, 0, 0},
-#else
- Q_IMPL_METATYPE_HELPER(QIcon),
-#endif
Q_IMPL_METATYPE_HELPER(QImage),
Q_IMPL_METATYPE_HELPER(QPolygon),
Q_IMPL_METATYPE_HELPER(QRegion),
@@ -769,7 +730,6 @@ static const QMetaTypeGuiHelper qVariantGuiHelper[] = {
#else
Q_IMPL_METATYPE_HELPER(QCursor),
#endif
- Q_IMPL_METATYPE_HELPER(QSizePolicy),
#ifdef QT_NO_SHORTCUT
{0, 0, 0, 0},
#else
@@ -825,4 +785,5 @@ int qUnregisterGuiVariant()
}
Q_DESTRUCTOR_FUNCTION(qUnregisterGuiVariant)
+
QT_END_NAMESPACE