diff --git a/src/libs/utils/detailsbutton.cpp b/src/libs/utils/detailsbutton.cpp
index d255f9245c0397c304aa77ae096a49122e589621..97cf9ef5c1c282bea3921c84e349ca7d7352358c 100644
--- a/src/libs/utils/detailsbutton.cpp
+++ b/src/libs/utils/detailsbutton.cpp
@@ -29,19 +29,20 @@
 
 #include "detailsbutton.h"
 
+#include <utils/stylehelper.h>
+
 #include <QtGui/QPaintEvent>
 #include <QtGui/QPainter>
 #include <QtGui/QStyleOption>
+#include <QtGui/QGraphicsOpacityEffect>
 #include <QtCore/QPropertyAnimation>
 
-#include <utils/stylehelper.h>
-
 using namespace Utils;
 
-FadingPanel::FadingPanel(QWidget *parent) : QWidget(parent), m_opacityEffect(0)
-
+FadingPanel::FadingPanel(QWidget *parent) :
+    QWidget(parent),
+    m_opacityEffect(new QGraphicsOpacityEffect)
 {
-    m_opacityEffect = new QGraphicsOpacityEffect;
     m_opacityEffect->setOpacity(0);
     setGraphicsEffect(m_opacityEffect);
 
diff --git a/src/libs/utils/detailsbutton.h b/src/libs/utils/detailsbutton.h
index 90f4b93e182e536f2b6dabf3f2e2619d59372c55..dfead114115ba6751d73622732e8ce8ec6a2533f 100644
--- a/src/libs/utils/detailsbutton.h
+++ b/src/libs/utils/detailsbutton.h
@@ -30,14 +30,12 @@
 #ifndef DETAILSBUTTON_H
 #define DETAILSBUTTON_H
 
+#include "utils_global.h"
+
 #include <QtGui/QAbstractButton>
-#include <QtGui/QToolButton>
 #include <QtGui/QPixmap>
-#include <QtGui/QPainter>
-#include <QtGui/QGraphicsOpacityEffect>
-#include <QtCore/QPropertyAnimation>
 
-#include "utils_global.h"
+QT_FORWARD_DECLARE_CLASS(QGraphicsOpacityEffect)
 
 namespace Utils {
 
@@ -50,11 +48,9 @@ protected:
     QGraphicsOpacityEffect *m_opacityEffect;
 };
 
-
 class QTCREATOR_UTILS_EXPORT DetailsButton : public QAbstractButton
 {
     Q_OBJECT
-
     Q_PROPERTY(float fader READ fader WRITE setFader)
 
 public:
@@ -74,5 +70,5 @@ private:
     QPixmap m_uncheckedPixmap;
     float m_fader;
 };
-}
+} // namespace Utils
 #endif // DETAILSBUTTON_H
diff --git a/src/libs/utils/faketooltip.h b/src/libs/utils/faketooltip.h
index 29666e7331dff6fee848f1058a05df161ef9a8f4..4c566d2e2764409adbd184b51f66782e231b9130 100644
--- a/src/libs/utils/faketooltip.h
+++ b/src/libs/utils/faketooltip.h
@@ -32,7 +32,7 @@
 
 #include "utils_global.h"
 
