Handle QFontDatabase related deprecation warnings

QFontDatabase is 'all static' nowadays.

Change-Id: I1e20a7b8452961b8051d0299b89d161ded95d8fa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2024-05-23 13:56:34 +02:00
parent b4c83a1a41
commit 8c61df1cff
7 changed files with 63 additions and 91 deletions

View File

@@ -716,12 +716,7 @@ Qt::HighDpiScaleFactorRoundingPolicy StyleHelper::defaultHighDpiScaleFactorRound
QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QList<IconFontHelper> &parameters) QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QList<IconFontHelper> &parameters)
{ {
QFontDatabase a; QTC_ASSERT(QFontDatabase::hasFamily(fontName), {});
QTC_ASSERT(a.hasFamily(fontName), {});
if (!a.hasFamily(fontName))
return {};
QIcon icon; QIcon icon;
@@ -751,38 +746,31 @@ QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QList<Icon
QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize, QColor color) QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize, QColor color)
{ {
QFontDatabase a; QTC_ASSERT(QFontDatabase::hasFamily(fontName), {});
QTC_ASSERT(a.hasFamily(fontName), {}); QIcon icon;
QSize size(iconSize, iconSize);
if (a.hasFamily(fontName)) { const int maxDpr = qRound(qApp->devicePixelRatio());
for (int dpr = 1; dpr <= maxDpr; dpr++) {
QPixmap pixmap(size * dpr);
pixmap.setDevicePixelRatio(dpr);
pixmap.fill(Qt::transparent);
QIcon icon; QFont font(fontName);
QSize size(iconSize, iconSize); font.setPixelSize(fontSize);
const int maxDpr = qRound(qApp->devicePixelRatio()); QPainter painter(&pixmap);
for (int dpr = 1; dpr <= maxDpr; dpr++) { painter.save();
QPixmap pixmap(size * dpr); painter.setPen(color);
pixmap.setDevicePixelRatio(dpr); painter.setFont(font);
pixmap.fill(Qt::transparent); painter.drawText(QRectF(QPoint(0, 0), size), Qt::AlignCenter, iconSymbol);
painter.restore();
QFont font(fontName); icon.addPixmap(pixmap);
font.setPixelSize(fontSize);
QPainter painter(&pixmap);
painter.save();
painter.setPen(color);
painter.setFont(font);
painter.drawText(QRectF(QPoint(0, 0), size), Qt::AlignCenter, iconSymbol);
painter.restore();
icon.addPixmap(pixmap);
}
return icon;
} }
return {}; return icon;
} }
QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize) QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize)
@@ -794,55 +782,47 @@ QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QString &i
QIcon StyleHelper::getCursorFromIconFont(const QString &fontName, const QString &cursorFill, const QString &cursorOutline, QIcon StyleHelper::getCursorFromIconFont(const QString &fontName, const QString &cursorFill, const QString &cursorOutline,
int fontSize, int iconSize) int fontSize, int iconSize)
{ {
QFontDatabase a; QTC_ASSERT(QFontDatabase::hasFamily(fontName), {});
QTC_ASSERT(a.hasFamily(fontName), {});
const QColor outlineColor = Qt::black; const QColor outlineColor = Qt::black;
const QColor fillColor = Qt::white; const QColor fillColor = Qt::white;
if (a.hasFamily(fontName)) { QIcon icon;
QSize size(iconSize, iconSize);
QIcon icon; const int maxDpr = qRound(qApp->devicePixelRatio());
QSize size(iconSize, iconSize); for (int dpr = 1; dpr <= maxDpr; dpr++) {
QPixmap pixmap(size * dpr);
pixmap.setDevicePixelRatio(dpr);
pixmap.fill(Qt::transparent);
const int maxDpr = qRound(qApp->devicePixelRatio()); QFont font(fontName);
for (int dpr = 1; dpr <= maxDpr; dpr++) { font.setPixelSize(fontSize);
QPixmap pixmap(size * dpr);
pixmap.setDevicePixelRatio(dpr);
pixmap.fill(Qt::transparent);
QFont font(fontName); QPainter painter(&pixmap);
font.setPixelSize(fontSize); painter.save();
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setRenderHint(QPainter::TextAntialiasing, true);
painter.setRenderHint(QPainter::LosslessImageRendering, true);
painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
QPainter painter(&pixmap); painter.setFont(font);
painter.save(); painter.setPen(outlineColor);
painter.setRenderHint(QPainter::Antialiasing, true); painter.drawText(QRectF(QPointF(0.0, 0.0), size),
painter.setRenderHint(QPainter::TextAntialiasing, true); Qt::AlignCenter, cursorOutline);
painter.setRenderHint(QPainter::LosslessImageRendering, true);
painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
painter.setFont(font); painter.setPen(fillColor);
painter.setPen(outlineColor); painter.drawText(QRectF(QPointF(0.0, 0.0), size),
painter.drawText(QRectF(QPointF(0.0, 0.0), size), Qt::AlignCenter, cursorFill);
Qt::AlignCenter, cursorOutline);
painter.setPen(fillColor); painter.restore();
painter.drawText(QRectF(QPointF(0.0, 0.0), size),
Qt::AlignCenter, cursorFill);
painter.restore(); icon.addPixmap(pixmap);
icon.addPixmap(pixmap);
}
return icon;
} }
return {}; return icon;
} }
QString StyleHelper::dpiSpecificImageFile(const QString &fileName) QString StyleHelper::dpiSpecificImageFile(const QString &fileName)
{ {
// See QIcon::addFile() // See QIcon::addFile()

View File

@@ -63,7 +63,6 @@ private:
QFont m_font; QFont m_font;
int m_fontZoom = 100; int m_fontZoom = 100;
QFontDatabase m_fontDatabase;
QString m_homePage; QString m_homePage;
int m_contextOption; int m_contextOption;
@@ -400,9 +399,9 @@ void GeneralSettingsPageWidget::exportBookmarks()
void GeneralSettingsPageWidget::updateFontSizeSelector() void GeneralSettingsPageWidget::updateFontSizeSelector()
{ {
const QString &family = m_font.family(); const QString &family = m_font.family();
const QString &fontStyle = m_fontDatabase.styleString(m_font); const QString &fontStyle = QFontDatabase::styleString(m_font);
QList<int> pointSizes = m_fontDatabase.pointSizes(family, fontStyle); QList<int> pointSizes = QFontDatabase::pointSizes(family, fontStyle);
if (pointSizes.empty()) if (pointSizes.empty())
pointSizes = QFontDatabase::standardSizes(); pointSizes = QFontDatabase::standardSizes();
@@ -424,8 +423,8 @@ void GeneralSettingsPageWidget::updateFontSizeSelector()
void GeneralSettingsPageWidget::updateFontStyleSelector() void GeneralSettingsPageWidget::updateFontStyleSelector()
{ {
const QString &fontStyle = m_fontDatabase.styleString(m_font); const QString &fontStyle = QFontDatabase::styleString(m_font);
const QStringList &styles = m_fontDatabase.styles(m_font.family()); const QStringList &styles = QFontDatabase::styles(m_font.family());
QSignalBlocker blocker(styleComboBox); QSignalBlocker blocker(styleComboBox);
styleComboBox->clear(); styleComboBox->clear();

View File

@@ -88,7 +88,7 @@ static QString defaultFallbackFontFamily()
static QString defaultFallbackFontStyleName(const QString &fontFamily) static QString defaultFallbackFontStyleName(const QString &fontFamily)
{ {
const QStringList styles = QFontDatabase().styles(fontFamily); const QStringList styles = QFontDatabase::styles(fontFamily);
QTC_ASSERT(!styles.isEmpty(), return QString("Regular")); QTC_ASSERT(!styles.isEmpty(), return QString("Regular"));
return styles.first(); return styles.first();
} }

View File

@@ -48,23 +48,19 @@ void drawIcon(QPainter *painter,
int iconSize, int iconSize,
const QColor &penColor) const QColor &penColor)
{ {
static QFontDatabase a;
const QString fontName = "qtds_propertyIconFont.ttf"; const QString fontName = "qtds_propertyIconFont.ttf";
Q_ASSERT(a.hasFamily(fontName)); QTC_ASSERT(QFontDatabase::hasFamily(fontName), return);
if (a.hasFamily(fontName)) { QFont font(fontName);
QFont font(fontName); font.setPixelSize(fontSize);
font.setPixelSize(fontSize);
painter->save(); painter->save();
painter->setPen(penColor); painter->setPen(penColor);
painter->setFont(font); painter->setFont(font);
painter->drawText(QRectF(x, y, iconSize, iconSize), iconSymbol); painter->drawText(QRectF(x, y, iconSize, iconSize), iconSymbol);
painter->restore(); painter->restore();
}
} }
FormEditorScene *FormEditorItem::scene() const { FormEditorScene *FormEditorItem::scene() const {

View File

@@ -586,8 +586,7 @@ int PropertyEditorContextObject::devicePixelRatio()
QStringList PropertyEditorContextObject::styleNamesForFamily(const QString &family) QStringList PropertyEditorContextObject::styleNamesForFamily(const QString &family)
{ {
const QFontDatabase dataBase; return QFontDatabase::styles(family);
return dataBase.styles(family);
} }
QStringList PropertyEditorContextObject::allStatesForId(const QString &id) QStringList PropertyEditorContextObject::allStatesForId(const QString &id)

View File

@@ -491,8 +491,7 @@ static QString defaultFontFamily()
return QLatin1String("Menlo"); return QLatin1String("Menlo");
const QString sourceCodePro(g_sourceCodePro); const QString sourceCodePro(g_sourceCodePro);
const QFontDatabase dataBase; if (QFontDatabase::hasFamily(sourceCodePro))
if (dataBase.hasFamily(sourceCodePro))
return sourceCodePro; return sourceCodePro;
if (Utils::HostOsInfo::isAnyUnixHost()) if (Utils::HostOsInfo::isAnyUnixHost())

View File

@@ -458,15 +458,14 @@ void FontSettingsPageWidget::updateFontZoom(const FontSettings &fontSettings)
QList<int> FontSettingsPageWidget::pointSizesForSelectedFont() const QList<int> FontSettingsPageWidget::pointSizesForSelectedFont() const
{ {
QFontDatabase db;
const QString familyName = m_fontComboBox->currentFont().family(); const QString familyName = m_fontComboBox->currentFont().family();
QList<int> sizeLst = db.pointSizes(familyName); QList<int> sizeLst = QFontDatabase::pointSizes(familyName);
if (!sizeLst.isEmpty()) if (!sizeLst.isEmpty())
return sizeLst; return sizeLst;
QStringList styles = db.styles(familyName); QStringList styles = QFontDatabase::styles(familyName);
if (!styles.isEmpty()) if (!styles.isEmpty())
sizeLst = db.pointSizes(familyName, styles.first()); sizeLst = QFontDatabase::pointSizes(familyName, styles.first());
if (sizeLst.isEmpty()) if (sizeLst.isEmpty())
sizeLst = QFontDatabase::standardSizes(); sizeLst = QFontDatabase::standardSizes();