From 629a4778a295534e1483a67bb58b7f7136475464 Mon Sep 17 00:00:00 2001
From: Jens Bache-Wiig <jbache@trolltech.com>
Date: Tue, 27 Jan 2009 12:40:49 +0100
Subject: [PATCH] Fixes:    Improved file icons Details: This patch makes use
 of system icons as a base and draws overlay on top. This should blend a bit
 better into the native icon theme.

---
 src/plugins/coreplugin/fileiconprovider.cpp   |  24 ++++++++++++++----
 src/plugins/coreplugin/fileiconprovider.h     |   4 ++-
 src/plugins/cppeditor/cppplugin.cpp           |   4 +--
 src/plugins/cppeditor/images/qt_cpp.png       | Bin 561 -> 282 bytes
 src/plugins/cppeditor/images/qt_h.png         | Bin 448 -> 492 bytes
 src/plugins/designer/formeditorfactory.cpp    |   2 +-
 src/plugins/designer/images/qt_ui.png         | Bin 666 -> 806 bytes
 .../qt4projectmanager/images/qt_project.png   | Bin 516 -> 613 bytes
 .../profileeditorfactory.cpp                  |   4 +--
 src/plugins/qt4projectmanager/qt4nodes.cpp    |  14 +++++++++-
 src/plugins/resourceeditor/images/qt_qrc.png  | Bin 622 -> 676 bytes
 .../resourceeditor/resourceeditorfactory.cpp  |   4 +--
 12 files changed, 42 insertions(+), 14 deletions(-)

diff --git a/src/plugins/coreplugin/fileiconprovider.cpp b/src/plugins/coreplugin/fileiconprovider.cpp
index bf48ba37013..63947e8ed6c 100644
--- a/src/plugins/coreplugin/fileiconprovider.cpp
+++ b/src/plugins/coreplugin/fileiconprovider.cpp
@@ -32,6 +32,9 @@
 ***************************************************************************/
 
 #include "fileiconprovider.h"
+#include <QtGui/QApplication>
+#include <QtGui/QStyle>
+#include <QtGui/QPainter>
 
 using namespace Core;
 
@@ -48,7 +51,7 @@ using namespace Core;
 FileIconProvider *FileIconProvider::m_instance = 0;
 
 FileIconProvider::FileIconProvider()
-    : m_unknownFileIcon(QLatin1String(":/core/images/unknownfile.png"))
+    : m_unknownFileIcon(qApp->style()->standardIcon(QStyle::SP_FileIcon))
 {
 }
 
@@ -76,7 +79,7 @@ QIcon FileIconProvider::icon(const QFileInfo &fileInfo)
         // same suffix (Mac OS X), but should speed up the retrieval a lot ...
         icon = m_systemIconProvider.icon(fileInfo);
         if (!suffix.isEmpty())
-            registerIconForSuffix(icon, suffix);
+            registerIconOverlayForSuffix(icon, suffix);
 #else
         if (fileInfo.isDir()) {
             icon = m_systemIconProvider.icon(fileInfo);
@@ -89,11 +92,22 @@ QIcon FileIconProvider::icon(const QFileInfo &fileInfo)
     return icon;
 }
 
+// Creates a pixmap with baseicon at size and overlayous overlayIcon over it.
+QPixmap FileIconProvider::overlayIcon(QStyle::StandardPixmap baseIcon, const QIcon &overlayIcon, const QSize &size) const
+{
+    QPixmap iconPixmap = qApp->style()->standardIcon(baseIcon).pixmap(size);
+    QPainter painter(&iconPixmap);
+    painter.drawPixmap(0, 0, overlayIcon.pixmap(size));
+    painter.end();
+    return iconPixmap;
+}
+
 /*!
-  Registers an icon for a given suffix, overriding any existing icon.
+  Registers an icon for a given suffix, overlaying the system file icon
   */
-void FileIconProvider::registerIconForSuffix(const QIcon &icon, const QString &suffix)
+void FileIconProvider::registerIconOverlayForSuffix(const QIcon &icon, const QString &suffix)
 {
+    QPixmap fileIconPixmap = overlayIcon(QStyle::SP_FileIcon, icon, QSize(16, 16));
     // delete old icon, if it exists
     QList<QPair<QString,QIcon> >::iterator iter = m_cache.begin();
     for (; iter != m_cache.end(); ++iter) {
@@ -103,7 +117,7 @@ void FileIconProvider::registerIconForSuffix(const QIcon &icon, const QString &s
         }
     }
 
-    QPair<QString,QIcon> newEntry(suffix, icon);
+    QPair<QString,QIcon> newEntry(suffix, fileIconPixmap);
     m_cache.append(newEntry);
 }
 
