From 6ddcfcdcbe79dcf1c58e211dbef4b653e8cfb068 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 16 Apr 2014 16:55:20 +0200 Subject: [PATCH] Update tooltip palette when receiving a theme change notification. Task-number: QTBUG-38183 Change-Id: Ia86ae698ae4afcf9d5c361f178f3ca44ae9a3ee5 Reviewed-by: Oliver Wolff --- src/widgets/kernel/qapplication.cpp | 2 ++ src/widgets/kernel/qapplication_qpa.cpp | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index d90e2f5163..b4c4ffe7c7 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -368,6 +368,7 @@ QApplicationPrivate::~QApplicationPrivate() void qt_init(QApplicationPrivate *priv, int type ); +void qt_init_tooltip_palette(); void qt_cleanup(); QStyle *QApplicationPrivate::app_style = 0; // default application style @@ -4025,6 +4026,7 @@ void QApplicationPrivate::notifyThemeChanged() QGuiApplicationPrivate::notifyThemeChanged(); clearSystemPalette(); initSystemPalette(); + qt_init_tooltip_palette(); } #ifndef QT_NO_DRAGANDDROP diff --git a/src/widgets/kernel/qapplication_qpa.cpp b/src/widgets/kernel/qapplication_qpa.cpp index c68bcc773f..5893c52e1b 100644 --- a/src/widgets/kernel/qapplication_qpa.cpp +++ b/src/widgets/kernel/qapplication_qpa.cpp @@ -442,6 +442,14 @@ void QApplication::alert(QWidget *widget, int duration) } } +void qt_init_tooltip_palette() +{ +#ifndef QT_NO_TOOLTIP + if (const QPalette *toolTipPalette = QGuiApplicationPrivate::platformTheme()->palette(QPlatformTheme::ToolTipPalette)) + QToolTip::setPalette(*toolTipPalette); +#endif +} + void qt_init(QApplicationPrivate *priv, int type) { Q_UNUSED(priv); @@ -449,10 +457,7 @@ void qt_init(QApplicationPrivate *priv, int type) QColormap::initialize(); -#ifndef QT_NO_TOOLTIP - if (const QPalette *toolTipPalette = QGuiApplicationPrivate::platformTheme()->palette(QPlatformTheme::ToolTipPalette)) - QToolTip::setPalette(*toolTipPalette); -#endif + qt_init_tooltip_palette(); QApplicationPrivate::initializeWidgetFontHash(); }