-#include <QWidget>
+#include <QtGui/QWidget>
 
 namespace Utils {
 
diff --git a/src/libs/utils/fancylineedit.cpp b/src/libs/utils/fancylineedit.cpp
index 7e84a8d1921616cbc5930de46b27dac9b0d827f8..90735736c24901694d26b19f32c0ffaedb365100 100644
--- a/src/libs/utils/fancylineedit.cpp
+++ b/src/libs/utils/fancylineedit.cpp
@@ -32,6 +32,7 @@
 #include <QtCore/QEvent>
 #include <QtCore/QDebug>
 #include <QtCore/QString>
+#include <QtCore/QPropertyAnimation>
 #include <QtGui/QApplication>
 #include <QtGui/QMenu>
 #include <QtGui/QMouseEvent>
@@ -39,8 +40,7 @@
 #include <QtGui/QAbstractButton>
 #include <QtGui/QPainter>
 #include <QtGui/QStyle>
-#include <QtCore/QPropertyAnimation>
-
+#include <QtGui/QPaintEvent>
 
 enum { margin = 6 };
 
diff --git a/src/libs/utils/fancylineedit.h b/src/libs/utils/fancylineedit.h
index eb024d4d4ea24955b77446af69bdd4ce05edcd52..70f258fae7ab77c542d8e6b746cac5edaf6f4cc6 100644
--- a/src/libs/utils/fancylineedit.h
+++ b/src/libs/utils/fancylineedit.h
@@ -33,20 +33,20 @@
 #include "utils_global.h"
 
 #include <QtGui/QLineEdit>
-#include <QtGui/QPaintEvent>
 #include <QtGui/QAbstractButton>
 
 namespace Utils {
 
 class FancyLineEditPrivate;
 
-class IconButton: public QAbstractButton
+class QTCREATOR_UTILS_EXPORT IconButton: public QAbstractButton
 {
     Q_OBJECT
     Q_PROPERTY(float iconOpacity READ iconOpacity WRITE setIconOpacity)
     Q_PROPERTY(bool autoHide READ hasAutoHide WRITE setAutoHide)
+    Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap)
 public:
-    IconButton(QWidget *parent = 0);
+    explicit IconButton(QWidget *parent = 0);
     void paintEvent(QPaintEvent *event);
     void setPixmap(const QPixmap &pixmap) { m_pixmap = pixmap; update(); }
     QPixmap pixmap() const { return m_pixmap; }
diff --git a/src/libs/utils/pathchooser.h b/src/libs/utils/pathchooser.h
index fbf48e6dcbf88fbf9221e13523dae16cbe804c56..ff289f3c8ba992a9731917ee3793b50ad37c3009 100644
--- a/src/libs/utils/pathchooser.h
+++ b/src/libs/utils/pathchooser.h
@@ -33,7 +33,8 @@
 #include "utils_global.h"
 
 #include <QtGui/QWidget>
-#include <QtGui/QAbstractButton>
+
+QT_FORWARD_DECLARE_CLASS(QAbstractButton)
 
 namespace Utils {
 
diff --git a/src/libs/utils/qtcolorbutton.h b/src/libs/utils/qtcolorbutton.h
index f34a6c1c1abd8fa7f3e7a154670241e351e95fef..f87b7b8ac1e2e7584eea760d1d5ee45277df53bb 100644
--- a/src/libs/utils/qtcolorbutton.h
+++ b/src/libs/utils/qtcolorbutton.h
@@ -41,6 +41,7 @@ class QTCREATOR_UTILS_EXPORT QtColorButton : public QToolButton
     Q_OBJECT
     Q_PROPERTY(bool backgroundCheckered READ isBackgroundCheckered WRITE setBackgroundCheckered)
     Q_PROPERTY(bool alphaAllowed READ isAlphaAllowed WRITE setAlphaAllowed)
+    Q_PROPERTY(QColor color READ color WRITE setColor)
 public:
     QtColorButton(QWidget *parent = 0);
     ~QtColorButton();
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.cpp
index 7eca9aafd45fc3abc10c9bb43c9ad253a1a044a9..f49c6077e980310e721889699451e19221ad1c0d 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.cpp
@@ -42,6 +42,7 @@
 #include <QTabBar>
 #include <QImageReader>
 #include <QMimeData>
+#include <QWheelEvent>
 
 #include <QDeclarativeView>
 #include <QDeclarativeItem>
diff --git a/src/tools/qtcreatorwidgets/customwidgets.cpp b/src/tools/qtcreatorwidgets/customwidgets.cpp
index 42aea5e54542c9dc815f04a3d90619b934e3e291..af08f0bf999ea17bffb751b2f46bba7b305b6089 100644
--- a/src/tools/qtcreatorwidgets/customwidgets.cpp
+++ b/src/tools/qtcreatorwidgets/customwidgets.cpp
@@ -103,6 +103,17 @@ PathChooser_CW::PathChooser_CW(QObject *parent) :
 {
 }
 
+IconButton_CW::IconButton_CW(QObject *parent) :
+    QObject(parent),
+    CustomWidget<Utils::IconButton>
+        (QLatin1String("<utils/fancylineedit.h>"),
+         false,
+         QLatin1String(groupC),
+         QIcon(),
+         QLatin1String("Icon button of FancyLineEdit"))
+{
+}
+
 FancyLineEdit_CW::FancyLineEdit_CW(QObject *parent) :
    QObject(parent),
    CustomWidget<Utils::FancyLineEdit>
@@ -372,6 +383,7 @@ WidgetCollection::WidgetCollection(QObject *parent) :
     m_plugins.push_back(new ProjectNameValidatingLineEdit_CW(this));
     m_plugins.push_back(new LineColumnLabel_CW(this));
     m_plugins.push_back(new PathChooser_CW(this));
+    m_plugins.push_back(new IconButton_CW(this));
     m_plugins.push_back(new FancyLineEdit_CW(this));
     m_plugins.push_back(new FilterLineEdit_CW(this));
     m_plugins.push_back(new QtColorButton_CW(this));
diff --git a/src/tools/qtcreatorwidgets/customwidgets.h b/src/tools/qtcreatorwidgets/customwidgets.h
index 73b5a50b4204084f6b1eecc6e95d44462c6b8b6d..2d3fb39f4154ae91e787ad1616cc88746807fe54 100644
--- a/src/tools/qtcreatorwidgets/customwidgets.h
+++ b/src/tools/qtcreatorwidgets/customwidgets.h
@@ -122,6 +122,16 @@ public:
     explicit PathChooser_CW(QObject *parent = 0);
 };
 
+class IconButton_CW :
+    public QObject,
+    public CustomWidget<Utils::IconButton>
+{
+    Q_OBJECT
+    Q_INTERFACES(QDesignerCustomWidgetInterface)
+public:
+    explicit IconButton_CW(QObject *parent = 0);
+};
+
 class FancyLineEdit_CW :
     public QObject,
     public CustomWidget<Utils::FancyLineEdit>