summaryrefslogtreecommitdiff
path: root/src/libs/utils/styledbar.cpp
diff options
context:
space:
mode:
authorcon <qtc-committer@nokia.com>2009-07-16 18:04:08 +0200
committercon <qtc-committer@nokia.com>2009-07-16 18:08:41 +0200
commitee041b655979dc5dfa608fe08d03d261319f9166 (patch)
tree583d3119bdced4101360b6a30027f51f04a8048f /src/libs/utils/styledbar.cpp
parentbb44837d7c7e1a1ac33d029b3613252b9d4b9f58 (diff)
downloadqt-creator-ee041b655979dc5dfa608fe08d03d261319f9166.tar.gz
Simplify drawing of styled bar by just using the style.
Diffstat (limited to 'src/libs/utils/styledbar.cpp')
-rw-r--r--src/libs/utils/styledbar.cpp63
1 files changed, 10 insertions, 53 deletions
diff --git a/src/libs/utils/styledbar.cpp b/src/libs/utils/styledbar.cpp
index 99a86437d0..8911af6d6f 100644
--- a/src/libs/utils/styledbar.cpp
+++ b/src/libs/utils/styledbar.cpp
@@ -6,6 +6,7 @@
#include <QtGui/QPainter>
#include <QtGui/QPixmapCache>
#include <QtGui/QStyle>
+#include <QtGui/QStyleOption>
using namespace Core::Utils;
@@ -30,48 +31,10 @@ void StyledBar::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event)
QPainter painter(this);
-
- QRect selfRect = rect();
- QString key;
- key.sprintf("mh_toolbar %d %d %d", selfRect.width(), selfRect.height(), StyleHelper::baseColor().rgb());;
-
- QPixmap pixmap;
- QPainter *p = &painter;
- if (StyleHelper::usePixmapCache() && !QPixmapCache::find(key, pixmap)) {
- pixmap = QPixmap(selfRect.size());
- p = new QPainter(&pixmap);
- selfRect = QRect(0, 0, selfRect.width(), selfRect.height());
- }
-
- // Map offset for global window gradient
- QPoint offset = window()->mapToGlobal(selfRect.topLeft()) -
- mapToGlobal(selfRect.topLeft());
- QRect gradientSpan;
- gradientSpan = QRect(offset, window()->size());
- StyleHelper::horizontalGradient(p, gradientSpan, selfRect);
-
- p->setPen(StyleHelper::borderColor());
-
- // Note: This is a hack to determine if the
- // toolbar should draw the top or bottom outline
- // (needed for the find toolbar for instance)
- QColor lighter(255, 255, 255, 40);
- if (property("topBorder").toBool()) {
- p->drawLine(selfRect.topLeft(), selfRect.topRight());
- p->setPen(lighter);
- p->drawLine(selfRect.topLeft() + QPoint(0, 1), selfRect.topRight() + QPoint(0, 1));
- } else {
- p->drawLine(selfRect.bottomLeft(), selfRect.bottomRight());
- p->setPen(lighter);
- p->drawLine(selfRect.topLeft(), selfRect.topRight());
- }
-
- if (StyleHelper::usePixmapCache() && !QPixmapCache::find(key, pixmap)) {
- painter.drawPixmap(selfRect.topLeft(), pixmap);
- p->end();
- delete p;
- QPixmapCache::insert(key, pixmap);
- }
+ QStyleOption option;
+ option.rect = rect();
+ option.state = QStyle::State_Horizontal;
+ style()->drawControl(QStyle::CE_ToolBar, &option, &painter, this);
}
StyledSeparator::StyledSeparator(QWidget *parent)
@@ -84,15 +47,9 @@ void StyledSeparator::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event)
QPainter painter(this);
- QRect selfRect = rect();
-
- QColor separatorColor = StyleHelper::borderColor();
- separatorColor.setAlpha(100);
- painter.setPen(separatorColor);
- const int margin = 6;
- const int offset = selfRect.width()/2;
- painter.drawLine(selfRect.bottomLeft().x() + offset,
- selfRect.bottomLeft().y() - margin,
- selfRect.topLeft().x() + offset,
- selfRect.topLeft().y() + margin);
+ QStyleOption option;
+ option.rect = rect();
+ option.state = QStyle::State_Horizontal;
+ option.palette = palette();
+ style()->drawPrimitive(QStyle::PE_IndicatorToolBarSeparator, &option, &painter, this);
}