diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp
index 4370ab49d59e5c5dd2bcf318f3501d0fe9b16be0..171dac813f2449b1bfc9b664fbafddc2f7736d1c 100644
--- a/src/plugins/coreplugin/manhattanstyle.cpp
+++ b/src/plugins/coreplugin/manhattanstyle.cpp
@@ -86,6 +86,8 @@ bool panelWidget(const QWidget *widget)
             return true;
         else if (qobject_cast<const QMenuBar *>(p) && styleEnabled(p))
             return true;
+        else if (p->property("panelwidget").toBool())
+            return true;
         p = p->parentWidget();
     }
     return false;
diff --git a/src/plugins/find/findtoolbar.cpp b/src/plugins/find/findtoolbar.cpp
index 8b7a4bb6af0949429c197a2a3673de99f8107a6b..0ddd2d259e65943a75e6c50a354a0ca874f69702 100644
--- a/src/plugins/find/findtoolbar.cpp
+++ b/src/plugins/find/findtoolbar.cpp
@@ -32,6 +32,7 @@
 #include "textfindconstants.h"
 
 #include <coreplugin/coreconstants.h>
+#include <coreplugin/stylehelper.h>
 #include <coreplugin/findplaceholder.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/stylehelper.h>
@@ -49,9 +50,10 @@
 #include <QtGui/QKeyEvent>
 #include <QtGui/QLineEdit>
 #include <QtGui/QMenu>
-#include <QtGui/QPainter>
 #include <QtGui/QPushButton>
 #include <QtGui/QToolButton>
+#include <QtGui/QPainter>
+#include <QtGui/QPixmapCache>
 
 Q_DECLARE_METATYPE(QStringList)
 Q_DECLARE_METATYPE(Find::IFindFilter*)
@@ -68,14 +70,13 @@ FindToolBar::FindToolBar(FindPlugin *plugin, CurrentDocumentFind *currentDocumen
       m_findNextAction(0),
       m_findPreviousAction(0),
       m_replaceNextAction(0),
-      m_widget(new QWidget),
       m_casesensitiveIcon(":/find/images/casesensitively.png"),
       m_regexpIcon(":/find/images/regexp.png"),
       m_wholewordsIcon(":/find/images/wholewords.png")
 {
     //setup ui
-    m_ui.setupUi(m_widget);
-    addWidget(m_widget);
+    m_ui.setupUi(this);
+    setProperty("panelwidget", true);
     setFocusProxy(m_ui.findEdit);
     setProperty("topBorder", true);
     m_ui.findEdit->setAttribute(Qt::WA_MacShowFocusRect, false);
@@ -83,14 +84,9 @@ FindToolBar::FindToolBar(FindPlugin *plugin, CurrentDocumentFind *currentDocumen
 
     connect(m_ui.findEdit, SIGNAL(editingFinished()), this, SLOT(invokeResetIncrementalSearch()));
 
-    QWidget *spacerItem = new QWidget;
-    spacerItem->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
-    addWidget(spacerItem);
-    QToolButton *close = new QToolButton;
-    close->setProperty("type", QLatin1String("dockbutton"));
-    close->setIcon(QIcon(":/core/images/closebutton.png"));
-    connect(close, SIGNAL(clicked()), this, SLOT(hideAndResetFocus()));
-    addWidget(close);
+    m_ui.close->setProperty("type", QLatin1String("dockbutton"));
+    m_ui.close->setIcon(QIcon(":/core/images/closebutton.png"));
+    connect(m_ui.close, SIGNAL(clicked()), this, SLOT(hideAndResetFocus()));
 
     m_ui.findPreviousButton->setProperty("type", QLatin1String("dockbutton"));
     m_ui.findNextButton->setProperty("type", QLatin1String("dockbutton"));
@@ -110,7 +106,7 @@ FindToolBar::FindToolBar(FindPlugin *plugin, CurrentDocumentFind *currentDocumen
 
     m_ui.findEdit->installEventFilter(this);
     m_ui.replaceEdit->installEventFilter(this);
-    m_widget->installEventFilter(this);
+    this->installEventFilter(this);
 
     connect(m_ui.findEdit, SIGNAL(textChanged(const QString&)), this, SLOT(invokeFindIncremental()));
     connect(m_ui.findEdit, SIGNAL(returnPressed()), this, SLOT(invokeFindEnter()));
@@ -234,6 +230,56 @@ FindToolBar::~FindToolBar()
 {
 }
 
+void FindToolBar::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);
+    }
+}
+
 bool FindToolBar::eventFilter(QObject *obj, QEvent *event)
 {
     if ((obj == m_ui.findEdit || obj == m_findCompleter->popup())
@@ -251,7 +297,7 @@ bool FindToolBar::eventFilter(QObject *obj, QEvent *event)
                 return true;
             }
         }
-    } else if (obj == m_widget && event->type() == QEvent::ShortcutOverride) {
+    } else if (obj == this && event->type() == QEvent::ShortcutOverride) {
         QKeyEvent *ke = static_cast<QKeyEvent *>(event);
         if (ke->key() == Qt::Key_Escape && !ke->modifiers()
                 && !m_findCompleter->popup()->isVisible()
@@ -268,13 +314,13 @@ bool FindToolBar::eventFilter(QObject *obj, QEvent *event)
             event->accept();
             return true;
         }
-    } else if (obj == m_widget && event->type() == QEvent::Hide) {
+    } else if (obj == this && event->type() == QEvent::Hide) {
         invokeClearResults();
         if (m_currentDocumentFind->isEnabled()) {
             m_currentDocumentFind->clearFindScope();
         }
     }
