┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/urlnavigatorbutton.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-03-25 06:44:28 +0000
committerPeter Penz <[email protected]>2007-03-25 06:44:28 +0000
commit8f9baef848c3056cd1df772f0774decad509cff3 (patch)
treeadcad2dcf4d15e0102d0c466b4d4a38ccd4ff875 /src/urlnavigatorbutton.cpp
parent3b4d05893b4023338d8484dc5c6812bbe0fb0ceb (diff)
Patch by Luca Gugelmann: get rid of any mainwindow dependency from the sidebars.
svn path=/trunk/KDE/kdebase/apps/; revision=646256
Diffstat (limited to 'src/urlnavigatorbutton.cpp')
-rw-r--r--src/urlnavigatorbutton.cpp30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/urlnavigatorbutton.cpp b/src/urlnavigatorbutton.cpp
index c97a560ba..6c89e5098 100644
--- a/src/urlnavigatorbutton.cpp
+++ b/src/urlnavigatorbutton.cpp
@@ -152,27 +152,19 @@ void UrlNavigatorButton::paintEvent(QPaintEvent* event)
const bool clipped = isTextClipped();
const int align = clipped ? Qt::AlignVCenter : Qt::AlignCenter;
- painter.drawText(QRect(0, 0, textWidth, buttonHeight), align, text());
-
+ const QRect textRect(0, 0, textWidth, buttonHeight);
if (clipped) {
- // Blend the right area of the text with the background, as the
- // text is clipped.
- // TODO: use alpha blending in Qt4 instead of drawing the text that often
- const int blendSteps = 16;
-
- QColor blendColor(backgroundColor);
- const int redInc = (foregroundColor.red() - backgroundColor.red()) / blendSteps;
- const int greenInc = (foregroundColor.green() - backgroundColor.green()) / blendSteps;
- const int blueInc = (foregroundColor.blue() - backgroundColor.blue()) / blendSteps;
- for (int i = 0; i < blendSteps; ++i) {
- painter.setClipRect(QRect(textWidth - i, 0, 1, buttonHeight));
- painter.setPen(blendColor);
- painter.drawText(QRect(0, 0, textWidth, buttonHeight), align, text());
+ QLinearGradient gradient(textRect.topLeft(), textRect.topRight());
+ gradient.setColorAt(0.8, foregroundColor);
+ gradient.setColorAt(1.0, backgroundColor);
- blendColor.setRgb(blendColor.red() + redInc,
- blendColor.green() + greenInc,
- blendColor.blue() + blueInc);
- }
+ QPen pen;
+ pen.setBrush(QBrush(gradient));
+ painter.setPen(pen);
+ painter.drawText(textRect, align, text());
+ }
+ else {
+ painter.drawText(textRect, align, text());
}
}