From 94a3a6e1b9c243492bbfa4a0ce8c6948501afcbe Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Thu, 1 Dec 2011 17:01:16 +0100 Subject: [PATCH] Save QFont hintingPreference and styleName to QDataStream Qt 4.8 introduced these new request parameters but they were not streamed to QDataStream. Task-number: QTBUG-22814, QTBUG-22946 Reviewed-by: Pending --- src/corelib/io/qdatastream.cpp | 7 ++++--- src/corelib/io/qdatastream.h | 2 +- src/gui/text/qfont.cpp | 11 +++++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp index b397c1a..45eb69a 100644 --- a/src/corelib/io/qdatastream.cpp +++ b/src/corelib/io/qdatastream.cpp @@ -250,7 +250,7 @@ QT_BEGIN_NAMESPACE return retVal; enum { - DefaultStreamVersion = QDataStream::Qt_4_6 + DefaultStreamVersion = QDataStream::Qt_4_8 }; // ### 5.0: when streaming invalid QVariants, just the type should @@ -584,9 +584,9 @@ void QDataStream::setByteOrder(ByteOrder bo) \value Qt_4_3 Version 9 (Qt 4.3) \value Qt_4_4 Version 10 (Qt 4.4) \value Qt_4_5 Version 11 (Qt 4.5) - \value Qt_4_6 Version 12 (Qt 4.6, Qt 4.7, Qt 4.8) + \value Qt_4_6 Version 12 (Qt 4.6, Qt 4.7) \value Qt_4_7 Same as Qt_4_6. - \value Qt_4_8 Same as Qt_4_6. + \value Qt_4_8 Version 13 (Qt 4.8) \sa setVersion(), version() */ @@ -618,6 +618,7 @@ void QDataStream::setByteOrder(ByteOrder bo) \table \header \i Qt Version \i QDataStream Version + \row \i Qt 4.8 \i 13 \row \i Qt 4.6 \i 12 \row \i Qt 4.5 \i 11 \row \i Qt 4.4 \i 10 diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h index 0b69458..19c4fed 100644 --- a/src/corelib/io/qdatastream.h +++ b/src/corelib/io/qdatastream.h @@ -86,7 +86,7 @@ public: Qt_4_5 = 11, Qt_4_6 = 12, Qt_4_7 = Qt_4_6, - Qt_4_8 = Qt_4_7 + Qt_4_8 = 13 #if QT_VERSION >= 0x040900 #error Add the datastream version for this Qt version Qt_4_9 = Qt_4_8 diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 2df88e2..08dd284 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -2321,6 +2321,8 @@ QDataStream &operator<<(QDataStream &s, const QFont &font) s << font.d->request.family.toLatin1(); } else { s << font.d->request.family; + if (s.version() >= QDataStream::Qt_4_8) + s << font.d->request.styleName; } if (s.version() >= QDataStream::Qt_4_0) { @@ -2358,6 +2360,8 @@ QDataStream &operator<<(QDataStream &s, const QFont &font) s << font.d->letterSpacing.value(); s << font.d->wordSpacing.value(); } + if (s.version() >= QDataStream::Qt_4_8) + s << font.d->request.hintingPreference; return s; } @@ -2383,6 +2387,8 @@ QDataStream &operator>>(QDataStream &s, QFont &font) font.d->request.family = QString::fromLatin1(fam); } else { s >> font.d->request.family; + if (s.version() >= QDataStream::Qt_4_8) + s >> font.d->request.styleName; } if (s.version() >= QDataStream::Qt_4_0) { @@ -2433,6 +2439,11 @@ QDataStream &operator>>(QDataStream &s, QFont &font) s >> value; font.d->wordSpacing.setValue(value); } + if (s.version() >= QDataStream::Qt_4_8) { + int value; + s >> value; + font.d->request.hintingPreference = HintingPreference(value); + } return s; } -- 1.7.5.4