QTextCharFormat: mark a couple of API mistakes to be fixed in Qt 7

The fontFamilies and fontStyleName have an asymmetric getter and setter.
The setter takes QStringList, but the getter returns QVariant (?), for
no reason whatsoever (the underlying QFont APIs take QStringList,
and the docs say that they should return QStringList).

It's not entirely obvious that we can fix this without introducing
badly-named getters (getX) or somesuch, so for the time being, mark
this to be fixed in Qt 7.

Change-Id: I49706af00906a2c5d950ada4be3cbc76dbee432c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
This commit is contained in:
Giuseppe D'Angelo 2021-07-19 12:51:46 +02:00
parent b5950f6aff
commit 08411a3ddf
2 changed files with 40 additions and 0 deletions

View File

@ -1483,6 +1483,20 @@ QTextCharFormat::QTextCharFormat(const QTextFormat &fmt)
\sa setFont()
*/
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
/*!
\fn QVariant QTextCharFormat::fontFamilies() const
\since 5.13
Returns the text format's font families.
\note This function returns a QVariant for historical reasons. It will be
corrected to return QStringList in Qt 7. The variant contains a QStringList
object, which can be extracted by calling \c{toStringList()} on it.
\sa font()
*/
#else
/*!
\fn QStringList QTextCharFormat::fontFamilies() const
\since 5.13
@ -1491,6 +1505,7 @@ QTextCharFormat::QTextCharFormat(const QTextFormat &fmt)
\sa font()
*/
#endif
/*!
\fn void QTextCharFormat::setFontStyleName(const QString &styleName)
@ -1501,6 +1516,20 @@ QTextCharFormat::QTextCharFormat(const QTextFormat &fmt)
\sa setFont(), QFont::setStyleName()
*/
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
/*!
\fn QVariant QTextCharFormat::fontStyleName() const
\since 5.13
Returns the text format's font style name.
\note This function returns a QVariant for historical reasons. It will be
corrected to return QStringList in Qt 7. The variant contains a QStringList
object, which can be extracted by calling \c{toStringList()} on it.
\sa font(), QFont::styleName()
*/
#else
/*!
\fn QStringList QTextCharFormat::fontStyleName() const
\since 5.13
@ -1509,6 +1538,7 @@ QTextCharFormat::QTextCharFormat(const QTextFormat &fmt)
\sa font(), QFont::styleName()
*/
#endif
/*!
\fn void QTextCharFormat::setFontPointSize(qreal size)

View File

@ -465,13 +465,23 @@ public:
inline void setFontFamilies(const QStringList &families)
{ setProperty(FontFamilies, QVariant(families)); }
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
inline QVariant fontFamilies() const
{ return property(FontFamilies); }
#else
inline QStringList fontFamilies() const
{ return property(FontFamilies).toStringList(); }
#endif
inline void setFontStyleName(const QString &styleName)
{ setProperty(FontStyleName, styleName); }
#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
inline QVariant fontStyleName() const
{ return property(FontStyleName); }
#else
inline QStringList fontStyleName() const
{ return property(FontStyleName).toStringList(); }
#endif
inline void setFontPointSize(qreal size)
{ setProperty(FontPointSize, size); }