X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/cdcb4b0166aefdd382d20e7ff3b5cb217ba54ba8..19dadee2cfd4471d795b2b72ac0541124aa505ce:/src/statusbarmessagelabel.cpp diff --git a/src/statusbarmessagelabel.cpp b/src/statusbarmessagelabel.cpp index a8956caaf..239f6a70c 100644 --- a/src/statusbarmessagelabel.cpp +++ b/src/statusbarmessagelabel.cpp @@ -21,17 +21,17 @@ #include "statusbarmessagelabel.h" #include +#include #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include StatusBarMessageLabel::StatusBarMessageLabel(QWidget* parent) : QWidget(parent), @@ -138,8 +138,11 @@ void StatusBarMessageLabel::paintEvent(QPaintEvent* /* event */) QColor backgroundColor(palette().brush(QPalette::Background).color()); QColor foregroundColor(KGlobalSettings::textColor()); if (m_illumination > 0) { - backgroundColor = mixColors(backgroundColor, QColor(255, 255, 128), m_illumination); - foregroundColor = mixColors(foregroundColor, QColor(0, 0, 0), m_illumination); + QColor mixColor(255, 255, 128, m_illumination); + backgroundColor = KGraphicsUtils::blendColor(backgroundColor, mixColor); + + mixColor.setRgb(0, 0, 0, m_illumination); + foregroundColor = KGraphicsUtils::blendColor(foregroundColor, mixColor); } painter.setBrush(backgroundColor); painter.setPen(backgroundColor); @@ -176,8 +179,11 @@ void StatusBarMessageLabel::timerDone() switch (m_state) { case Illuminate: { // increase the illumination - if (m_illumination < 100) { - m_illumination += 20; + if (m_illumination < 255) { + m_illumination += 32; + if (m_illumination > 255) { + m_illumination = 255; + } update(); } else { m_state = Illuminated; @@ -259,17 +265,6 @@ int StatusBarMessageLabel::availableTextWidth() const return width() - m_pixmap.width() - (borderGap() * 4) - buttonWidth; } -QColor StatusBarMessageLabel::mixColors(const QColor& c1, - const QColor& c2, - int percent) const -{ - const int recip = 100 - percent; - const int red = (c1.red() * recip + c2.red() * percent) / 100; - const int green = (c1.green() * recip + c2.green() * percent) / 100; - const int blue = (c1.blue() * recip + c2.blue() * percent) / 100; - return QColor(red, green, blue); -} - void StatusBarMessageLabel::updateCloseButtonPosition() { const int x = width() - m_closeButton->width() - borderGap();