diff --git a/src/libs/utils/stylehelper.cpp b/src/libs/utils/stylehelper.cpp
index 7be8e7f4b81dffff28124facfb9a88075535d03d..dbfc6d6bcaee6e8495037e882b667f1abf34e92a 100644
--- a/src/libs/utils/stylehelper.cpp
+++ b/src/libs/utils/stylehelper.cpp
@@ -352,4 +352,46 @@ void StyleHelper::menuGradient(QPainter *painter, const QRect &spanRect, const Q
     }
 }
 
+// Draws a CSS-like border image where the defined borders are not stretched
+void StyleHelper::drawCornerImage(const QImage &img, QPainter *painter, QRect rect,
+                                  int left, int top, int right, int bottom)
+{
+    QSize size = img.size();
+    if (top > 0) { //top
+        painter->drawImage(QRect(rect.left() + left, rect.top(), rect.width() -right - left, top), img,
+                           QRect(left, 0, size.width() -right - left, top));
+        if (left > 0) //top-left
+            painter->drawImage(QRect(rect.left(), rect.top(), left, top), img,
+                               QRect(0, 0, left, top));
+        if (right > 0) //top-right
+            painter->drawImage(QRect(rect.left() + rect.width() - right, rect.top(), right, top), img,
+                               QRect(size.width() - right, 0, right, top));
+    }
+    //left
+    if (left > 0)
+        painter->drawImage(QRect(rect.left(), rect.top()+top, left, rect.height() - top - bottom), img,
+                           QRect(0, top, left, size.height() - bottom - top));
+    //center
+    painter->drawImage(QRect(rect.left() + left, rect.top()+top, rect.width() -right - left,
+                             rect.height() - bottom - top), img,
+                       QRect(left, top, size.width() -right -left,
+                             size.height() - bottom - top));
+    if (right > 0) //right
+        painter->drawImage(QRect(rect.left() +rect.width() - right, rect.top()+top, right, rect.height() - top - bottom), img,
+                           QRect(size.width() - right, top, right, size.height() - bottom - top));
+    if (bottom > 0) { //bottom
+        painter->drawImage(QRect(rect.left() +left, rect.top() + rect.height() - bottom,
+                                 rect.width() - right - left, bottom), img,
+                           QRect(left, size.height() - bottom,
+                                 size.width() - right - left, bottom));
+    if (left > 0) //bottom-left
+        painter->drawImage(QRect(rect.left(), rect.top() + rect.height() - bottom, left, bottom), img,
+                           QRect(0, size.height() - bottom, left, bottom));
+    if (right > 0) //bottom-right
+        painter->drawImage(QRect(rect.left() + rect.width() - right, rect.top() + rect.height() - bottom, right, bottom), img,
+                           QRect(size.width() - right, size.height() - bottom, right, bottom));
+    }
+}
+
+
 } // namespace Utils
diff --git a/src/libs/utils/stylehelper.h b/src/libs/utils/stylehelper.h
index bb52a940b1ce81ae3a2b815cc094c818d479c793..ee7a61b2a39146468ed78c866d21f673a1116ef9 100644
--- a/src/libs/utils/stylehelper.h
+++ b/src/libs/utils/stylehelper.h
@@ -78,6 +78,9 @@ public:
     // Pixmap cache should only be enabled for X11 due to slow gradients
     static bool usePixmapCache() { return true; }
 
+    static void drawCornerImage(const QImage &img, QPainter *painter, QRect rect,
+                         int left = 0, int top = 0, int right = 0, int bottom = 0);
+
 private:
     static QColor m_baseColor;
 };
