From f3f790cec0910e2638f97e604cc059bcc0bfa77d Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Wed, 15 Jul 2009 12:42:09 +0200
Subject: [PATCH] Missing files

---
 src/libs/utils/styledbar.cpp | 65 ++++++++++++++++++++++++++++++++++++
 src/libs/utils/styledbar.h   | 23 +++++++++++++
 2 files changed, 88 insertions(+)
 create mode 100644 src/libs/utils/styledbar.cpp
 create mode 100644 src/libs/utils/styledbar.h

diff --git a/src/libs/utils/styledbar.cpp b/src/libs/utils/styledbar.cpp
new file mode 100644
index 00000000000..39326a17cbf
--- /dev/null
+++ b/src/libs/utils/styledbar.cpp
@@ -0,0 +1,65 @@
+#include "styledbar.h"
+
+#include "stylehelper.h"
+
+#include <QtCore/QVariant>
+#include <QtGui/QPainter>
+#include <QtGui/QPixmapCache>
+
+using namespace Core::Utils;
+
+StyledBar::StyledBar(QWidget *parent)
+    : QWidget(parent)
+{
+    setProperty("panelwidget", true);
+}
+
+void StyledBar::paintEvent(QPaintEvent *event)
+{
+    // Currently from the style
+    // Goal should be to migrate that into a Utils::StyledWidget class
+    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);
+    }
+}
diff --git a/src/libs/utils/styledbar.h b/src/libs/utils/styledbar.h
new file mode 100644
index 00000000000..6b93ffe5568
--- /dev/null
+++ b/src/libs/utils/styledbar.h
@@ -0,0 +1,23 @@
+#ifndef STYLEDBAR_H
+#define STYLEDBAR_H
+
+#include "utils_global.h"
+
+#include <QtGui/QWidget>
+
+namespace Core {
+namespace Utils {
+
+class QTCREATOR_UTILS_EXPORT StyledBar : public QWidget
+{
+public:
+    StyledBar(QWidget *parent = 0);
+
+protected:
+    void paintEvent(QPaintEvent *event);
+};
+
+} // Utils
+} // Core
+
+#endif // STYLEDBAR_H
-- 
GitLab