diff options
author | Kai Uwe Broulik <kde@privat.broulik.de> | 2017-09-27 11:51:58 +0200 |
---|---|---|
committer | Kai Uwe Broulik <kde@privat.broulik.de> | 2018-01-11 10:25:05 +0000 |
commit | e5b422382a512a8267a0eb24e6543a8cf84478d9 (patch) | |
tree | 83c067aed099d0f03acac649c8a18f0d7d19fc34 /src/gui/kernel/qguiapplication.cpp | |
parent | d51dde6c67155f774bb88b9cd64c6b061cfa5d46 (diff) |
QGuiApplication: Add fontChanged signal
This removes the need to install an event filter on qApp just for this.
A similar thing was done with setPalette to reduce the number of event filters
in e.g. SystemPalette and Quick Controls.
[ChangeLog][QtGui][QGuiApplication] Added fontChanged signal
Change-Id: Ifa843aa42b91ac63ab17c3b064ac0e764aac77d3
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 14 |
1 files changed, 14 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); } /*! |