From: Peter Penz Date: Mon, 28 May 2007 05:38:13 +0000 (+0000) Subject: use KGraphicsUtils::blendColor() instead of custom mixColors() method X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/ee667484cacf1cb1dda666f1498c947f0aa6af00 use KGraphicsUtils::blendColor() instead of custom mixColors() method svn path=/trunk/KDE/kdebase/apps/; revision=668924 --- diff --git a/src/statusbarmessagelabel.cpp b/src/statusbarmessagelabel.cpp index f5c632693..32d57e09b 100644 --- a/src/statusbarmessagelabel.cpp +++ b/src/statusbarmessagelabel.cpp @@ -21,6 +21,7 @@ #include "statusbarmessagelabel.h" #include +#include #include #include #include @@ -137,8 +138,12 @@ 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); + mixColor.setAlpha(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); @@ -175,8 +180,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; @@ -258,17 +266,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(); diff --git a/src/statusbarmessagelabel.h b/src/statusbarmessagelabel.h index dcefdedfb..25610d4b6 100644 --- a/src/statusbarmessagelabel.h +++ b/src/statusbarmessagelabel.h @@ -155,10 +155,6 @@ private: QPixmap m_pixmap; QPushButton* m_closeButton; - QColor mixColors(const QColor& c1, - const QColor& c2, - int percent) const; - int borderGap() const { return 2;