From d1c7daffd37d38233eab43ab11a5c10b268dd6ad Mon Sep 17 00:00:00 2001
From: Christian Kamm <christian.d.kamm@nokia.com>
Date: Wed, 28 Apr 2010 16:09:48 +0200
Subject: [PATCH] Styling: Merge Qt Simulator theme changes back into Creator.

Reviewed-by: Jens Bache-Wiig
---
 src/libs/utils/stylehelper.cpp            |  8 ++++++++
 src/plugins/coreplugin/manhattanstyle.cpp | 12 ++++++++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/libs/utils/stylehelper.cpp b/src/libs/utils/stylehelper.cpp
index 468a26dde68..8f6499ce3c8 100644
--- a/src/libs/utils/stylehelper.cpp
+++ b/src/libs/utils/stylehelper.cpp
@@ -201,6 +201,14 @@ void StyleHelper::verticalGradient(QPainter *painter, const QRect &spanRect, con
 static void horizontalGradientHelper(QPainter *p, const QRect &spanRect, const
 QRect &rect, bool lightColored)
 {
+    if (lightColored) {
+        QLinearGradient shadowGradient(rect.topLeft(), rect.bottomLeft());
+        shadowGradient.setColorAt(0, 0xf0f0f0);
+        shadowGradient.setColorAt(1, 0xcfcfcf);
+        p->fillRect(rect, shadowGradient);
+        return;
+    }
+
     QColor base = StyleHelper::baseColor(lightColored);
     QColor highlight = StyleHelper::highlightColor(lightColored);
     QColor shadow = StyleHelper::shadowColor(lightColored);
diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp
index d02f3f3f38c..5f2bc9c00bd 100644
--- a/src/plugins/coreplugin/manhattanstyle.cpp
+++ b/src/plugins/coreplugin/manhattanstyle.cpp
@@ -795,13 +795,18 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt
             else
                 Utils::StyleHelper::verticalGradient(painter, gradientSpan, rect, drawLightColored);
 
-            painter->setPen(Utils::StyleHelper::borderColor());
+            if (!drawLightColored)
+                painter->setPen(Utils::StyleHelper::borderColor());
+            else
+                painter->setPen(QColor(0x888888));
 
             if (horizontal) {
                 // 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(Utils::StyleHelper::sidebarHighlight());
+                if (drawLightColored)
+                    lighter = QColor(255, 255, 255, 180);
                 if (widget && widget->property("topBorder").toBool()) {
                     painter->drawLine(rect.topLeft(), rect.topRight());
                     painter->setPen(lighter);
@@ -817,6 +822,7 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt
             }
         }
         break;
+
     default:
         QProxyStyle::drawControl(element, option, painter, widget);
         break;
@@ -887,7 +893,8 @@ void ManhattanStyle::drawComplexControl(ComplexControl control, const QStyleOpti
                 }
                 tool.rect = tool.rect.adjusted(2, 2, -2, -2);
                 drawPrimitive(PE_IndicatorArrowDown, &tool, painter, widget);
-            } else if (toolbutton->features & QStyleOptionToolButton::HasMenu) {
+            } else if (toolbutton->features & QStyleOptionToolButton::HasMenu
+                       && !widget->property("noArrow").toBool()) {
                 int arrowSize = 6;
                 QRect ir = toolbutton->rect.adjusted(1, 1, -1, -1);
                 QStyleOptionToolButton newBtn = *toolbutton;
@@ -968,6 +975,7 @@ void ManhattanStyle::drawComplexControl(ComplexControl control, const QStyleOpti
             painter->restore();
         }
         break;
+
     default:
         QProxyStyle::drawComplexControl(control, option, painter, widget);
         break;
-- 
GitLab