diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-11-02 19:53:51 +0100 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-11-03 20:36:34 +0100 |
commit | 5ea1f403502130ed12f6f6a2c6072f4f45e3d488 (patch) | |
tree | da262f047ac6b51661fb63929f7caa4120baeef6 | |
parent | a50f0f045d3f749a4638bd4b46078bb86b329ad8 (diff) |
Deprecate QFontDatabase constructor
Move private methods into the private class.
Fixes: QTBUG-88114
Change-Id: I92fa52980ed5a0675eee310359d8875f614921e6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-rw-r--r-- | src/gui/text/qfont.cpp | 10 | ||||
-rw-r--r-- | src/gui/text/qfontdatabase.cpp | 51 | ||||
-rw-r--r-- | src/gui/text/qfontdatabase.h | 23 | ||||
-rw-r--r-- | src/gui/text/qfontdatabase_p.h | 7 | ||||
-rw-r--r-- | src/gui/text/qfontengine.cpp | 2 | ||||
-rw-r--r-- | src/gui/text/qrawfont.cpp | 2 | ||||
-rw-r--r-- | src/widgets/dialogs/qfontdialog.cpp | 6 |
7 files changed, 47 insertions, 54 deletions
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 9ea6970409..b8fc8e6821 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -135,16 +135,16 @@ bool QFontDef::exactMatch(const QFontDef &other) const QString this_family, this_foundry, other_family, other_foundry; for (int i = 0; i < origFamilies.size(); ++i) { - QFontDatabase::parseFontName(origFamilies.at(i), this_foundry, this_family); - QFontDatabase::parseFontName(otherFamilies.at(i), other_foundry, other_family); + QFontDatabasePrivate::parseFontName(origFamilies.at(i), this_foundry, this_family); + QFontDatabasePrivate::parseFontName(otherFamilies.at(i), other_foundry, other_family); if (this_family != other_family || this_foundry != other_foundry) return false; } // Check family only if families is not set if (origFamilies.size() == 0) { - QFontDatabase::parseFontName(family, this_foundry, this_family); - QFontDatabase::parseFontName(other.family, other_foundry, other_family); + QFontDatabasePrivate::parseFontName(family, this_foundry, this_family); + QFontDatabasePrivate::parseFontName(other.family, other_foundry, other_family); } return (styleHint == other.styleHint @@ -282,7 +282,7 @@ QFontEngine *QFontPrivate::engineForScript(int script) const engineData = nullptr; } if (!engineData || !QT_FONT_ENGINE_FROM_DATA(engineData, script)) - QFontDatabase::load(this, script); + QFontDatabasePrivate::load(this, script); return QT_FONT_ENGINE_FROM_DATA(engineData, script); } diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index 61df80ec58..13cde04ff4 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -1230,7 +1230,7 @@ QString QFontDatabase::styleString(const QFontInfo &fontInfo) Use the styleString() to obtain a text version of a style. - The QFontDatabase class also supports some static functions, for + The QFontDatabase class provides some helper functions, for example, standardSizes(). You can retrieve the description of a writing system using writingSystemName(), and a sample of characters in a writing system with writingSystemSample(). @@ -1248,11 +1248,11 @@ QString QFontDatabase::styleString(const QFontInfo &fontInfo) */ /*! + \fn QFontDatabase::QFontDatabase() + \obsolete Call the class methods as static functions instead. + Creates a font database object. */ -QFontDatabase::QFontDatabase() -{ -} /*! \enum QFontDatabase::WritingSystem @@ -1313,7 +1313,7 @@ QFontDatabase::QFontDatabase() Initializes the font database if necessary and returns its pointer. Mutex lock must be held when calling this function. */ -QFontDatabasePrivate *QFontDatabase::ensureFontDatabase() +QFontDatabasePrivate *QFontDatabasePrivate::ensureFontDatabase() { QFontDatabasePrivate *d = privateDb(); if (d->count == 0) { @@ -1335,7 +1335,7 @@ QFontDatabasePrivate *QFontDatabase::ensureFontDatabase() QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems() { QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(); @@ -1379,7 +1379,7 @@ QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems(const QString parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(); @@ -1410,7 +1410,7 @@ QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems(const QString QStringList QFontDatabase::families(WritingSystem writingSystem) { QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(); @@ -1455,7 +1455,7 @@ QStringList QFontDatabase::styles(const QString &family) parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1500,7 +1500,7 @@ bool QFontDatabase::isFixedPitch(const QString &family, parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1526,7 +1526,7 @@ bool QFontDatabase::isBitmapScalable(const QString &family, parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1567,7 +1567,7 @@ bool QFontDatabase::isSmoothlyScalable(const QString &family, const QString &sty parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1633,7 +1633,7 @@ QList<int> QFontDatabase::pointSizes(const QString &family, parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1688,7 +1688,7 @@ QFont QFontDatabase::font(const QString &family, const QString &style, parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1737,7 +1737,7 @@ QList<int> QFontDatabase::smoothSizes(const QString &family, parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1803,7 +1803,7 @@ bool QFontDatabase::italic(const QString &family, const QString &style) parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1838,7 +1838,7 @@ bool QFontDatabase::bold(const QString &family, parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1875,7 +1875,7 @@ int QFontDatabase::weight(const QString &family, parseFontName(family, foundryName, familyName); QMutexLocker locker(fontDatabaseMutex()); - QFontDatabasePrivate *d = ensureFontDatabase(); + QFontDatabasePrivate *d = QFontDatabasePrivate::ensureFontDatabase(); QT_PREPEND_NAMESPACE(load)(familyName); @@ -1903,7 +1903,7 @@ bool QFontDatabase::hasFamily(const QString &family) { QString parsedFamily, foundry; parseFontName(family, foundry, parsedFamily); - const QString familyAlias = resolveFontFamilyAlias(parsedFamily); + const QString familyAlias = QFontDatabasePrivate::resolveFontFamilyAlias(parsedFamily); return families().contains(familyAlias, Qt::CaseInsensitive); } @@ -2129,13 +2129,12 @@ QString QFontDatabase::writingSystemSample(WritingSystem writingSystem) return writing_system_sample(writingSystem).toString(); } - -void QFontDatabase::parseFontName(const QString &name, QString &foundry, QString &family) +void QFontDatabasePrivate::parseFontName(const QString &name, QString &foundry, QString &family) { QT_PREPEND_NAMESPACE(parseFontName)(name, foundry, family); } -void QFontDatabase::createDatabase() +void QFontDatabasePrivate::createDatabase() { initializeDb(); } // used from qfontengine_ft.cpp @@ -2356,7 +2355,7 @@ bool QFontDatabase::removeAllApplicationFonts() /*! \internal */ -QFontEngine *QFontDatabase::findFont(const QFontDef &request, int script) +QFontEngine *QFontDatabasePrivate::findFont(const QFontDef &request, int script) { QMutexLocker locker(fontDatabaseMutex()); @@ -2463,7 +2462,7 @@ QFontEngine *QFontDatabase::findFont(const QFontDef &request, int script) return engine; } -void QFontDatabase::load(const QFontPrivate *d, int script) +void QFontDatabasePrivate::load(const QFontPrivate *d, int script) { QFontDef req = d->request; @@ -2529,7 +2528,7 @@ void QFontDatabase::load(const QFontPrivate *d, int script) for (; !fe && it != end; ++it) { req.families = QStringList(*it); - fe = QFontDatabase::findFont(req, script); + fe = QFontDatabasePrivate::findFont(req, script); if (fe) { if (fe->type() == QFontEngine::Box && !req.families.at(0).isEmpty()) { if (fe->ref.loadRelaxed() == 0) @@ -2559,7 +2558,7 @@ void QFontDatabase::load(const QFontPrivate *d, int script) } } -QString QFontDatabase::resolveFontFamilyAlias(const QString &family) +QString QFontDatabasePrivate::resolveFontFamilyAlias(const QString &family) { return QGuiApplicationPrivate::platformIntegration()->fontDatabase()->resolveFontFamilyAlias(family); } diff --git a/src/gui/text/qfontdatabase.h b/src/gui/text/qfontdatabase.h index 67f06b8485..79ace4e35b 100644 --- a/src/gui/text/qfontdatabase.h +++ b/src/gui/text/qfontdatabase.h @@ -51,8 +51,6 @@ QT_BEGIN_NAMESPACE struct QFontDef; class QFontEngine; -class QFontDatabasePrivate; - class Q_GUI_EXPORT QFontDatabase { Q_GADGET @@ -111,7 +109,11 @@ public: static QList<int> standardSizes(); - QFontDatabase(); +#if QT_DEPRECATED_SINCE(6, 0) + QT_DEPRECATED_VERSION_X_6_0("Call the static functions instead") explicit QFontDatabase() = default; +#else + QFontDatabase() = delete; +#endif static QList<WritingSystem> writingSystems(); static QList<WritingSystem> writingSystems(const QString &family); @@ -147,21 +149,6 @@ public: static bool removeAllApplicationFonts(); static QFont systemFont(SystemFont type); - -private: - static void createDatabase(); - static void parseFontName(const QString &name, QString &foundry, QString &family); - static QString resolveFontFamilyAlias(const QString &family); - static QFontEngine *findFont(const QFontDef &request, int script /* QChar::Script */); - static void load(const QFontPrivate *d, int script /* QChar::Script */); - static QFontDatabasePrivate *ensureFontDatabase(); - - friend struct QFontDef; - friend class QFontPrivate; - friend class QFontDialog; - friend class QFontDialogPrivate; - friend class QFontEngineMulti; - friend class QRawFont; }; QT_END_NAMESPACE diff --git a/src/gui/text/qfontdatabase_p.h b/src/gui/text/qfontdatabase_p.h index 6b7d9c2f47..303109e1a7 100644 --- a/src/gui/text/qfontdatabase_p.h +++ b/src/gui/text/qfontdatabase_p.h @@ -263,6 +263,13 @@ public: static QFontDatabasePrivate *instance(); + static void createDatabase(); + static void parseFontName(const QString &name, QString &foundry, QString &family); + static QString resolveFontFamilyAlias(const QString &family); + static QFontEngine *findFont(const QFontDef &request, int script /* QChar::Script */); + static void load(const QFontPrivate *d, int script /* QChar::Script */); + static QFontDatabasePrivate *ensureFontDatabase(); + void invalidate(); }; Q_DECLARE_TYPEINFO(QFontDatabasePrivate::ApplicationFont, Q_MOVABLE_TYPE); diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index 917df47aad..6f3734e75c 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -1779,7 +1779,7 @@ QFontEngine *QFontEngineMulti::loadEngine(int at) // info about the actual script of the characters may have been discarded, // so we do not check for writing system support, but instead just load // the family indiscriminately. - if (QFontEngine *engine = QFontDatabase::findFont(request, QChar::Script_Common)) { + if (QFontEngine *engine = QFontDatabasePrivate::findFont(request, QChar::Script_Common)) { engine->fontDef.weight = request.weight; if (request.style > QFont::StyleNormal) engine->fontDef.style = request.style; diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 36c94a080a..33c0825c6a 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -760,7 +760,7 @@ QRawFont QRawFont::fromFont(const QFont &font, QFontDatabase::WritingSystem writ QFontDef request(multiEngine->fontDef); request.styleStrategy |= QFont::NoFontMerging; - if (QFontEngine *engine = QFontDatabase::findFont(request, script)) { + if (QFontEngine *engine = QFontDatabasePrivate::findFont(request, script)) { if (request.weight > QFont::Normal) engine->fontDef.weight = request.weight; if (request.style > QFont::StyleNormal) diff --git a/src/widgets/dialogs/qfontdialog.cpp b/src/widgets/dialogs/qfontdialog.cpp index 7dc5566b70..05ad24a287 100644 --- a/src/widgets/dialogs/qfontdialog.cpp +++ b/src/widgets/dialogs/qfontdialog.cpp @@ -46,7 +46,6 @@ #include <qcheckbox.h> #include <qcombobox.h> #include <qevent.h> -#include <qfontdatabase.h> #include <qgroupbox.h> #include <qlabel.h> #include <qlayout.h> @@ -58,6 +57,7 @@ #include <qlistview.h> #include <qstringlistmodel.h> #include <qvalidator.h> +#include <private/qfontdatabase_p.h> #include <private/qdialog_p.h> #include <private/qfont_p.h> @@ -512,12 +512,12 @@ void QFontDialogPrivate::updateFamilies() QFont f; // ##### do the right thing for a list of family names in the font. - QFontDatabase::parseFontName(family, foundryName1, familyName1); + QFontDatabasePrivate::parseFontName(family, foundryName1, familyName1); QStringList::const_iterator it = familyNames.constBegin(); int i = 0; for(; it != familyNames.constEnd(); ++it, ++i) { - QFontDatabase::parseFontName(*it, foundryName2, familyName2); + QFontDatabasePrivate::parseFontName(*it, foundryName2, familyName2); //try to match... if (familyName1 == familyName2) { |