-    return QToolBar::eventFilter(obj, event);
+    return QWidget::eventFilter(obj, event);
 }
 
 void FindToolBar::updateActions()
@@ -284,9 +330,11 @@ void FindToolBar::updateActions()
     m_findInDocumentAction->setEnabled(enabled);
     m_findNextAction->setEnabled(enabled);
     m_findPreviousAction->setEnabled(enabled);
+
     m_replaceNextAction->setEnabled(replaceEnabled);
     m_replacePreviousAction->setEnabled(replaceEnabled);
     m_replaceAllAction->setEnabled(replaceEnabled);
+
     m_caseSensitiveAction->setEnabled(enabled);
     m_wholeWordAction->setEnabled(enabled);
     m_regularExpressionAction->setEnabled(enabled);
@@ -295,8 +343,16 @@ void FindToolBar::updateActions()
     bool replaceFocus = m_ui.replaceEdit->hasFocus();
     m_ui.findEdit->setEnabled(enabled);
     m_ui.findLabel->setEnabled(enabled);
+
     m_ui.replaceEdit->setEnabled(replaceEnabled);
     m_ui.replaceLabel->setEnabled(replaceEnabled);
+    m_ui.replaceEdit->setVisible(replaceEnabled);
+    m_ui.replaceLabel->setVisible(replaceEnabled);
+    m_ui.replacePreviousButton->setVisible(replaceEnabled);
+    m_ui.replaceNextButton->setVisible(replaceEnabled);
+    m_ui.replaceAllButton->setVisible(replaceEnabled);
+    layout()->invalidate();
+
     if (!replaceEnabled && enabled && replaceFocus)
         m_ui.findEdit->setFocus();
     updateIcons();
@@ -540,7 +596,7 @@ bool FindToolBar::focusNextPrevChild(bool next)
     else if (!next && m_ui.findEdit->hasFocus())
         m_ui.replaceAllButton->setFocus(Qt::TabFocusReason);
     else
-        return QToolBar::focusNextPrevChild(next);
+        return QWidget::focusNextPrevChild(next);
     return true;
 }
 
