diff --git a/src/kstyle/kstyle.cpp b/src/kstyle/kstyle.cpp --- a/src/kstyle/kstyle.cpp +++ b/src/kstyle/kstyle.cpp @@ -57,6 +57,7 @@ #include #include +#include #include // ---------------------------------------------------------------------------- @@ -208,6 +209,27 @@ QObject::connect(shortcut, &QShortcut::activated, button, &QPushButton::click); } } + if (auto messageWidget = qobject_cast(w)) { + KColorScheme scheme; + QColor color; + QPalette palette = messageWidget->palette(); + switch (messageWidget->messageType()) { + case KMessageWidget::Positive: + color = scheme.foreground(KColorScheme::PositiveText).color(); + break; + case KMessageWidget::Information: + color = scheme.foreground(KColorScheme::ActiveText).color(); + break; + case KMessageWidget::Warning: + color = scheme.foreground(KColorScheme::NeutralText).color(); + break; + case KMessageWidget::Error: + color = scheme.foreground(KColorScheme::NegativeText).color(); + break; + } + palette.setColor(QPalette::Window, color); + messageWidget->setPalette(palette); + } QCommonStyle::polish(w); }