┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-05-28 05:38:13 +0000
committerPeter Penz <[email protected]>2007-05-28 05:38:13 +0000
commitee667484cacf1cb1dda666f1498c947f0aa6af00 (patch)
treec321a3e2d2b14e37fd6f8afc6b133083fec047b0
parentda795d20e2f2fa57ac9cafdffcfac4d092d8eaea (diff)
use KGraphicsUtils::blendColor() instead of custom mixColors() method
svn path=/trunk/KDE/kdebase/apps/; revision=668924
-rw-r--r--src/statusbarmessagelabel.cpp27
-rw-r--r--src/statusbarmessagelabel.h4
2 files changed, 12 insertions, 19 deletions
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 <kglobalsettings.h>
+#include <kgraphicsutils.h>
#include <kiconloader.h>
#include <kicon.h>
#include <klocale.h>
@@ -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;