diff --git a/src/plugins/coreplugin/fancyactionbar.cpp b/src/plugins/coreplugin/fancyactionbar.cpp
index e9c84538745e87d99db0f72277e1b3a5ffd2dc4b..00822110affc35599f7f21ce905c01e8f79755c7 100644
--- a/src/plugins/coreplugin/fancyactionbar.cpp
+++ b/src/plugins/coreplugin/fancyactionbar.cpp
@@ -225,6 +225,7 @@ void FancyToolButton::actionChanged()
 FancyActionBar::FancyActionBar(QWidget *parent)
     : QWidget(parent)
 {
+    setObjectName(QString::fromUtf8("actionbar"));
     m_actionsLayout = new QVBoxLayout;
     QVBoxLayout *spacerLayout = new QVBoxLayout;
     spacerLayout->addLayout(m_actionsLayout);
diff --git a/src/plugins/coreplugin/fancytabwidget.cpp b/src/plugins/coreplugin/fancytabwidget.cpp
index 20684085ee4feb066f84c0e1647b02a9ad63c3ea..5f68401be0f3c023ee8596ca11521faf12a9e2fa 100644
--- a/src/plugins/coreplugin/fancytabwidget.cpp
+++ b/src/plugins/coreplugin/fancytabwidget.cpp
@@ -293,6 +293,10 @@ void FancyTabBar::paintTab(QPainter *painter, int tabIndex) const
         painter->restore();
     }
 #endif
+
+    if (!enabled)
+        painter->setOpacity(0.7);
+
     int textHeight = painter->fontMetrics().boundingRect(QRect(0, 0, width(), height()), Qt::TextWordWrap, tabText).height();
     tabIconRect.adjust(0, 4, 0, -textHeight);
     int iconSize = qMin(tabIconRect.width(), tabIconRect.height());
diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp
index e8135da9db723dbcb26d264bb91d1cf887842702..2aa2c82aaa30141e3f88a8d7c1fa8844b1b70ecd 100644
--- a/src/plugins/coreplugin/manhattanstyle.cpp
+++ b/src/plugins/coreplugin/manhattanstyle.cpp
@@ -88,7 +88,6 @@ bool panelWidget(const QWidget *widget)
     while (p) {
         if (qobject_cast<const QToolBar *>(p) ||
             qobject_cast<const QStatusBar *>(p) ||
-            qobject_cast<const QAbstractItemView *>(p) ||
             qobject_cast<const QMenuBar *>(p))
             return styleEnabled(widget);
         if (p->property("panelwidget").toBool())
@@ -151,48 +150,6 @@ ManhattanStyle::~ManhattanStyle()
     d = 0;
 }
 