diff --git a/src/plugins/coreplugin/fileiconprovider.h b/src/plugins/coreplugin/fileiconprovider.h
index 8a92666ba4e..5e56228304f 100644
--- a/src/plugins/coreplugin/fileiconprovider.h
+++ b/src/plugins/coreplugin/fileiconprovider.h
@@ -40,6 +40,7 @@
 #include <QtCore/QPair>
 #include <QtGui/QFileIconProvider>
 #include <QtGui/QIcon>
+#include <QtGui/QStyle>
 
 namespace Core {
 
@@ -48,7 +49,8 @@ public:
     ~FileIconProvider(); // used to clear the cache
     QIcon icon(const QFileInfo &fileInfo);
 
-    void registerIconForSuffix(const QIcon &icon, const QString &suffix);
+    QPixmap overlayIcon(QStyle::StandardPixmap baseIcon, const QIcon &overlayIcon, const QSize &size) const;
+    void registerIconOverlayForSuffix(const QIcon &icon, const QString &suffix);
 
     static FileIconProvider *instance();
 
diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp
index e600de92c58..efa689995c4 100644
--- a/src/plugins/cppeditor/cppplugin.cpp
+++ b/src/plugins/cppeditor/cppplugin.cpp
@@ -75,9 +75,9 @@ CppPluginEditorFactory::CppPluginEditorFactory(CppPlugin *owner) :
         << QLatin1String(CppEditor::Constants::CPP_SOURCE_MIMETYPE)
         << QLatin1String(CppEditor::Constants::CPP_HEADER_MIMETYPE);
     Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
-    iconProvider->registerIconForSuffix(QIcon(":/cppeditor/images/qt_cpp.png"),
+    iconProvider->registerIconOverlayForSuffix(QIcon(":/cppeditor/images/qt_cpp.png"),
                                         QLatin1String("cpp"));
-    iconProvider->registerIconForSuffix(QIcon(":/cppeditor/images/qt_h.png"),
+    iconProvider->registerIconOverlayForSuffix(QIcon(":/cppeditor/images/qt_h.png"),
                                         QLatin1String("h"));
 }
 
diff --git a/src/plugins/cppeditor/images/qt_cpp.png b/src/plugins/cppeditor/images/qt_cpp.png
index 73fd1642b3c23adf39cc99207b5306d91d1f26a1..c938e2d65cf491ff9b2958530dbaa0ef8c10ab73 100644
GIT binary patch
delta 254
zcmdnUGK*<~N<Cw7kh>GZx^prw85kJYlDyqr82*Fcg1yTp14TFsJR*x37`TN&n2}-D
z90{Nxdx@v7EBj4GX)X&1ub=ycfI_o8T^vI!PA4ZwupSn?(Hg%~Bfa+FriJIPZl7It
z@1x?9d7LwoB};x9>R-PfuKjzbcIwgk|2Z>0WtW?JZaW<rf1}qo=Gd!Cyc)F(>$xQ)
zB(H49use3(z=uGfU>qA;Tf9-&bhF1LjVu2@O@4Uu`FA4&1A~^7Io7(#rJ3SaCM*v4
zrL;@Vt%PxNgZJ(Edy@nNA0+=OO>OV{%Hd(oaF^HQ-}{IKmw?V>@O1TaS?83{1OO*_
BX)OQ%

delta 536
zcmV+z0_Xjj0<i>;B!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0005g
zNkl<Zc-owkziZn-6vw|()LKcD7NNR!(u6j_Lm-={Y=xE%9_-CvZ&?c+Go{c{+M$D|
z3?cEDAzK5+<j23z5(<U}f(vz=A7sd4M?to9l3d*bJEuwz=zqbxr#pS$=ia*~N%?$!
zfcr<QUav0<7lXlFh{C5@tu}h$`+n%TSS%u!%gqN{e?&+K5Em%!l}aV<Vj%<&14Qq-
zE{Swq4?zN32mw6LivYM;mPMjMp&%YQAIX3NWLbuyD5Em^{XQJWLAhKW0l8JH)#x2a
zl7#jp!^#@NkAGtwnOPHC9~~@ZCXmf$=>U%d0&f^b2q4oGoL*jKcs%Li*X}hkb3MHM
ztU}W?3P>iCcp6wLm5TINR#g=@w=NpLb*#UappDzu{;J^TH-#=S`SJ;6kbadKbtME~
zjA3ld56T#TF%P|<cH3bjezZJAqUqOZ^3UGPL;;+hcz+;c@p%`YHhd%!Q+W5q!_NLg
znBQ+nbar@7{&c?`1@OtXZESvUaMDuoB9}&^sbSW*q7vE%XOvBA?=-dq>O!~M#kAq$
zaBDmeT~He>tB0ebCIt<@6YgUHrfCvH6mk>$KU~KGI-L%sD+>P&6#tC~pi-&ef5%?|
a1^}ZMKM~t>puiRY0000<MNUMnLSTZ2(Cs+@

diff --git a/src/plugins/cppeditor/images/qt_h.png b/src/plugins/cppeditor/images/qt_h.png
index dec0475219fadbcc93367012be95dd2b3557ac25..3c279d4b4e56a5024ae4d6e8991b183e21a425bb 100644
GIT binary patch
delta 466
zcmV;@0WJQ(1MCBkB!2;OQb$4nuFf3k00006VoOIv0RI600RN!9r;`8x010qNS#tmY
z3ljhU3ljkVnw%H_000McNliru*#R30I6LT`&R_rl0c=S`K~y-)os+*x13?gnKQ~7}
z1xW~kpjN&>3dKT%6hcUmbb;had;_Zp7FMb93Lzr+rx0wE)PI8ZX#>H8JG0rHSeV;f
zyfcae!_Lgke(Z1dZlzo<^B3!MIxe10r!MvY+U>U65RrwrTCGwlm12+uK+?fztyZfg
z-oyc-2coMn27qify8wv+thJ<4DU?zGD5VI30N?iks8lLH&c*?hQal~z0XVpMAg~s#
zHT8NO5pmvZHh+@=p67+Nw{Ecz0C|Ao{UiN;pO5hvv6fsew*XM#48nl{KH%Qz<>Z)5
zCc{K)wARTIj4`Cs>9Dp67~mE-0=loo!YS|!z|LO$2G-i>$1$1t1+Wfm0%yMt(at3p
z;2pT0<y$jZiKYNXqY;z2z9C@0^=&K#c%FyWn!T$#fJ-%CH`3z++e;-3heLY3-q&lK
zU+!CL-CRUuH_Sx@TCF%>Fc@HrK}1|*=wTlHH)4QBqrrde6L5m?>Vu{0<^TWy07*qo
IM6N<$f`6gPZ~y=R

delta 422
zcmV;X0a^a+1Hc22B!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0004E
zNkl<Zc-owky>7xl41nDvQYkD!bYLZ{yhoHFY?0sr;As#m5^oV@<`r02nA#;vhe(lv
zNXc){E|>Zsv{Fw>eD>L&e=d1)UAKn6*Lx5ImQ?EcC&a*)?|=KvK~+`C-t#<g9A_j<
zZycfk+5)+4Hk+Yng%E%Ta9I=uIraN}1tK0x0hDD4x~_w!X=Fs1rYW4yXVRzBDNj1O
zs{jEQ^f4Tg@%4CwRM@gCgZX?;70GA2-9jtCFpS2Si_%}ZUFdW=VB0oCQ3Rit3sk~y
zFc>HRP0m0L41d>Yv4F&~;4~gXwqAp2nvjcXu%g>V034Qbx636w?{>5=HXEuCeeyhq
z)@wuu4uHu7s$Q>Au{z8yZ>1GbvKC6wf6aAqj@eN@1mvv0+nM10R{$PjiQ3^n&a$O?
zzyFq30Ea4oBuO9)!zMGebcJyJAs~)p8jy76ACA=dzaMc2Sgls@-}NQH070-gz|U~#
Qp#T5?07*qoM6N<$f-?HN>Hq)$

diff --git a/src/plugins/designer/formeditorfactory.cpp b/src/plugins/designer/formeditorfactory.cpp
index df3c59adfa3..545a6cca27c 100644
--- a/src/plugins/designer/formeditorfactory.cpp
+++ b/src/plugins/designer/formeditorfactory.cpp
@@ -52,7 +52,7 @@ FormEditorFactory::FormEditorFactory()
     m_mimeTypes(QLatin1String(FORM_MIMETYPE))
 {
     Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
-    iconProvider->registerIconForSuffix(QIcon(":/formeditor/images/qt_ui.png"),
+    iconProvider->registerIconOverlayForSuffix(QIcon(":/formeditor/images/qt_ui.png"),
                                         QLatin1String("ui"));
 }
 
diff --git a/src/plugins/designer/images/qt_ui.png b/src/plugins/designer/images/qt_ui.png
index 8fb61ee27ff36c0477eb777d5e99cd478969ea31..982b19d6043325c0ed18acf45bd1f94d4d514aa1 100644
GIT binary patch
delta 783
zcmV+q1MvKs1*Qg&B!2;OQb$4nuFf3k00006VoOIv0RI600RN!9r;`8x010qNS#tmY
z3ljhU3ljkVnw%H_000McNliru*#R2~6dsuE&(Ht>0;WksK~y-)jgntTQ&Akpzjybh
zo0@GkqZJN&TkfsE9t<HR%!erzf>5wBd<jgY$9#y;sF)zLAb&Fir9TEGOwww(gwzKW
zbm?rM5z~ZuV@tPr_s4tgIX&dYngxB~$9Xt>Kj(Y+{y2-p0suUIOW8Tq0I~o?05Aai
zK2JGANK;RvoVS`dUMT?3I~<N60LB;trIZJ-%@~VQN>N)|i>j(B34nfRXea;x&NluS
zZ?HJJ?zp}S0Dr=aF-9o`0FE)HP)e}_0|3<3)e)o7xY5zkam5_Fsorn0KCt(^p_^Os
z1p&Zznjx72j4=>G0026j4i%?QDFxE=3L)$A#j(+0jJw140W1grpePE`jg(SQN)e4l
z0RR)9TpYLD-jGvJT)sFxh-dGDBEYo+fGP>d97&R((SK;r)p-xx*Y?(&g5vHkQv-(K
z@c@Dm?ka$-T>wfc6h%Qa8iiV|2B$=@K5@NXbHH?aVX_ai-Vg*srGG_?4=3AD0T7Z#
zLI@Ix1Y}tT&vUA8uIBSXUQyfpcrVu0W0+n&f|I3ZZl%|$0ze2MsT7e&1X`_D74ST<
zZ8P=j`G3hi!)BO>BXgR!cRTwy=ZDe9nShiz7K<TUt>$<Y%1LmsWyw8)@D>%{&t=_c
zY3;6-2}7p-Xn`@Nop-y9Uaz<5++i<@j-L4WVr=%|wbq`OxqEdaS?ewU$8oueqEye!
z%rtsD9=#}vhb+Az-$&Q0=0|7g=+e?Mk!3lxSbv#-gLb?9Qh$Gc0{~O<qNb+iX&|`a
z^!xp><X)r$R>XJ;z^qp5fL^aJ_4#}z#@LU-!a{$3e*U1->5L~|Hk-{nrBwM_f(=m=
zX-P>*eOXyq6Cq?xlB7NHcwC{Bvb6nB{`G}yo6RNx2<;32$oNnF0$ggW$-l2)%m4rY
N00>D%PDHLkV1g8kVY>hT

delta 641
zcmV-{0)G9b2ATzsB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0006!
zNkl<Zc-owjUuaTs6vw|;Woa$Z<%kMp+tWzsp@BUVLPXSyNN>Iw^cFPMb9;#xR45D!
zDI9|d{dtI<a<rQ^$n~%Zn>m-@V%Z4vhO*6nQ}6ZO-QO>+U4OF(`oZD+_#MvYoZtB#
z#^rKJ`1kqxX_*~SKZI`a1KZ8B;~)T06sfh_ZHec3YOPjFYBU-Wi3fv0;<qG80<ndA
z8b@@-{o~9?e@sVc<WUAdeOJGEJRaC=wqd{DU$F1rxjQiGeH;kA5qGQn1O=!Q)Lsw-
z3NV|^xODLX27hbMkL&ub2N$Ce#FOQRa%i0b<kout#On1r1uT7tf!UnG;lb0`Sb2?S
zZ%Z7&Op%yI0sL;YS`7w+0gt91fcf$>`SbEiMB+u1D$ETzt=a=1Rf#8+^?E&+b_Io{
zaTtz`V*TSBRx^9how$N;TqB~Wp;2Z)63L&N%_d|Opnuge*osX+*FS_*d=}pe`&ijN
zg>&aGcj-$3BvI+2QmMdXGNG8BK}*sjC0E`p3z%Os;QsU+*muz`K-Umu-El~6T`OaS
z(gw20d6cUn7S{T3d-5rGp?BxH0K`(sBr=%{uAR(aXm|`S7FTg|GK3>X%^g{L01U%W
zNFtFyI(nT3$8m7Y?%{px6`oubk<D(>xhRX(0|*2H2#3R60k_+YVrd8Ye7>_6YJjZ7
zFM!wUg~eh)E|;U<uv)D!8jWCCwo}<|xBtBZ(z3(hfYa%u|0GL92CB%b_J0KUd_Mf|
bIS^m~W;u>^C^dQS00000NkvXXu0mjfY)vpd

diff --git a/src/plugins/qt4projectmanager/images/qt_project.png b/src/plugins/qt4projectmanager/images/qt_project.png
index 25133f5f476aa5ec2e5e8829d80d701560d5d476..3a1bfa5fda47a4a651e977e13d6eed5031b049bc 100644
GIT binary patch
delta 588
zcmV-S0<-;u1my&fB!2;OQb$4nuFf3k00006VoOIv0RI600RN!9r;`8x010qNS#tmY
z3ljhU3ljkVnw%H_000McNliru*#R2~I0+&TA-Mnm0p&?VK~y-)g_FN)Q&AMhKTYBb
z9g23bTQgZi1ra3_hqOi<f+S!GrJY2?Nf$R=Le0`ugbW>Gaer|Nk{_cIO$HIcKR`jm
zO`YPSLGs=?=Q*VJVN9$C4hQbN=X1{Y+<WJW#UlT+PNy@q7DW*NDS%e1MHEF-UM`m@
z6bhu%X&Q~jOn3^w%%+mf41lezEdWNN(acUJ0DpoUU~zFVhRl+a0#Mb7L^DHG0VtJ9
zN6u#g;5txMhJV8$+uPeQ(9G!ddYrm(ayG!s*lRwa-mY=GboX<;UHb-j?#$n|va!Uc
z7vC>T0P5`;tLqu+?b?^s^~{NEE^{%m2#X9;L(MQ%RL2q@y}J571t22v(6YG<@7{bp
zlg(uo%p#8eyw1%lx8lnAN{()|&(6y{A{r(fzzxmRTz~YM%^z`czLEo=TkQj|bFCYQ
z$gzZz5QZTDY6=jjsW(gev)B6oJZN7=M2I`^eSZuPorwPeh{!J$nNI+OVaQ-G7;lWF
zc%m8{b^jt7i0W8^@B0Kna9CO5xVGlS6`gixk2gPfDmq93?C$Qeyu9ql0P`YxAfnz!
zeM-KvPer%d=YHc7=gunko}Wiehi3M6&V9?3jU@m!@0><eNhXthRb5b3oVz!0_%aX7
a?BQ?e>u~d>)79kw0000<MNUMnLSTZ!{|I3K

delta 490
zcmV<G0Tuq`1cU^TB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0004|
zNkl<Zc-n-MJxIe)5XUbf=_p-v(UuB2IVg&VL#u@jMOsjbv<Ql;lWtB@TwO$Pa1e2D
zGDAMxgi4)saCKC{&8ZeTw9QL=cdze}w4okc(j0fc``^1)t$$D`_%Pf)9mkpO5Bk0+
z8^woZSrq8^QmF*_d_EP6#l8*0n2Mqk!1KI;VvM1c%Vm5`w%hHGC?z345F`Qdcw9nK
z+y@{8V2p(d(J_WrEEa?LsYnG9AQj+utJQ)^rJ{i7^?Ds<Hpim@m~drYz_oq(&r$%7
zUyB4_@yc2fmVeVp@I9``=bafJ2Nm!f#>8mc6@&n;>#9S;VviS({cgbC`o3zLJxN3D
z^ckv;S)R{Sd_)4|p<zeU{87bNh=#>z)m)A8LjWx9cDoc{9*Z3O_UVS+$M)(V00Yft
zQvlrI08$$O&>3L&Mx!AT7#q3*oIj|N6kzvGr_)p5LSrVQtB!JZY3JK-A(a~b8+BcW
zL?QtXUw5!`FekcjB`>cU0gj9%v1(dr@6PPLi#6J|O+RM0CP0ki`n_Gl!aRe+`$csJ
g0=M!^D)<v%06_ash4Jw~sQ>@~07*qoM6N<$f<#H+`Tzg`

diff --git a/src/plugins/qt4projectmanager/profileeditorfactory.cpp b/src/plugins/qt4projectmanager/profileeditorfactory.cpp
index 21299bb2fea..f3d6b631ab9 100644
--- a/src/plugins/qt4projectmanager/profileeditorfactory.cpp
+++ b/src/plugins/qt4projectmanager/profileeditorfactory.cpp
@@ -56,9 +56,9 @@ ProFileEditorFactory::ProFileEditorFactory(Qt4Manager *manager, TextEditor::Text
     m_actionHandler(handler)
 {
     Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
-    iconProvider->registerIconForSuffix(QIcon(":/qt4projectmanager/images/qt_project.png"),
+    iconProvider->registerIconOverlayForSuffix(QIcon(":/qt4projectmanager/images/qt_project.png"),
                                         QLatin1String("pro"));
-    iconProvider->registerIconForSuffix(QIcon(":/qt4projectmanager/images/qt_project.png"),
+    iconProvider->registerIconOverlayForSuffix(QIcon(":/qt4projectmanager/images/qt_project.png"),
                                         QLatin1String("pri"));
 }
 
diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index d7a1783feb5..f9990c522fb 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -43,6 +43,7 @@
 #include <projectexplorer/nodesvisitor.h>
 
 #include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/fileiconprovider.h>
 #include <coreplugin/filemanager.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/iversioncontrol.h>
@@ -60,6 +61,7 @@
 #include <QtCore/QFileInfo>
 #include <QtCore/QTimer>
 
+#include <QtGui/QPainter>
 #include <QtGui/QMainWindow>
 #include <QtGui/QMessageBox>
 #include <QtGui/QPushButton>
@@ -94,7 +96,17 @@ Qt4PriFileNode::Qt4PriFileNode(Qt4Project *project, Qt4ProFileNode* qt4ProFileNo
 {
     Q_ASSERT(project);
     setFolderName(QFileInfo(filePath).baseName());
-    setIcon(QIcon(":/qt4projectmanager/images/qt_project.png"));
+
+    static QIcon dirIcon;
+    if (dirIcon.isNull()) {
+        // Create a custom Qt dir icon based on the system icon
+        Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
+        QPixmap dirIconPixmap = iconProvider->overlayIcon(QStyle::SP_DirIcon,
+                                                          QIcon(":/qt4projectmanager/images/qt_project.png"),
+                                                          QSize(16, 16));
+        dirIcon.addPixmap(dirIconPixmap);
+    }
+    setIcon(dirIcon);
     m_fileWatcher->addFile(filePath);
     connect(m_fileWatcher, SIGNAL(fileChanged(QString)),
             this, SLOT(scheduleUpdate()));
diff --git a/src/plugins/resourceeditor/images/qt_qrc.png b/src/plugins/resourceeditor/images/qt_qrc.png
index d22ca676103cb6a5c2dbc5811bf9d81824be8972..3643f37e1a3ede6454fe3d14224e6fc72f73a5db 100644
GIT binary patch
delta 652
zcmV;70(1TD1f&I!B!2;OQb$4nuFf3k00006VoOIv0RI600RN!9r;`8x010qNS#tmY
z3ljhU3ljkVnw%H_000McNliru*#R2~DG!*nr<?!)0whU9K~y-)g_Au@Q&AMhe<i>S
zE}%r>S7J=?YhpkbH8Bj2m=r=u9MQNrVB+AQ434IWiQq!8Fn>6j+Cf(%I;kO{gCS{%
z#$sFPqwlpq-@EtR>p~yYDxTylH|PA$|D1nr%yAt47nw|^<;_|PKs!J>oyJ<*lB1)e
z3=a?g6A}T8F)hu;7yuH9#DPkh0Q*5oDFC{=yAOo41Bgh|WD#L|dmDg}k&y%M)7Aip
z2wH2j)@*HU5r2ju6B84RkB{GQ*D}R;JZ{~!%xVk4aU49)V{>y8*LBI~^W<_lHa0dW
zl}Zc^U<-x9^`QaYFDxv)92%h5aKTzj%yAr2sT9T-lu}fyRl2&m`1tPi#kc7f=U0}O
z=KrF68hEm_Vyo={T5F6k_`Z))3K8K=dVcm+;^^S12Y*ulq-JNhdHW7(r^J^}pC3Mc
z_VqGwwXFfD)oRr1b;2-2M940G7(8+82wEG0&`_yaD#a}2pIQ2PIsvXkE@-XseLqqn
zA^_9_K@5aDE@j_PF0G@qMJdy4qwo6!L4b%vfd1YNrtZ%)EuNg)Goin?V-MhYUek0D
z;d?<beSh~1VW?5c@O1GTlkq<Eu7bH&KlT7Y5Jb)US8&}Ol(Hyo_*Jn~JcZT<t*ro+
z2#`!Bo1~77jdAq&xy9^i{#wtW&cj+;%D$yqRcNsk%i;R2mBbp~^3S+*Hg+1g2TTGi
m=VDwq8Pz@q9xbid;%}5gj|Mo4>mmRE002ovP6b4+LSTXtWG83<

delta 597
zcmV-b0;>I_1?~ipB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0006I
zNkl<Zc-nkZJ!n%=6#i1QTZVLLu~ba!BB;3QR2<BZ48DXUAWkYe33hN01P2$FfMAP5
z5#w5@F@rABrQK8tW{^TGiqZ6$_maHk@BQRm?>Xf?b5resbAQjf_nz-NfA>X_$)v#1
zvRf{f=f@9)IDj3arBo{M!MLW=X(SSfxODmYFOrbJ_x(d)IwQ&Da%BEXq7aM{xvt9&
zu~_U#5+)c9he~AH_j)~cNTpJv{_*h)CISLd&+}Nj-7Xx*K|Y^HHk*aHTZX1-Y!3-d
zq1|qaX0s_w(|;7TT1`}|RncfPgs$u2;#r7#z0S5+EV2!zK&oV5+crm!Mx)r=c#Vhm
zu5u9V@(kPOPp-3-B=0Ysi=@LIP})?xWm()jB70kUft$HGoPMyxpqDGlxOVF{+`f)a
zA3iQVe)ffq*CqmjPN##xV8FE#L1lXj^QTV8J0G^=qkq*AXzf*C{HkDfdXiv^N(K}?
z$b<+;2DU6sJ_o07!mxZ8`cJqXjo4SmNMNd;fC0hDnd4ZxzpOO8u(}g|(|t%Fr=Ub9
z{a$zR=<XR=lE)FBzWRn6+N|_D$Y6E-$6o@99)L$nFwMSnmH^p@-!0jLw#z*s5~YMf
zp`fIi$xdW27e9~6P7TvjlMFB{f&G0+FcjD`9CCX{OC<O$$3@PW-tZl%S7^Uojo`vU
j=u6<0&ClY^9{~mc{YH_BuS@BT00000NkvXXu0mjfEQ}w`

diff --git a/src/plugins/resourceeditor/resourceeditorfactory.cpp b/src/plugins/resourceeditor/resourceeditorfactory.cpp
index dcdd691c9fc..aefd65f4147 100644
--- a/src/plugins/resourceeditor/resourceeditorfactory.cpp
+++ b/src/plugins/resourceeditor/resourceeditorfactory.cpp
@@ -55,8 +55,8 @@ ResourceEditorFactory::ResourceEditorFactory(ResourceEditorPlugin *plugin) :
     m_context += Core::UniqueIDManager::instance()
                  ->uniqueIdentifier(QLatin1String(ResourceEditor::Constants::C_RESOURCEEDITOR));
     Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
-    iconProvider->registerIconForSuffix(QIcon(":/resourceeditor/images/qt_qrc.png"),
-                                        QLatin1String("qrc"));
+    iconProvider->registerIconOverlayForSuffix(QIcon(":/resourceeditor/images/qt_qrc.png"),
+                                               QLatin1String("qrc"));
 }
 
 QString ResourceEditorFactory::kind() const
-- 
GitLab