diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 14 | ||||
-rw-r--r-- | src/gui/kernel/qguiapplication.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 8149fa3905..3d85f47f34 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -3110,6 +3110,15 @@ void QGuiApplicationPrivate::applyWindowGeometrySpecificationTo(QWindow *window) } /*! + \since 5.11 + \fn void QGuiApplication::fontChanged(const QFont &font) + + This signal is emitted when the \a font of the application changes. + + \sa font() +*/ + +/*! Returns the default application font. \sa setFont() @@ -3130,11 +3139,16 @@ QFont QGuiApplication::font() void QGuiApplication::setFont(const QFont &font) { QMutexLocker locker(&applicationFontMutex); + const bool emitChange = !QGuiApplicationPrivate::app_font + || (*QGuiApplicationPrivate::app_font != font); if (!QGuiApplicationPrivate::app_font) QGuiApplicationPrivate::app_font = new QFont(font); else *QGuiApplicationPrivate::app_font = font; applicationResourceFlags |= ApplicationFontExplicitlySet; + + if (emitChange && qGuiApp) + emit qGuiApp->fontChanged(*QGuiApplicationPrivate::app_font); } /*! diff --git a/src/gui/kernel/qguiapplication.h b/src/gui/kernel/qguiapplication.h index 8560fcf18a..02dffef0fe 100644 --- a/src/gui/kernel/qguiapplication.h +++ b/src/gui/kernel/qguiapplication.h @@ -187,6 +187,7 @@ Q_SIGNALS: #endif void paletteChanged(const QPalette &pal); void applicationDisplayNameChanged(); + void fontChanged(const QFont &font); protected: bool event(QEvent *) override; |