diff --git a/src/gui/image/qicon_p.h b/src/gui/image/qicon_p.h index 1df91edeb6e167d5d52c3a64bf15f72c24adc7cd..cfae9b3e52e9a20e6035fa43c79f5fdc1c98cd9b 100644 --- a/src/gui/image/qicon_p.h +++ b/src/gui/image/qicon_p.h @@ -96,6 +96,7 @@ struct QPixmapIconEngineEntry QIcon::State state; bool isNull() const {return (fileName.isEmpty() && pixmap.isNull()); } }; +Q_DECLARE_TYPEINFO(QPixmapIconEngineEntry, Q_MOVABLE_TYPE); inline QPixmapIconEngineEntry::QPixmapIconEngineEntry(const QString &file, const QImage &image, QIcon::Mode m, QIcon::State s) : fileName(file), size(image.size()), mode(m), state(s) diff --git a/src/gui/itemmodels/qstandarditemmodel_p.h b/src/gui/itemmodels/qstandarditemmodel_p.h index 6ef7bfb412a77ddc08e661f6c22c1a64da16dbe9..1849e1a8500ebfe9e6c27c87c0233fec7d0ad6d8 100644 --- a/src/gui/itemmodels/qstandarditemmodel_p.h +++ b/src/gui/itemmodels/qstandarditemmodel_p.h @@ -72,6 +72,7 @@ public: QVariant value; inline bool operator==(const QStandardItemData &other) const { return role == other.role && value == other.value; } }; +Q_DECLARE_TYPEINFO(QStandardItemData, Q_MOVABLE_TYPE); #ifndef QT_NO_DATASTREAM diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index 029b76b2bdb3e26ce8970170f0e6a1fb3df48712..5752869cab924f20befab85ab7fe8e8a5ff27daa 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -575,8 +575,10 @@ private: Qt::InputMethodQuery query; QVariant value; }; + friend QTypeInfo<QueryPair>; QVector<QueryPair> m_values; }; +Q_DECLARE_TYPEINFO(QInputMethodQueryEvent::QueryPair, Q_MOVABLE_TYPE); #endif // QT_NO_INPUTMETHOD diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index cdc9838dbec587951f62c593a07fe07e5ca679c9..861d6517562480170d68a8a36ed9256fb1162455 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -1761,6 +1761,7 @@ struct QCrossingEdge return x < edge.x; } }; +Q_DECLARE_TYPEINFO(QCrossingEdge, Q_PRIMITIVE_TYPE); static bool bool_op(bool a, bool b, QPathClipper::Operation op) { diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp index 52bf44c64aaa0488c3c96b73d6bd98958b7439fc..0c3069db9763852c48a7fcb9e2bb1cd58fa51c5a 100644 --- a/src/gui/painting/qpdf.cpp +++ b/src/gui/painting/qpdf.cpp @@ -1976,6 +1976,7 @@ struct QGradientBound { int function; bool reverse; }; +Q_DECLARE_TYPEINFO(QGradientBound, Q_PRIMITIVE_TYPE); int QPdfEnginePrivate::createShadingFunction(const QGradient *gradient, int from, int to, bool reflect, bool alpha) { diff --git a/src/gui/text/qabstracttextdocumentlayout.h b/src/gui/text/qabstracttextdocumentlayout.h index e83f4fc0c94119773cef688a8f3cb032efa92ade..01704fe37b3a98237f2092d04c82c24b7ef1e971 100644 --- a/src/gui/text/qabstracttextdocumentlayout.h +++ b/src/gui/text/qabstracttextdocumentlayout.h @@ -128,6 +128,8 @@ private: Q_PRIVATE_SLOT(d_func(), int _q_dynamicPageCountSlot()) Q_PRIVATE_SLOT(d_func(), QSizeF _q_dynamicDocumentSizeSlot()) }; +Q_DECLARE_TYPEINFO(QAbstractTextDocumentLayout::Selection, Q_RELOCATABLE_TYPE); +Q_DECLARE_TYPEINFO(QAbstractTextDocumentLayout::PaintContext, Q_RELOCATABLE_TYPE); class Q_GUI_EXPORT QTextObjectInterface { diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index 32cf1b0e83057896b8cb3e7d8dd990f994112d35..629a098fb7fca80bf2c89ef657b2b3203a9aba2c 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -499,6 +499,7 @@ public: void invalidate(); }; +Q_DECLARE_TYPEINFO(QFontDatabasePrivate::ApplicationFont, Q_MOVABLE_TYPE); void QFontDatabasePrivate::invalidate() { diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h index f97f91da50e06b1b4df4df367f23730c4493e706..059b3df88ec0d44a310d3cd48a9ab05b59434eb5 100644 --- a/src/gui/text/qfontengine_p.h +++ b/src/gui/text/qfontengine_p.h @@ -334,6 +334,7 @@ private: mutable qreal m_minRightBearing; }; +Q_DECLARE_TYPEINFO(QFontEngine::KernPair, Q_PRIMITIVE_TYPE); Q_DECLARE_OPERATORS_FOR_FLAGS(QFontEngine::ShaperFlags) diff --git a/src/gui/text/qstatictext_p.h b/src/gui/text/qstatictext_p.h index d27d5a8725d162dffecb0e276df8f92cdb93f34e..7fdf46c101a5c4e88042017d588ecf65204af1df 100644 --- a/src/gui/text/qstatictext_p.h +++ b/src/gui/text/qstatictext_p.h @@ -119,6 +119,7 @@ private: // private to avoid abuse // ================ // 43 bytes per item }; +Q_DECLARE_TYPEINFO(QStaticTextItem, Q_MOVABLE_TYPE); class QStaticText; class Q_AUTOTEST_EXPORT QStaticTextPrivate diff --git a/src/gui/text/qtextdocumentfragment_p.h b/src/gui/text/qtextdocumentfragment_p.h index 4cc4f0429f5c08463d885d8943112f0e1ecba5b7..56dff0114981fe50fb7d1db4f3efcc767a1bec0d 100644 --- a/src/gui/text/qtextdocumentfragment_p.h +++ b/src/gui/text/qtextdocumentfragment_p.h @@ -148,6 +148,7 @@ private: int listNode; QPointer<QTextList> list; }; + friend class QTypeInfo<List>; QVector<List> lists; int indent; @@ -187,6 +188,7 @@ private: int row; int column; }; + friend class QTypeInfo<TableCellIterator>; friend struct Table; struct Table @@ -200,6 +202,7 @@ private: TableCellIterator currentCell; int lastIndent; }; + friend class QTypeInfo<Table>; QVector<Table> tables; struct RowColSpanInfo @@ -207,6 +210,7 @@ private: int row, col; int rowSpan, colSpan; }; + friend class QTypeInfo<RowColSpanInfo>; enum WhiteSpace { @@ -227,6 +231,10 @@ private: int currentNodeIdx; const QTextHtmlParserNode *currentNode; }; +Q_DECLARE_TYPEINFO(QTextHtmlImporter::List, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(QTextHtmlImporter::TableCellIterator, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QTextHtmlImporter::Table, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(QTextHtmlImporter::RowColSpanInfo, Q_PRIMITIVE_TYPE); QT_END_NAMESPACE #endif // QT_NO_TEXTHTMLPARSER diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp index 58049399efaea92084e358cbd26f24a09de91791..49ec9ca768b64aeb69185b57b9e0e3acbd4cb1c0 100644 --- a/src/gui/text/qtextformat.cpp +++ b/src/gui/text/qtextformat.cpp @@ -263,6 +263,7 @@ private: friend QDataStream &operator<<(QDataStream &, const QTextFormat &); friend QDataStream &operator>>(QDataStream &, QTextFormat &); }; +Q_DECLARE_TYPEINFO(QTextFormatPrivate::Property, Q_MOVABLE_TYPE); static inline uint hash(const QColor &color) { diff --git a/src/gui/text/qtextformat.h b/src/gui/text/qtextformat.h index 9dd83ab678eb3b34727ce54500441a0a5203bb2c..bc627521ff14445fd86286d7bcde98cd6e682318 100644 --- a/src/gui/text/qtextformat.h +++ b/src/gui/text/qtextformat.h @@ -116,6 +116,7 @@ private: friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QTextLength &); friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QTextLength &); }; +Q_DECLARE_TYPEINFO(QTextLength, QT_VERSION >= QT_VERSION_CHECK(6,0,0) ? Q_PRIMITIVE_TYPE : Q_RELOCATABLE_TYPE); inline QTextLength::QTextLength(Type atype, qreal avalue) : lengthType(atype), fixedValueOrPercentage(avalue) {} diff --git a/src/gui/text/qtexthtmlparser_p.h b/src/gui/text/qtexthtmlparser_p.h index a8a849ca7febf80ba01344de451aca6bd3b4c098..8e5a90be0b9598c4256a405cf0e7b37172bf0254 100644 --- a/src/gui/text/qtexthtmlparser_p.h +++ b/src/gui/text/qtexthtmlparser_p.h @@ -328,12 +328,14 @@ protected: QString url; QCss::StyleSheet sheet; }; + friend class QTypeInfo<ExternalStyleSheet>; QVector<ExternalStyleSheet> externalStyleSheets; QVector<QCss::StyleSheet> inlineStyleSheets; #endif const QTextDocument *resourceProvider; }; +Q_DECLARE_TYPEINFO(QTextHtmlParser::ExternalStyleSheet, Q_MOVABLE_TYPE); QT_END_NAMESPACE diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h index d9afb1ed4bacf4a7e5629b495a85664706c1fc82..1cbb5ac8d8e8aea721470bc0ea4f200f5bdae9d0 100644 --- a/src/gui/text/qtextlayout.h +++ b/src/gui/text/qtextlayout.h @@ -203,6 +203,7 @@ private: QPainter *painter); QTextEngine *d; }; +Q_DECLARE_TYPEINFO(QTextLayout::FormatRange, Q_RELOCATABLE_TYPE); class Q_GUI_EXPORT QTextLine