X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d67de9dfef9a9e317c0b1b11014e80c95793bb5a..d6488887ecf69d7f192b94de8dce34fae0b7eb76:/src/statusbarmessagelabel.cpp diff --git a/src/statusbarmessagelabel.cpp b/src/statusbarmessagelabel.cpp index d734a5e0c..4db953750 100644 --- a/src/statusbarmessagelabel.cpp +++ b/src/statusbarmessagelabel.cpp @@ -21,7 +21,6 @@ #include "statusbarmessagelabel.h" #include -#include #include #include #include @@ -141,17 +140,17 @@ void StatusBarMessageLabel::paintEvent(QPaintEvent* /* event */) QPainter painter(this); // draw background - QColor backgroundColor = palette().brush(QPalette::Background).color(); - QColor foregroundColor = KColorScheme(QPalette::Active, KColorScheme::View).foreground().color(); + QColor backgroundColor = palette().window().color(); if (m_illumination > 0) { - // TODO: are there foreground and background colors available for - // "error messages"? - backgroundColor.setRgb(255, 255, 0, m_illumination); - QColor mixColor(0, 0, 0, m_illumination); - foregroundColor = KColorUtils::overlayColors(foregroundColor, mixColor); + // at this point, a: we are a second label being drawn over the already + // painted status area, so we can be translucent, and b: our palette's + // window color (bg only) seems to be wrong (always black) + KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window); + backgroundColor = scheme.background(KColorScheme::NegativeBackground).color(); + backgroundColor.setAlpha(qMin(255, m_illumination*2)); } painter.setBrush(backgroundColor); - painter.setPen(backgroundColor); + painter.setPen(Qt::NoPen); painter.drawRect(QRect(0, 0, width(), height())); // draw pixmap @@ -164,7 +163,7 @@ void StatusBarMessageLabel::paintEvent(QPaintEvent* /* event */) } // draw text - painter.setPen(foregroundColor); + painter.setPen(palette().windowText().color()); int flags = Qt::AlignVCenter; if (height() > m_minTextHeight) { flags = flags | Qt::TextWordWrap;