-// Draws a CSS-like border image where the defined borders are not stretched
-void drawCornerImage(const QImage &img, QPainter *painter, QRect rect,
-                     int left = 0, int top = 0, int right = 0,
-                     int bottom = 0)
-{
-    QSize size = img.size();
-    if (top > 0) { //top
-        painter->drawImage(QRect(rect.left() + left, rect.top(), rect.width() -right - left, top), img,
-                           QRect(left, 0, size.width() -right - left, top));
-        if (left > 0) //top-left
-            painter->drawImage(QRect(rect.left(), rect.top(), left, top), img,
-                               QRect(0, 0, left, top));
-        if (right > 0) //top-right
-            painter->drawImage(QRect(rect.left() + rect.width() - right, rect.top(), right, top), img,
-                               QRect(size.width() - right, 0, right, top));
-    }
-    //left
-    if (left > 0)
-        painter->drawImage(QRect(rect.left(), rect.top()+top, left, rect.height() - top - bottom), img,
-                           QRect(0, top, left, size.height() - bottom - top));
-    //center
-    painter->drawImage(QRect(rect.left() + left, rect.top()+top, rect.width() -right - left,
-                             rect.height() - bottom - top), img,
-                       QRect(left, top, size.width() -right -left,
-                             size.height() - bottom - top));
-    if (right > 0) //right
-        painter->drawImage(QRect(rect.left() +rect.width() - right, rect.top()+top, right, rect.height() - top - bottom), img,
-                           QRect(size.width() - right, top, right, size.height() - bottom - top));
-    if (bottom > 0) { //bottom
-        painter->drawImage(QRect(rect.left() +left, rect.top() + rect.height() - bottom,
-                                 rect.width() - right - left, bottom), img,
-                           QRect(left, size.height() - bottom,
-                                 size.width() - right - left, bottom));
-    if (left > 0) //bottom-left
-        painter->drawImage(QRect(rect.left(), rect.top() + rect.height() - bottom, left, bottom), img,
-                           QRect(0, size.height() - bottom, left, bottom));
-    if (right > 0) //bottom-right
-        painter->drawImage(QRect(rect.left() + rect.width() - right, rect.top() + rect.height() - bottom, right, bottom), img,
-                           QRect(size.width() - right, size.height() - bottom, right, bottom));
-    }
-}
-
 QPixmap ManhattanStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *opt) const
 {
     return QProxyStyle::generatedIconPixmap(iconMode, pixmap, opt);
@@ -464,27 +421,6 @@ void ManhattanStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
     }
 
     switch (element) {
-/*
-case PE_PanelItemViewItem:
-        if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option)) {
-            if (vopt->state & State_Selected) {
-                QLinearGradient gradient;
-                gradient.setStart(option->rect.topLeft());
-                gradient.setFinalStop(option->rect.bottomRight());
-                gradient.setColorAt(0, option->palette.highlight().color().lighter(115));
-                gradient.setColorAt(1, option->palette.highlight().color().darker(135));
-                painter->fillRect(option->rect, gradient);
-            } else {
-                if (vopt->backgroundBrush.style() != Qt::NoBrush) {
-                    QPointF oldBO = painter->brushOrigin();
-                    painter->setBrushOrigin(vopt->rect.topLeft());
-                    painter->fillRect(vopt->rect, vopt->backgroundBrush);
-                    painter->setBrushOrigin(oldBO);
-                }
-            }
-        }
-        break;
-*/
     case PE_PanelLineEdit:
         {
             painter->save();
@@ -495,9 +431,9 @@ case PE_PanelItemViewItem:
             painter->fillRect(filledRect, option->palette.base());
 
             if (option->state & State_Enabled)
-                drawCornerImage(d->lineeditImage, painter, option->rect, 5, 5, 5, 5);
+                Utils::StyleHelper::drawCornerImage(d->lineeditImage, painter, option->rect, 5, 5, 5, 5);
             else
-                drawCornerImage(d->lineeditImage_disabled, painter, option->rect, 5, 5, 5, 5);
+                Utils::StyleHelper::drawCornerImage(d->lineeditImage_disabled, painter, option->rect, 5, 5, 5, 5);
 
             if (option->state & State_HasFocus || option->state & State_MouseOver) {
                 QColor hover = Utils::StyleHelper::baseColor();
@@ -945,29 +881,34 @@ void ManhattanStyle::drawComplexControl(ComplexControl control, const QStyleOpti
             painter->save();
             bool isEmpty = cb->currentText.isEmpty() && cb->currentIcon.isNull();
             bool reverse = option->direction == Qt::RightToLeft;
+            bool drawborder = !(widget && widget->property("hideborder").toBool());
+            bool alignarrow = !(widget && widget->property("alignarrow").toBool());
 
             // Draw tool button
-            QLinearGradient grad(option->rect.topRight(), option->rect.bottomRight());
-            grad.setColorAt(0, QColor(255, 255, 255, 20));
-            grad.setColorAt(0.4, QColor(255, 255, 255, 60));
-            grad.setColorAt(0.7, QColor(255, 255, 255, 50));
-            grad.setColorAt(1, QColor(255, 255, 255, 40));
-            painter->setPen(QPen(grad, 0));
-            painter->drawLine(rect.topRight(), rect.bottomRight());
-            grad.setColorAt(0, QColor(0, 0, 0, 30));
-            grad.setColorAt(0.4, QColor(0, 0, 0, 70));
-            grad.setColorAt(0.7, QColor(0, 0, 0, 70));
-            grad.setColorAt(1, QColor(0, 0, 0, 40));
-            painter->setPen(QPen(grad, 0));
-            if (!reverse)
-                painter->drawLine(rect.topRight() - QPoint(1,0), rect.bottomRight() - QPoint(1,0));
-            else
-                painter->drawLine(rect.topLeft(), rect.bottomLeft());
+            if (drawborder) {
+                QLinearGradient grad(option->rect.topRight(), option->rect.bottomRight());
+                grad.setColorAt(0, QColor(255, 255, 255, 20));
+                grad.setColorAt(0.4, QColor(255, 255, 255, 60));
+                grad.setColorAt(0.7, QColor(255, 255, 255, 50));
+                grad.setColorAt(1, QColor(255, 255, 255, 40));
+                painter->setPen(QPen(grad, 0));
+                painter->drawLine(rect.topRight(), rect.bottomRight());
+                grad.setColorAt(0, QColor(0, 0, 0, 30));
+                grad.setColorAt(0.4, QColor(0, 0, 0, 70));
+                grad.setColorAt(0.7, QColor(0, 0, 0, 70));
+                grad.setColorAt(1, QColor(0, 0, 0, 40));
+                painter->setPen(QPen(grad, 0));
+                if (!reverse)
+                    painter->drawLine(rect.topRight() - QPoint(1,0), rect.bottomRight() - QPoint(1,0));
+                else
+                    painter->drawLine(rect.topLeft(), rect.bottomLeft());
+            }
             QStyleOption toolbutton = *option;
             if (isEmpty)
                 toolbutton.state &= ~(State_Enabled | State_Sunken);
             painter->save();
-            painter->setClipRect(toolbutton.rect.adjusted(0, 0, -2, 0));
+            if (drawborder)
+                painter->setClipRect(toolbutton.rect.adjusted(0, 0, -2, 0));
             drawPrimitive(PE_PanelButtonTool, &toolbutton, painter, widget);
             painter->restore();
             // Draw arrow
@@ -975,6 +916,11 @@ void ManhattanStyle::drawComplexControl(ComplexControl control, const QStyleOpti
             int left = !reverse ? rect.right() - menuButtonWidth : rect.left();
             int right = !reverse ? rect.right() : rect.left() + menuButtonWidth;
             QRect arrowRect((left + right) / 2 + (reverse ? 6 : -6), rect.center().y() - 3, 9, 9);
+
+            if (!alignarrow) {
+                int leftOffset = option->fontMetrics.width(cb->currentText) + 12;
+                arrowRect.moveLeft(leftOffset);
+            }
             if (option->state & State_On)
                 arrowRect.translate(QProxyStyle::pixelMetric(PM_ButtonShiftHorizontal, option, widget),
                                     QProxyStyle::pixelMetric(PM_ButtonShiftVertical, option, widget));
diff --git a/src/plugins/projectexplorer/images/targetpanel_bottom.png b/src/plugins/projectexplorer/images/targetpanel_bottom.png
new file mode 100644
index 0000000000000000000000000000000000000000..28bddc01e71fafd3524c11c21cfb24a28a35cce3
Binary files /dev/null and b/src/plugins/projectexplorer/images/targetpanel_bottom.png differ
diff --git a/src/plugins/projectexplorer/images/targetpanel_gradient.png b/src/plugins/projectexplorer/images/targetpanel_gradient.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2d8b5896602869d1a4153a2ba5f5aa513bad62b
Binary files /dev/null and b/src/plugins/projectexplorer/images/targetpanel_gradient.png differ
diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
index 6994391dca399d3df13ec337e3231d47a3328245..f13831d0b652eeb2400fd3b8e25257548b097de7 100644
--- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp
+++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
@@ -52,6 +52,7 @@
 #include <QtGui/QStackedWidget>
 #include <QtGui/QKeyEvent>
 #include <QtGui/QPainter>
+#include <QtGui/QItemDelegate>
 
 #include <QtGui/QApplication>
 
@@ -78,6 +79,40 @@ static QIcon createCenteredIcon(const QIcon &icon, const QIcon &overlay)
 using namespace ProjectExplorer;
 using namespace ProjectExplorer::Internal;
 
+class TargetSelectorDelegate : public QItemDelegate
+{
+public:
+    TargetSelectorDelegate(QObject *parent) : QItemDelegate(parent) { }
+private:
+    void paint(QPainter *painter,
+               const QStyleOptionViewItem &option,
+               const QModelIndex &index) const;
+    mutable QImage selectionGradient;
+};
+
+void TargetSelectorDelegate::paint(QPainter *painter,
+                                   const QStyleOptionViewItem &option,
+                                   const QModelIndex &) const
+{
+    painter->save();
+    painter->setClipping(false);
+
+    if (selectionGradient.isNull())
+        selectionGradient.load(QLatin1String(":/projectexplorer/images/targetpanel_gradient.png"));
+
+    if (option.state & QStyle::State_Selected) {
+        painter->fillRect(option.rect, option.palette.highlight().color().darker(140));
+        Utils::StyleHelper::drawCornerImage(selectionGradient, painter, option.rect.adjusted(0, 0, 0, -1), 5, 5, 5, 5);
+        painter->setPen(QColor(255, 255, 255, 60));
+        painter->drawLine(option.rect.topLeft(), option.rect.topRight());
+        painter->setPen(QColor(255, 255, 255, 30));
+        painter->drawLine(option.rect.bottomLeft() - QPoint(0,1), option.rect.bottomRight() -  QPoint(0,1));
+        painter->setPen(QColor(0, 0, 0, 80));
+        painter->drawLine(option.rect.bottomLeft(), option.rect.bottomRight());
+    }
+    painter->restore();
+}
+
 ProjectListWidget::ProjectListWidget(ProjectExplorer::Project *project, QWidget *parent)
     : QListWidget(parent), m_project(project)
 {
@@ -85,6 +120,7 @@ ProjectListWidget::ProjectListWidget(ProjectExplorer::Project *project, QWidget
     setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     setAlternatingRowColors(false);
     setFocusPolicy(Qt::WheelFocus);
+    setItemDelegate(new TargetSelectorDelegate(this));
 
     connect(this, SIGNAL(currentRowChanged(int)), SLOT(setTarget(int)));
 }
@@ -100,7 +136,17 @@ QSize ProjectListWidget::sizeHint() const
     for (int itemPos = 0; itemPos < count(); ++itemPos)
         height += item(itemPos)->sizeHint().height();
 
-    return QListWidget::sizeHint().expandedTo(QSize(0, height));
+    // We try to keep the height of the popup equal to the actionbar
+    QSize size(QListWidget::sizeHint().width(), height);
+    static QStatusBar *statusBar = Core::ICore::instance()->statusBar();
+    static QWidget *actionBar = Core::ICore::instance()->mainWindow()->findChild<QWidget*>("actionbar");
+    Q_ASSERT(actionBar);
+
+    QMargins popupMargins = window()->contentsMargins();
+    if (actionBar)
+        size.setHeight(qMax(actionBar->height() - statusBar->height() -
+                            (popupMargins.top() + popupMargins.bottom()), height));
+    return size;
 }
 
 void ProjectListWidget::setRunComboPopup()
@@ -134,6 +180,8 @@ MiniTargetWidget::MiniTargetWidget(Target *target, QWidget *parent) :
 
     if (hasBuildConfiguration()) {
         m_buildComboBox = new QComboBox;
+        m_buildComboBox->setProperty("alignarrow", true);
+        m_buildComboBox->setProperty("hideborder", true);
         m_buildComboBox->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
         m_buildComboBox->setToolTip(tr("Make active and press 'b' to select."));
     } else {
@@ -141,22 +189,22 @@ MiniTargetWidget::MiniTargetWidget(Target *target, QWidget *parent) :
     }
  
     m_runComboBox = new QComboBox;
+    m_runComboBox ->setProperty("alignarrow", true);
+    m_runComboBox ->setProperty("hideborder", true);
     m_runComboBox->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
     m_runComboBox->setToolTip(tr("Make active and press 'r' to select."));
 
     int fontSize = font().pointSize();
-    setStyleSheet(QString::fromLatin1("QWidget { font-size: %1pt; color: white; } "
-                                      "QLabel#targetName {  font-size: %2pt; font-weight: bold; } "
-                                      "QComboBox { background-color: transparent; margin: 0; border: none; } "
-                                      "QComboBox QWidget { background-color: %3;  border: 1px solid lightgrey; } "
-                                      "QComboBox::drop-down { border: none; }"
-                                      "QComboBox::down-arrow { image: url(:/welcome/images/combobox_arrow.png); } "
-                                      ).arg(fontSize-1).arg(fontSize).arg(Utils::StyleHelper::baseColor().name()));
+    setStyleSheet(QString::fromLatin1("QLabel { font-size: %2pt; color: white; } "
+                                      "#target { font: bold %1pt;} "
+                                      "#buildLabel{ font: bold; color: rgba(255, 255, 255, 160)} "
+                                      "#runLabel { font: bold ; color: rgba(255, 255, 255, 160)} "
+                                      ).arg(fontSize).arg(fontSize - 2));
 
     QGridLayout *gridLayout = new QGridLayout(this);
 
     m_targetName = new QLabel(m_target->displayName());
-    m_targetName->setObjectName(QLatin1String("target"));
+    m_targetName->setObjectName(QString::fromUtf8("target"));
     m_targetIcon = new QLabel();
     updateIcon();
     if (hasBuildConfiguration()) {
@@ -201,14 +249,17 @@ MiniTargetWidget::MiniTargetWidget(Target *target, QWidget *parent) :
     runHelperLayout->addWidget(m_runComboBox);
 
     QFormLayout *formLayout = new QFormLayout;
+    formLayout->setLabelAlignment(Qt::AlignRight);
     QLabel *lbl;
     if (hasBuildConfiguration()) {
         lbl = new QLabel(tr("Build:"));
-        lbl->setIndent(6);
+        lbl->setObjectName(QString::fromUtf8("buildLabel"));
+        lbl->setIndent(10);
         formLayout->addRow(lbl, buildHelperLayout);
     }
     lbl = new QLabel(tr("Run:"));
-    lbl->setIndent(6);
+    lbl->setObjectName(QString::fromUtf8("runLabel"));
+    lbl->setIndent(10);
     formLayout->addRow(lbl, runHelperLayout);
 
     gridLayout->addWidget(m_targetName, 0, 0);
@@ -305,6 +356,8 @@ bool MiniTargetWidget::hasBuildConfiguration() const
 MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorAction, QWidget *parent) :
     QWidget(parent), m_projectAction(targetSelectorAction)
 {
+    setProperty("panelwidget", true);
+    setContentsMargins(QMargins(0, 1, 1, 8));
     setWindowFlags(Qt::Popup);
     setFocusPolicy(Qt::WheelFocus);
 
@@ -327,8 +380,18 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi
     QFont f = lbl->font();
     f.setBold(true);
     lbl->setFont(f);
+
+    int panelHeight = lbl->fontMetrics().height() + 12;
+    bar->ensurePolished(); // Required since manhattanstyle overrides height
+    bar->setFixedHeight(panelHeight);
+
     m_projectsBox = new QComboBox;
-    m_projectsBox->setObjectName(QLatin1String("ProjectsBox"));
+    f.setBold(false);
+    m_projectsBox->setFont(f);
+    m_projectsBox->ensurePolished();
+    m_projectsBox->setFixedHeight(panelHeight);
+    m_projectsBox->setProperty("hideborder", true);
+    m_projectsBox->setObjectName(QString::fromUtf8("ProjectsBox"));
     m_projectsBox->setFocusPolicy(Qt::WheelFocus);
     m_projectsBox->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
     m_projectsBox->setMaximumWidth(200);
@@ -369,7 +432,7 @@ void MiniProjectTargetSelector::addProject(ProjectExplorer::Project* project)
     ProjectListWidget *targetList = new ProjectListWidget(project);
     targetList->installEventFilter(this);
     targetList->setStyleSheet(QString::fromLatin1("QListWidget { background: %1; border: none; }")
-                              .arg(Utils::StyleHelper::baseColor().name()));
+                              .arg(QColor(70, 70, 70).name()));
     int pos = m_widgetStack->addWidget(targetList);
 
     m_projectsBox->addItem(project->displayName(), QVariant::fromValue(project));
@@ -413,7 +476,6 @@ void MiniProjectTargetSelector::addTarget(ProjectExplorer::Target *target, bool
     connect(target, SIGNAL(iconChanged()), this, SLOT(updateAction()));
     connect(target, SIGNAL(overlayIconChanged()), this, SLOT(updateAction()));
     ProjectListWidget *plw = qobject_cast<ProjectListWidget*>(m_widgetStack->widget(index));
-
     QListWidgetItem *lwi = new QListWidgetItem();
 
     // Sort on insert:
@@ -540,6 +602,18 @@ void MiniProjectTargetSelector::changeStartupProject(ProjectExplorer::Project *p
     updateAction();
 }
 
+void MiniProjectTargetSelector::paintEvent(QPaintEvent *)
+{
+    QPainter painter(this);
+    painter.setPen(Utils::StyleHelper::borderColor());
+    painter.drawLine(rect().topLeft(), rect().topRight());
+    painter.drawLine(rect().topRight(), rect().bottomRight());
+
+    QRect bottomRect(0, rect().height() - 8, rect().width(), 8);
+    static QImage image(QLatin1String(":/projectexplorer/images/targetpanel_bottom.png"));
+    Utils::StyleHelper::drawCornerImage(image, &painter, bottomRect, 1, 1, 1, 1);
+}
+
 bool MiniProjectTargetSelector::eventFilter(QObject *o, QEvent *ev)
 {
     switch(ev->type()) 
diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.h b/src/plugins/projectexplorer/miniprojecttargetselector.h
index c78906240d3d2c1e67cc2e32639732ec4df343fc..13f9d5427f518895b3d097957403b5fd26e10723 100644
--- a/src/plugins/projectexplorer/miniprojecttargetselector.h
+++ b/src/plugins/projectexplorer/miniprojecttargetselector.h
@@ -131,6 +131,7 @@ private slots:
     void emitStartupProjectChanged(int index);
     void changeStartupProject(ProjectExplorer::Project *project);
     void updateAction();
+    void paintEvent(QPaintEvent *);
 
 private:
     int indexFor(ProjectExplorer::Project *project) const;
diff --git a/src/plugins/projectexplorer/projectexplorer.qrc b/src/plugins/projectexplorer/projectexplorer.qrc
index b294eb4625e44e3a6efba5baf0a31b4db9cdf9c1..4430687501ec380eb78ef592162ad09623d843c9 100644
--- a/src/plugins/projectexplorer/projectexplorer.qrc
+++ b/src/plugins/projectexplorer/projectexplorer.qrc
@@ -38,5 +38,7 @@
         <file>images/ConnectionOff.png</file>
         <file>images/ConnectionOn.png</file>
         <file>images/build.png</file>
+        <file>images/targetpanel_bottom.png</file>
+        <file>images/targetpanel_gradient.png</file>
     </qresource>
 </RCC>