From d818178e7b5201f5ed020c3582b2500962863a7b Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Wed, 13 Aug 2014 17:13:06 +0400 Subject: [PATCH] Animated icon for commits loading fixed; retina double sized icons added --- platform/dvcs-impl/dvcs-impl.iml | 1 + .../dvcs-impl/resources/icons/Loading@2x.gif | Bin 0 -> 3233 bytes .../resources/icons/Loading@2x_dark.gif | Bin 0 -> 3332 bytes platform/dvcs-impl/resources/icons/loading.gif | Bin 0 -> 1460 bytes .../dvcs-impl/resources/icons/loading_dark.gif | Bin 0 -> 1496 bytes .../intellij/dvcs/push/ui/LoadingTreeNode.java | 12 +++++++----- 6 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 platform/dvcs-impl/resources/icons/Loading@2x.gif create mode 100644 platform/dvcs-impl/resources/icons/Loading@2x_dark.gif create mode 100644 platform/dvcs-impl/resources/icons/loading.gif create mode 100644 platform/dvcs-impl/resources/icons/loading_dark.gif diff --git a/platform/dvcs-impl/dvcs-impl.iml b/platform/dvcs-impl/dvcs-impl.iml index 4c0daa71326c..43dd32b785b4 100644 --- a/platform/dvcs-impl/dvcs-impl.iml +++ b/platform/dvcs-impl/dvcs-impl.iml @@ -5,6 +5,7 @@ + diff --git a/platform/dvcs-impl/resources/icons/Loading@2x.gif b/platform/dvcs-impl/resources/icons/Loading@2x.gif new file mode 100644 index 0000000000000000000000000000000000000000..77c756d99cb18bb98f980681b8d087d3f7b29f4a GIT binary patch literal 3233 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 literal 0 HcmV?d00001 diff --git a/platform/dvcs-impl/resources/icons/Loading@2x_dark.gif b/platform/dvcs-impl/resources/icons/Loading@2x_dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..f95c9287108f411b3dfaf5a865c18ba990810f6c GIT binary patch literal 3332 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 XLTbR3iaM>gCi=mci^(Jtgbn`zOH}69 literal 0 HcmV?d00001 diff --git a/platform/dvcs-impl/resources/icons/loading.gif b/platform/dvcs-impl/resources/icons/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfd4da22375397b37ce384876b1c2bb9db8df59d GIT binary patch literal 1460 zcmcK3?@t?b90&00anPU8A5bWRws$=QM$jPgfK@`^D5bYeWYP!DkOej#s4+E{!2i5?xM!}e)xeSOX6^IW}pIT-W{!o&Uj$2V_=R#xt&Qa?O+u*37=gM)*; zy}fu`*xZaJ5|0vzgxBj%rBcacGM!GXuisB5zu(wcTV9U%eBM}Wdt&1HG(5K=k)`qR zPh+vIL?WI}|9E(Ki2V-_^^dZ>)!Et7+|gS5T1}P&MNoee*$Rxtsv!=}#B#=VC;J@L z$3{n+$cqg*gtw{F@zk74=uR_!we z6(*HpI`WvVlirc)AK41^MTL7Qrujdh1e0JI^kO+907N8#fANN4Fx28$%<8e`dzvgy zUN>0dxfH1(qEFkWs<|?=F-d>M^?pSM5`tS%WU(kA+(lbtG7AD;8|ya=x!hg`7;HB3 zv%p}%A70RdHgbmr3UFuD^RBHJ$AYpWBg~IrvZG6+z^`AZxfE(asohrjteQGHQ`s<{ z_uKPgRb$s`#o5M+1%q9;_2havwo6oUF4>{H*JkA|5_r&~c8jT$)IMZ@A=eoOU`3+Bd%Wf5jGA(q7gePPi8 z)I0as=^2pDmGG`DT+6Xgab}sgGKr@W$)5GOLjsEJwpL)fWyK%XG01|W=DI$vJlp7; zO1DuTM7pXU`W;`m6~$=iaJq|zt-X{Da&Ci)5zEpbxL6ho@bH2bplD?P0V!O-!OZTL z5Sd|6*}F2oLf~s3zdsTZP-?gJIH`H%I78avZ4#u7o;!oS<;e&uchK5$+(S5_V>o<( zhN*dQtv@K$qs;yRSQ;a?1;41+77Ox)MKf5TvJwKUa|V83d&kd$FtZFQi)uy-1^%6p zCN3n{$cb*Na;}3a*2wVqg{742Vr=qRbo#WdcC_rzHKVrCj5{5uV>o<(hNXF6WS2|& m2ViH6SeE#60zmvZ=XoPIm!x_T0#dlZzZLVds|FQbzJux_&pafkA zFIMS<^;%jKdPK!7(e?Oe3K+8pnq`F^Mp>2_%=U7LZP$_x7GXe7G5pPfAjDY;1I3 zVBo=njbJc%?%YrxJb}T%!C>&?bUGalha-{5nKOe!Lqh`try`NFJ39rQ508&W=jU%+ zxG+*EY;A1Z&t`95yf_kzU0PpXy?Jw9lD_Wh>LUJ+$No>r@vgo=N4vkP1Yt6|Xql(`ZS|?6D*7P1j7F2zcx>%u}|ze#?v!q`u{EFB!l5+{#q$ z#nXH3zj=f!#ux20L6AO+N@d{)t(Neqii%Y61eKaLawIkGt1;SZI;$C`y3^!znz|W- zf$4PWbj~|Drq1Q6yL+$O#vHJ@G#Xc}Q&SsY3p?L;mbwm>{`eEu{-04rsE7*u650ed zf=ZTV#h$BThnnz)+Z@>ww7$tql=VJtKH1nEI^yhq-=(J_CM=$)&a9}bPmyXf%>Im3 z7ZMqg{?B3opm=*jQZD}V|33i>kU}f%9Oia)_-a%{P0qY85|BrC5(=;j*=3` z#1}#`1yh9z$D0)#IFMPbHX~3V2(Y;91a7X_s$c*NL4!OTj^KE*(3uBhjUZZ;d|MSLg%5pBMaNk-R3b5=c~UJGvELuG!SKB0Vi+;Ni78>2qg76rxaI(11QBI z2(Ywb1@G#*f&nlD5%Svt0_XlZwqcHzrF#=zQS88@`L=hK0!$rCsjoeIK7uO@op)f} z;q+DKt|wvUQr_{H;Sk<^XdueM{!QQtk}2h1!TNDZZzK+&^oAh7(uxDPt6ECY0GOl} zgsp;rfVsbJSx>rUsm0HdVh0}0*H~tI(JW;vQ-A0<-C(a+cr}`FXEXR_XTBA+wft#! z(mM&O4-H&mVgK-5Or@cN1gsyY)CR|^)P^9y(h3b++#O)R3po;bEtNndb$@@IP^oK@ zrQTtWPL!W~Lh%QV&U?KX+u@q*W9^?h$`E@sD!OYe=*bHWI%%;_4RZ&5x0Kz72F6*~ qKe&r&n45(4-n1 literal 0 HcmV?d00001 diff --git a/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/LoadingTreeNode.java b/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/LoadingTreeNode.java index 1bd175c6db10..dc424df43b81 100644 --- a/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/LoadingTreeNode.java +++ b/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/LoadingTreeNode.java @@ -18,17 +18,18 @@ package com.intellij.dvcs.push.ui; import com.intellij.ui.ColoredTreeCellRenderer; import com.intellij.ui.JBColor; import com.intellij.ui.SimpleTextAttributes; -import com.intellij.util.ui.UIUtil; +import com.intellij.util.ImageLoader; +import com.intellij.util.ui.JBImageIcon; import org.jetbrains.annotations.NotNull; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; +import java.awt.*; import java.net.URL; public class LoadingTreeNode extends DefaultMutableTreeNode implements CustomRenderedTreeNode { @NotNull protected ImageIcon myLoadingIcon; - private static final String LOADING_ICON = "loadingSimpleIcon.gif"; - private static final String LOADING_DARK_ICON = "loadingSimpleDarkIcon.gif"; + private static final String LOADING_ICON = "/icons/loading.gif"; @NotNull public ImageIcon getIcon() { @@ -37,8 +38,9 @@ public class LoadingTreeNode extends DefaultMutableTreeNode implements CustomRen public LoadingTreeNode() { super(null, false); - URL loadingIconPath = getClass().getResource(UIUtil.isUnderDarcula() ? LOADING_DARK_ICON : LOADING_ICON); - myLoadingIcon = new ImageIcon(loadingIconPath.getPath()); + URL loadingIconUrl = getClass().getResource(LOADING_ICON); + Image image = ImageLoader.loadFromUrl(loadingIconUrl); + myLoadingIcon = new JBImageIcon(image); } @Override