diff --git a/src/plugins/find/findtoolbar.h b/src/plugins/find/findtoolbar.h
index 4b85c1a9e831580fd2eb2c5c95d99531e933b886..ca1b1ba5268996826923e2838af11970f03c38f9 100644
--- a/src/plugins/find/findtoolbar.h
+++ b/src/plugins/find/findtoolbar.h
@@ -44,13 +44,14 @@ namespace Internal {
 
 class FindPlugin;
 
-class FindToolBar : public QToolBar
+class FindToolBar : public QWidget
 {
     Q_OBJECT
 
 public:
     FindToolBar(FindPlugin *plugin, CurrentDocumentFind *currentDocumentFind);
     ~FindToolBar();
+    void paintEvent(QPaintEvent *event);
 
     void readSettings();
     void writeSettings();
@@ -113,7 +114,6 @@ private:
     QAction *m_caseSensitiveAction;
     QAction *m_wholeWordAction;
     QAction *m_regularExpressionAction;
-    QWidget *m_widget;
     IFindSupport::FindFlags m_findFlags;
 
     QPixmap m_casesensitiveIcon;
diff --git a/src/plugins/find/findwidget.ui b/src/plugins/find/findwidget.ui
index b11792768d0f13dd74b7a3e85f99182a54173ad2..8fb5973c130605c1667a483d00bb68270fd29dd5 100644
--- a/src/plugins/find/findwidget.ui
+++ b/src/plugins/find/findwidget.ui
@@ -6,57 +6,47 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>600</width>
-    <height>71</height>
+    <width>603</width>
+    <height>90</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Find</string>
   </property>
-  <layout class="QHBoxLayout" name="horizontalLayout_3">
-   <property name="spacing">
-    <number>15</number>
-   </property>
+  <layout class="QGridLayout" name="gridLayout">
    <property name="leftMargin">
     <number>5</number>
    </property>
    <property name="topMargin">
-    <number>1</number>
+    <number>2</number>
    </property>
    <property name="rightMargin">
-    <number>5</number>
+    <number>0</number>
    </property>
    <property name="bottomMargin">
     <number>1</number>
    </property>
-   <item>
+   <property name="horizontalSpacing">
+    <number>5</number>
+   </property>
+   <property name="verticalSpacing">
+    <number>0</number>
+   </property>
+   <item row="0" column="0">
+    <widget class="QLabel" name="findLabel">
+     <property name="text">
+      <string>Find:</string>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="1">
+    <widget class="Core::Utils::FancyLineEdit" name="findEdit"/>
+   </item>
+   <item row="0" column="2">
     <layout class="QHBoxLayout" name="horizontalLayout_2">
      <property name="spacing">
-      <number>2</number>
+      <number>3</number>
      </property>
-     <item>
-      <widget class="QLabel" name="findLabel">
-       <property name="text">
-        <string>Find:</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="Core::Utils::FancyLineEdit" name="findEdit">
-       <property name="minimumSize">
-        <size>
-         <width>160</width>
-         <height>0</height>
-        </size>
-       </property>
-       <property name="maximumSize">
-        <size>
-         <width>160</width>
-         <height>16777215</height>
-        </size>
-       </property>
-      </widget>
-     </item>
      <item>
       <widget class="QToolButton" name="findPreviousButton">
        <property name="focusPolicy">
@@ -80,36 +70,43 @@
        </property>
       </widget>
      </item>
-    </layout>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <property name="spacing">
-      <number>2</number>
-     </property>
      <item>
-      <widget class="QLabel" name="replaceLabel">
-       <property name="text">
-        <string>Replace with:</string>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
        </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="replaceEdit">
-       <property name="minimumSize">
+       <property name="sizeHint" stdset="0">
         <size>
-         <width>150</width>
-         <height>0</height>
+         <width>40</width>
+         <height>20</height>
         </size>
        </property>
-       <property name="maximumSize">
-        <size>
-         <width>150</width>
-         <height>16777215</height>
-        </size>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QToolButton" name="close">
+       <property name="text">
+        <string>...</string>
        </property>
       </widget>
      </item>
+    </layout>
+   </item>
+   <item row="1" column="0">
+    <widget class="QLabel" name="replaceLabel">
+     <property name="text">
+      <string>Replace with:</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1">
+    <widget class="QLineEdit" name="replaceEdit"/>
+   </item>
+   <item row="1" column="2">
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>3</number>
+     </property>
      <item>
       <widget class="QToolButton" name="replacePreviousButton">
        <property name="focusPolicy">
@@ -146,6 +143,19 @@
        </property>
       </widget>
      </item>
+     <item>
+      <spacer name="replaceSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>0</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
     </layout>
    </item>
   </layout>
@@ -157,6 +167,12 @@
    <header location="global">utils/fancylineedit.h</header>
   </customwidget>
  </customwidgets>
+ <tabstops>
+  <tabstop>findEdit</tabstop>
+  <tabstop>replaceEdit</tabstop>
+  <tabstop>close</tabstop>
+  <tabstop>replaceAllButton</tabstop>
+ </tabstops>
  <resources/>
  <connections/>
 </ui>