From cbf38d7c95e5968f47850d082eee223e1cef1aff Mon Sep 17 00:00:00 2001
From: Leslie Linden <none@none>
Date: Wed, 1 Jun 2011 12:28:49 -0700
Subject: [PATCH] EXP-841 FIX -- Create outbox sync button with basic
 enable/disable logic and animation

Functions are stubbed out.  Time delay happens through basic coroutine to allow animation viewing.

Reviewed by Leyla
---
 indra/newview/llpanelmarketplaceoutbox.cpp    |  93 +++++++++++++++++-
 indra/newview/llpanelmarketplaceoutbox.h      |  19 ++++
 indra/newview/skins/default/colors.xml        |   5 +-
 .../skins/default/textures/icons/Inv_Gift.png | Bin 0 -> 1335 bytes
 .../default/textures/icons/Sync_Disabled.png  | Bin 0 -> 1187 bytes
 .../default/textures/icons/Sync_Enabled.png   | Bin 0 -> 1168 bytes
 .../textures/icons/Sync_Progress_1.png        | Bin 0 -> 1149 bytes
 .../textures/icons/Sync_Progress_2.png        | Bin 0 -> 1147 bytes
 .../textures/icons/Sync_Progress_3.png        | Bin 0 -> 1211 bytes
 .../textures/icons/Sync_Progress_4.png        | Bin 0 -> 1205 bytes
 .../textures/icons/Sync_Progress_5.png        | Bin 0 -> 1137 bytes
 .../textures/icons/Sync_Progress_6.png        | Bin 0 -> 1164 bytes
 .../skins/default/textures/textures.xml       |  15 ++-
 .../skins/default/textures/widgets/Badge.png  | Bin 958 -> 0 bytes
 .../textures/widgets/Badge_Background.png     | Bin 0 -> 1352 bytes
 .../default/textures/widgets/Badge_Border.png | Bin 0 -> 1565 bytes
 .../default/xui/en/sidepanel_inventory.xml    |  69 ++++++++-----
 .../skins/default/xui/en/widgets/badge.xml    |   2 +-
 18 files changed, 173 insertions(+), 30 deletions(-)
 create mode 100644 indra/newview/skins/default/textures/icons/Inv_Gift.png
 create mode 100644 indra/newview/skins/default/textures/icons/Sync_Disabled.png
 create mode 100644 indra/newview/skins/default/textures/icons/Sync_Enabled.png
 create mode 100644 indra/newview/skins/default/textures/icons/Sync_Progress_1.png
 create mode 100644 indra/newview/skins/default/textures/icons/Sync_Progress_2.png
 create mode 100644 indra/newview/skins/default/textures/icons/Sync_Progress_3.png
 create mode 100644 indra/newview/skins/default/textures/icons/Sync_Progress_4.png
 create mode 100644 indra/newview/skins/default/textures/icons/Sync_Progress_5.png
 create mode 100644 indra/newview/skins/default/textures/icons/Sync_Progress_6.png
 delete mode 100644 indra/newview/skins/default/textures/widgets/Badge.png
 create mode 100644 indra/newview/skins/default/textures/widgets/Badge_Background.png
 create mode 100644 indra/newview/skins/default/textures/widgets/Badge_Border.png

diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp
index 1f58fb33a4d..0151276f996 100644
--- a/indra/newview/llpanelmarketplaceoutbox.cpp
+++ b/indra/newview/llpanelmarketplaceoutbox.cpp
@@ -24,15 +24,26 @@
  * $/LicenseInfo$
  */
 
-#include "llviewerprecompiledheaders.h"
+#include <boost/coroutine/coroutine.hpp>
+#include <boost/coroutine/future.hpp>
 
 #include "llpanelmarketplaceoutbox.h"
 
+#include "llbutton.h"
+#include "llcoros.h"
+#include "lleventcoro.h"
+#include "llloadingindicator.h"
+#include "lltimer.h"
+
+
 static LLRegisterPanelClassWrapper<LLPanelMarketplaceOutbox> t_panel_marketplace_outbox("panel_marketplace_outbox");
 
 // protected
 LLPanelMarketplaceOutbox::LLPanelMarketplaceOutbox()
-:	LLPanel()
+	: LLPanel()
+	, mSyncButton(NULL)
+	, mSyncIndicator(NULL)
+	, mSyncInProgress(false)
 {
 }
 
@@ -43,5 +54,83 @@ LLPanelMarketplaceOutbox::~LLPanelMarketplaceOutbox()
 // virtual
 BOOL LLPanelMarketplaceOutbox::postBuild()
 {
+	mSyncButton = getChild<LLButton>("outbox_sync_btn");
+	mSyncButton->setCommitCallback(boost::bind(&LLPanelMarketplaceOutbox::onSyncButtonClicked, this));
+
+	mSyncIndicator = getChild<LLLoadingIndicator>("outbox_sync_indicator");
+
+	mSyncButton->setEnabled(!isOutboxEmpty());
+
 	return TRUE;
 }
+
+bool LLPanelMarketplaceOutbox::isOutboxEmpty() const
+{
+	// TODO: Check for contents of outbox
+
+	return false;
+}
+
+bool LLPanelMarketplaceOutbox::isSyncInProgress() const
+{
+	return mSyncInProgress;
+}
+
+
+std::string gTimeDelayDebugFunc = "";
+
+void timeDelay(LLCoros::self& self, LLPanelMarketplaceOutbox* outboxPanel)
+{
+	waitForEventOn(self, "mainloop");
+
+	LLTimer delayTimer;
+	delayTimer.reset();
+	delayTimer.setTimerExpirySec(5.0f);
+
+	while (!delayTimer.hasExpired())
+	{
+		waitForEventOn(self, "mainloop");
+	}
+
+	outboxPanel->onSyncComplete();
+
+	gTimeDelayDebugFunc = "";
+}
+
+void LLPanelMarketplaceOutbox::onSyncButtonClicked()
+{
+	// TODO: Actually trigger sync to marketplace
+
+	mSyncInProgress = true;
+	updateSyncButtonStatus();
+
+	// Set a timer (for testing only)
+
+    gTimeDelayDebugFunc = LLCoros::instance().launch("LLPanelMarketplaceOutbox timeDelay", boost::bind(&timeDelay, _1, this));
+}
+
+void LLPanelMarketplaceOutbox::onSyncComplete()
+{
+	mSyncInProgress = false;
+
+	updateSyncButtonStatus();
+}
+
+void LLPanelMarketplaceOutbox::updateSyncButtonStatus()
+{
+	if (isSyncInProgress())
+	{
+		mSyncButton->setVisible(false);
+
+		mSyncIndicator->setVisible(true);
+		mSyncIndicator->start();
+	}
+	else
+	{
+		mSyncIndicator->stop();
+		mSyncIndicator->setVisible(false);
+
+		mSyncButton->setVisible(true);
+		mSyncButton->setEnabled(!isOutboxEmpty());
+	}
+}
diff --git a/indra/newview/llpanelmarketplaceoutbox.h b/indra/newview/llpanelmarketplaceoutbox.h
index a6a28e0a837..2fbe8197627 100644
--- a/indra/newview/llpanelmarketplaceoutbox.h
+++ b/indra/newview/llpanelmarketplaceoutbox.h
@@ -29,6 +29,11 @@
 
 #include "llpanel.h"
 
+
+class LLButton;
+class LLLoadingIndicator;
+
+
 class LLPanelMarketplaceOutbox : public LLPanel
 {
 public:
@@ -39,6 +44,20 @@ class LLPanelMarketplaceOutbox : public LLPanel
 	~LLPanelMarketplaceOutbox();
 
 	/*virtual*/ BOOL postBuild();
+
+	bool isOutboxEmpty() const;
+	bool isSyncInProgress() const;
+
+	void onSyncComplete();
+
+protected:
+	void onSyncButtonClicked();
+	void updateSyncButtonStatus();
+
+private:
+	LLButton *				mSyncButton;
+	LLLoadingIndicator *	mSyncIndicator;
+	bool					mSyncInProgress;
 };
 
 
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index 0795e38366a..a548849d60f 100644
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -134,7 +134,10 @@
      reference="AvatarListItemIconOfflineColor" />
     <color
      name="BadgeImageColor"
-     value="0.25 0.85 0.25 1.0" />
+     value="0.44 0.69 0.56 1.0" />
+    <color
+     name="BadgeImageBorderColor"
+     value="0.9 0.9 0.9 1.0" />
     <color
      name="BadgeLabelColor"
      reference="White" />
diff --git a/indra/newview/skins/default/textures/icons/Inv_Gift.png b/indra/newview/skins/default/textures/icons/Inv_Gift.png
new file mode 100644
index 0000000000000000000000000000000000000000..5afe85d72d546f665d9b9611c74dbde83cf67d68
GIT binary patch
literal 1335
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+nA0*tB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+*
zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn
zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV
z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj
z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{y
zVygsnDZ~r81-`y;gY$}^0R;>){ffi_eM3D1{oGuTzrd=COM+4n&cLd=IHa;5RX-@T
zIKQ+g85kdF$}r8qu)}W=NFmTQR{lkqz(`5Vami0E%}vcK@pQ3O0?O#6WTsfTIU2Y)
znVTECIvN?7Sr{5xI2)QcS{k?*7+SbF0VQE(VAJdB>SAK(W@c#aVrpb)=xX3(Z02TZ
z;p*aS=4RyN=4=Gh>zP+vl9-pA3bQv8XfIT+0badU&PAz-CHX}m`T04p6cCV+Uy@&(
zkzb(T9BiuKo0y!L2jYXG2jW|o)S}F?)D*X({9FZa_*!LRvER*!kiQ{%Q^*N3eV}9X
zL5Tw?vA~3YDG<bjCw(9Xo_SL9fH|fJm^JnVPG)9cU`+RPaSW-rmGtNTe|u)t2F}j2
zTt`G5YJ@t(88;e+%n|Ik+)$w}@SY(_I)zyxQLp0r+sWz^ZgCtDZn(jd)nG4B%}~fF
zaGo(KR6&e6Nn25G-+F~w9fQenHFbwsm;7tuxgZo?RrdDjUQvf{RSId$j~Eu*Fk28|
zJ7F%zCW#D&RorFwY)<km`Nm+VF7TXbBZEMGbCsq{M{UCnc9rMr^6c1;a&!CTvuZwL
zOv+S<<2&-n;SWp4d*+P_0^JN7MXpHmI-KG8RNA!iyZ8oiJ=^`C<+2{=XB=qS5Hml1
zpNz+bjLR-FS`8iM^oZ=}Nnrl>?=N@ofi{^#_W%DRIZS@;(C@Z^vHstmgHp%i>;EPk
zQ0F&)@IC(x*S<f$&NcYU$#oofp{Q-iv{+1tO}@TH)mpQe_r?89601`-c^k}_w>w=o
ztn&05y$;6xb^nj8dhpr5<8;AE<s`=TCVhLw#vknq7%djPyq$mOB8NZ%gK}7F$oj7{
QCW4AGPgg&ebxsLQ02qMAn*aa+

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Sync_Disabled.png b/indra/newview/skins/default/textures/icons/Sync_Disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca2e8def971821a0c94c9c1cf52dc42825f69d3e
GIT binary patch
literal 1187
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+*
zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn
zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV
z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj
z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{y
zVygsnDZ~r81#n~YilM;-3^4tQ!~%UoJp+)JU<!SG@hi>Eg{v+u2}(t{7puX=A(aKG
z`a!A1`K3k4z=%sz23b{L<y@4SSdw29lAoUg3&ntp{F40QjQj!x=U`I>-^Aq1JP;qO
z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=QrHQMXp@or!fvbg~p{s$Vi;;z^p}CW@o3XKz
zrG+C*uS<S%X>Mv>2~2MaLa#ASy`ZF!TL84#CABECEH%ZgC_h&L>}9J=+-@<zX&zK>
z3U0R;;?%1Tbc{YIVv!;mCIn19ASOK70y*%6pPC0u?M1+3y>|K@K?Vj!aZeY=kcwMJ
zCR=m07znhfcSqdNi0EjV8&M&sot=Hqx`M4gDfg+X&Jn)=9i1E<my<?~9(Pi@Q^n0%
zg^ld*+o(<n`tfYSe1=CB%MvA;5+%&jBd4+CPD}k_<3HoM<g8_ii=H*g*Sy)qw=Fl=
zZDX!<%=K1{E(K2^Eyf=gO?){e+8Dppvd3Om<Y1b%k)=SUoipIaEYHx;CAqh`o1!=q
zW~ps{Y|*qzMn|}I(X`aF`g<BB-o_rk7%svpI{WXBl$4~mLJiC3EL*8^>hqkvk<&^q
z-(z^a%jk9GJQ2?09RgoEZ%H#uZz-32{&yCq(~l_u+Kd}c*WQm8xc_}>twkU6J-wjV
v>pAx>n;hJv<Hg{|aDCo%&wu~S?N}uk80Yl%W~q0ngNhALS3j3^P6<r_?dFf@

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Sync_Enabled.png b/indra/newview/skins/default/textures/icons/Sync_Enabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc236c8b98747d5311cfbb8c636113f7128bc0b5
GIT binary patch
literal 1168
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+*
zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn
zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV
z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj
z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{y
zVygsnDZ~r81#n~YilM;-3^4tQ!~%UoJp+)JU<!SG@hi>Eg{v+u2}(t{7puX=A(aKG
z`a!A1`K3k4z=%sz23b{L<y@4SSdw29lAoUg3&ntp{F40QjQj!x=U`I>-^Aq1JP;qO
z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=QrHQMXp@o@+fvbg~p{s$Vi;;z^p}CW@o3XKz
zrG+C*uS<S%X>Mv>2~2MaLa#Yay`ZF!TL84#CABECEH%ZgC_h&L>}9J=+-@<!X&zK>
z3U0TU;?%1Tbc{YIVv!;mCIn19ASOK70y*%6pPC0u?M1+3?U;T0Bm)B@i>HfYNX4zB
zKmY&RGpjaqHaanw9Wb@~@&D>=^MC(;{pDsoETVgR&$s_`Lc9MrUrC(7@QI0I_Yu~=
z`-@)x`agev-62DtcW-}}C;U6Sy#N34X(@+}I!YYn-gCz$Vy<Q7$DB6t_3?%t9bJZ7
zM8XUg>|jZ|^k!=JgKY<5nsS6sv?^Fmu<+3Jky*#EY-M85^ZFU(6L=XCC&+m4Zjw>f
zkxFblcI?!#4*e?^uTB){y^+M2ci=7i_X8!5pXl+p&i?j}q5I~H8H-mOmF!qx;PB1b
zqvr9vw?CK#EvGn|XdIZp+mKko9pEH6#Ur7uL5Sas*}<^kGQ$jS2fvtInY>}l7kCq8
eKHT9DNMLC1UBM@5QuqT@MtHjVxvX<aXaWGjo|7>E

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Sync_Progress_1.png b/indra/newview/skins/default/textures/icons/Sync_Progress_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..624e5563765727879897d212f62655d7c6cc6336
GIT binary patch
literal 1149
zcmaJ>TWHfz7>-k9UWSSmbWDwz&Vg$#?Y6dYRobR?MKfkwvB)M%lhZZKTujbvwl{~M
zP8eQM=4F%N?PaJBDkxKM2;vPCoL7`7_~5`B-u9rL%ys(U3?%3LhwuCT>&edAnpFi;
z3#VcjRuHY`VrZRdzxk8Vcj2d>0$S$5a1zF~G|UPHzygw%0(evr8bJ&QQp@I>pbEn#
z5^^F5ll&T1)D%*%F{GvFh>c-YD=l3Rn*hX9pix%+#JkH^30#)^#QF-J=JgQB$knX|
zh_}`x#MUO!ClM=G;8hlj1QY-T+)_5FCTsbL5nUGT?PH3-M<B4tPy7xl$=Bi`%>Z}>
zNjpWllEy0;l5v-NJf1S#MKd%-yC}xxWIU|f#nLoB`Vh#QA*I<E7a8@1EI*NfP-iJB
zo6VA0H>nwo6yx*xYz>#oi4ab+MTLUpRL$a?0tZadkaZ|)DsC$ZDXkg$2^8t?6cl|-
zRy9Y<gbGGkf=)3cZKsq2^8EjyiZX^aVGR6<_n*RMqD2Q(447K8A)>~mi)~jr8!~_Z
zH6x*En{rjG&1g_FGn$Tv;uSbAh_Y(iBY2)?qpAr7RRmGaPap+SmL)dAgaVO3#O<ZS
zUWN(NKF;M0GoD~5;&ump-awAaX=1YiRG8yRf4Jr2a_v!2bmW->hP(wx5kph(k(62a
zAF%{|<>3h9^^U7I%9X~C#WgOMLcvgWWB+P&?g&kfy&W4{WQ+|yP|>s-Xsp$DkGj#7
z_z>j+3F}FJ{9M5{dit8a?jFfexhPI!%dh3{uMN&G+1lRT(N<V^mE7AiDewNS!Q!LD
z(5qC}>?k*QXL!fKTlu9YGMy!C$MuQ(hWk!kP^MhjmA3&qU)Hm^NPdx>c2{|t?mGyM
zSKU*J-f!6P%9~8r52WhX?^(RFv^{7YI2(IV{$);YzkiB@*zUblbaB#;Gi9p>x71C*
zeEPE^ubK1m+Br9u4&1xabz^R4o8!=%$3yGZ)mLAq4<$QKF8KP8vtEAbxb$%NF*g8)
z=-ZBlBQxID-B=>bsyntDE76x-JJ8+V`?f8wan|>*1K%7C*v8V+KRzCQ{@MN^M8h>)
IZ?K{57vLX?ga7~l

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Sync_Progress_2.png b/indra/newview/skins/default/textures/icons/Sync_Progress_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..5769803b3f60e68929467bbfb1d3f0da6f9228e3
GIT binary patch
literal 1147
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+*
zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn
zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV
z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj
z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{y
zVygsnDZ~r81#n~YilM;-3^4tQ!~%UoJp+)JU<!SG@hi>Eg{v+u2}(t{7puX=A(aKG
z`a!A1`K3k4z=%sz23b{L<y@4SSdw29lAoUg3&ntp{F40QjQj!x=U`I>-^Aq1JP;qO
z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=Yp|hi#qno*ffvbg~p{s$Vi;;z^p}CW@o3XKz
zrG+C*uS<S%X>Mv>2~2MaLazl*y`ZF!TL84#CABECEH%ZgC_h&L>}9J=+-@<&X&zK>
z3U0TU;nb@Sbc{YIVv!;mCIn19ASOK70y*%6pPC0u?M1+3EfdZ<1DGY=d%8G=RNR^}
zc`t9Xfk5k8o}+3845qfu4rf_-4yu)ee7O>$|0^KwiG;I|xBC3|&wti6FPRW@+2qzX
z-@^tP%llsjZCtndTkUn5^I5mU?3t&et}K-4=U^}pyc*8X^QYM7vdPH@rLo%F4VTW{
zdBX3nVzE$Nw&a64!=Y`Pc?%ro)g|0yXE>&@dtJ45^1XcVZ!8aL-bcBKth~#qa8BP{
z^MLZ6bDMOI$BMMNE?lMcwN`)s+1uYN%3WQa)$A9$$o9^1?Pr6Fmv$VzX?E+Rjl)Za
zhjaW=c0?_^G0}s=I{d-utj!Mdc<cUEOZz_YX9++3MI?ctUgp!ktq-l%fQkc8S3j3^
HP6<r_=pTrj

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Sync_Progress_3.png b/indra/newview/skins/default/textures/icons/Sync_Progress_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..92d4bfb020cecb80256f3ef98fd591d4ff6e1138
GIT binary patch
literal 1211
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+*
zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn
zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV
z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj
z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{y
zVygsnDZ~r81#n~YilM;-3^4tQ!~%UoJp+)JU<!SG@hi>Eg{v+u2}(t{7puX=A(aKG
z`a!A1`K3k4z=%sz23b{L<y@4SSdw29lAoUg3&ntp{F40QjQj!x=U`I>-^Aq1JP;qO
z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=Yp|hi#qnne3fvbg~p{s$Vi;;z^p}CW@o3XKz
zrG+C*uS<S%X>Mv>2~2MaLa#GUy`ZF!TL84#CABECEH%ZgC_h&L>}9J=+-|YNX&zK>
z3U0SJ;?%1Tbc{YIVv!;mCIn19ASOK70y*%6pPC0u?M1+3?G-d-4g&+DzNd?0NX4z5
zV8e564g#|E583(_Dy@6KBIDq@bU_iLR;#c8r+5L!UO&}9jS`_*KmXr6lD6^w_uDC(
zX5XB<J^%h5R+pClhd$f9`7M`PZT}%@#xl-b>zt>h{<yJ6*{ZKOHS&=G&yM%j-KDWV
zeSSas>Ams&Zwp^x{VA-C-t!;q(mPhjGi%wwO*#{vTdr8OO2zZg&Ai)epKVUhcQ{eP
zY$%X9@8`PLa$od$cn&8N$6mi+(yJ6F)TVf2+u0(Ol+e%^pH|L~=6#P7xEK9htNguq
z{Vk1GCFctpw&l(&c)n19LoXyVV%pJXg);kpH?Zv9-t#HF`{<vg7QVrGQe7HdGd@kR
z?|vV<i(!uLZ;=q6wBIjWoWydg#U`!gjCt1F&gL?`t838#bNkR)OV)eG|KL5ao`IR+
XaH4J|bHs{;pyI^S)z4*}Q$iB}{vD~?

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Sync_Progress_4.png b/indra/newview/skins/default/textures/icons/Sync_Progress_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d43eb3a9fb881566ad14ca1b8d15adb6f660afe
GIT binary patch
literal 1205
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+*
zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn
zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV
z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj
z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{y
zVygsnDZ~r81#n~YilM;-3^4tQ!~%UoJp+)JU<!SG@hi>Eg{v+u2}(t{7puX=A(aKG
z`a!A1`K3k4z=%sz23b{L<y@4SSdw29lAoUg3&ntp{F40QjQj!x=U`I>-^Aq1JP;qO
z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=8rHP4wo3oLHfvcsVp{s$Vi;;z^p}CW@o3XKz
zrG+C*uS<S%X>Mv>2~2MaLa#ASy`ZF!TL84#CABECEH%ZgC_h&L>}9J=+-@<zX&zK>
z3U0R;;?%1Tbc{YIVv!;mCIn19ASOK70y*%6pPC0u?M1+3eeTzB1qKF2O-~ockcwMJ
zf(^S`90YQvyMAD-JD|@|ci7{geU1``)a+S5nV1~~c+Q+T%aUxYY|PB;cp>H8sbn_)
zr+j(M*%=wj-^_fqO0v_??fsF*`o7z8ja6Pfm(7@^_HvistYvSrYwri&-WD?L=|9;v
zMODvFR~rN?_QmO&@i0eU|7zA)8oT}azW2soZ2HvM9UWG!x@6HOa@_FbCLP7VWL}B%
z(u)jRDmTC0^`vs%k&VkTGv+;??;0Y~IxTgf&S{PF#V>ydr`gRv<6L#!?ct&4f2Pk}
z@Nec>)g8>~M^~>(a&MmyD6%ngRz#o()9$+u*4^BslUO)w8I!nF&TTcf24Ml=SIRtx
z6^<9~+o|GaZM5R`uj}0{r^`~*xcsC;94FqlP{~@uXx*>&_jI<+v33S#23MJcJF_AS
QTtEehr>mdKI;Vst0O^jP8~^|S

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Sync_Progress_5.png b/indra/newview/skins/default/textures/icons/Sync_Progress_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..766d063c9918649f4a9e237c79a2720d331c6ec8
GIT binary patch
literal 1137
zcmaJ>TSyd97@jQDtnES=Ub>8<1%bOWvln-FbTi#qbD=R=*RmpToH@FK&c&IdJK94j
z(G?2H9+C`S3L=W`L_twRtOWH?6eJ>1J(QJ|p!HN|)U_Vk24>Fr58wCw*E5G}Yc|`m
z^0F`tvxTeK2wIm}Z)Q6BuATVBqa_!H8epB;4CA~GunJLa0(e;FTR;TxVpsbRD8sP%
zgcNOn4crz+P-O>iVH~EcAvT7Um75wbv;v4Xffh*#5aW066SyP>i0vMZ;<O-$N!8st
zsOzqY3f--OUnI&m;$<d-1Y`ht+?3lCgE0fdv@V18)-g%o(-7DiAZCJU;A-)pssr5P
zpzH!wLg6K}gLb*SUT-n(q-ctyoFwhE(_Y5qWGD)seF)@D7n_*~TQ%zoSpgyjp~jG8
zJRWz%T@F=mA!)zgZ)rH4c7(7ST?*t)yJ8e36<A;hx}-r#Rd7p@Z&Ev8fIyMXq#$c^
zvWhWVCR8xe<Ta9ZP*zGwAjkb5D$8?d14h7~c>gJEM7uOVMu4Gq=mKh7bD`x*V}d&1
zp{hq!wJll2+L#JeBc^J2u+D>XydWu-J&or$Caf5cR|F7d0|ZiVNRr4<ez%*d3YPe&
zke{YQl%I9_LbSIsSmkn6`h68iE~^S1GEiWWEB@hnQ*y0QkTv9)1-jG;#425t@#&Nq
zDRnIFlzOvVF?B4Slw1-8Lt2gftI^3LG(FaKZfub;H~2t7)2^ejCejCgpeyk{%vMCr
z*N;x#we8=un0?c|Kkd-ahTbz-gBeUuTH<iQw+}m<d6ScH-h)f-*Qd&b<F<3Bv$sCI
zXqp={Ki;_|^|$TbUi$3$gZ%t^OVf)M^q;>f4}bC<EB<;@ZtXV;v5B%hjiXcB>Q7}%
zENS|3Wi+#I$NU#7i{AQnzPo*WjEUE-&Xx4Wob=<vQzJvSN3Iq>Ik%!P`^KW8*cR;J
z(fSH1ymNIV;d$IL_<6yYcVQy9zCF>|o3kccuX|Z=V0XsZfoqqSKgyFz*WIu0`T6Q#
rpK>8_^T?_JW*oYDzK`#HyKCP(>_iR=Z6DfiSU-VqsD`~<+1UFV^j&_m

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Sync_Progress_6.png b/indra/newview/skins/default/textures/icons/Sync_Progress_6.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfe7f68b723f10095bfab0ee71050ebb52e218ca
GIT binary patch
literal 1164
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+*
zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn
zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV
z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj
z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{y
zVygsnDZ~r81#n~YilM;-3^4tQ!~%UoJp+)JU<!SG@hi>Eg{v+u2}(t{7puX=A(aKG
z`a!A1`K3k4z=%sz23b{L<y@4SSdw29lAoUg3&ntp{F40QjQj!x=U`I>-^Aq1JP;qO
z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=8rHP4wo3o>ZfvcsVp{s$Vi;;z^p}CW@o3XKz
zrG+C*uS<S%X>Mv>2~2MaP_Lo6i<y~$ff-J{prnvn0JPa9wJ5VJHN~wcKUV?lWvfiw
zZn3~=9#n4%7PmnCVTn_(KF~4xpom3^XqXT%^?;c0WDDfL6MkwQFtrx}ll7fw3mygr
zMg~t8$B>F!M}igkS_}ko^u_BA7aw?VVGm=Y(!tM6KbZRuC^{_skYP|gQ_cC*rC{~G
zluep*^U~7~baniES~*jG{(9bD`=)=kk)4(*xaP7+?Wv<24wF<amCoIgs~utPt9-oh
z&W7CCBCd)ykB_NW-Y<7|ay4#HdGpv{_K)f`nd8TO4;$RcTj*rgcxkocyyt#qq5@H?
z?629JzdkRu$AEjQj<@jfjn&grXI`B*QQURn?dt49yVfmRm%UopaqhB{A)%svjGGkr
zjkcEbJnnBVG&DQ5-@`!di4kM+)|(s(FO0ONY!FQTx_H^8_7Jm=jzI3cea!*)6fO$S
h-QD*0_x&G&2@I~$-wGU^IO0I%gQu&X%Q~loCIB7wjqm^f

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index f0a18935025..a6e71cc38e4 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -72,11 +72,11 @@ with the same filename but different name
   <texture name="BackButton_Over" file_name="icons/back_arrow_over.png" preload="false" scale.left="22" scale.top="12" scale.right="25" scale.bottom="12" />
   <texture name="BackButton_Press" file_name="icons/back_arrow_press.png" preload="false" scale.left="22" scale.top="12" scale.right="25" scale.bottom="12" />
 
-  <texture name="Badge" file_name="widgets/Badge.png" preload="true" scale.left="9" scale.top="12" scale.right="248" scale.bottom="12" />
+  <texture name="Badge_Background" file_name="widgets/Badge_Background.png" preload="true" scale.left="9" scale.top="12" scale.right="248" scale.bottom="12" />
+  <texture name="Badge_Border" file_name="widgets/Badge_Border.png" preload="true" scale.left="9" scale.top="12" scale.right="248" scale.bottom="12" />
 
   <texture name="Blank" file_name="Blank.png" preload="false" />
 
-
   <texture name="BuyArrow_Over" file_name="navbar/BuyArrow_Over.png" preload="true" scale.left="0" scale.top="1" scale.right="0" scale.bottom="0"  />
   <texture name="BuyArrow_Press" file_name="navbar/BuyArrow_Press.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0"  />
 
@@ -479,7 +479,16 @@ with the same filename but different name
   <texture name="StopReload_Off" file_name="icons/StopReload_Off.png" preload="false" />
   <texture name="StopReload_Over" file_name="icons/StopReload_Over.png" preload="false" />
 
-  <texture name="TabIcon_Appearance_Off" file_name="taskpanel/TabIcon_Appearance_Off.png" preload="false" />
+  <texture name="Sync_Disabled" file_name="icons/Sync_Disabled.png" preload="true" />
+  <texture name="Sync_Enabled" file_name="icons/Sync_Enabled.png" preload="true" />
+  <texture name="Sync_Progress_1" file_name="icons/Sync_Progress_1.png" preload="true" />
+  <texture name="Sync_Progress_2" file_name="icons/Sync_Progress_2.png" preload="true" />
+  <texture name="Sync_Progress_3" file_name="icons/Sync_Progress_3.png" preload="true" />
+  <texture name="Sync_Progress_4" file_name="icons/Sync_Progress_4.png" preload="true" />
+  <texture name="Sync_Progress_5" file_name="icons/Sync_Progress_5.png" preload="true" />
+  <texture name="Sync_Progress_6" file_name="icons/Sync_Progress_6.png" preload="true" />
+
+    <texture name="TabIcon_Appearance_Off" file_name="taskpanel/TabIcon_Appearance_Off.png" preload="false" />
   <texture name="TabIcon_Appearance_Selected" file_name="taskpanel/TabIcon_Appearance_Selected.png" preload="false" />
   <texture name="TabIcon_Close_Off" file_name="taskpanel/TabIcon_Close_Off.png" preload="false" />
   <texture name="TabIcon_Home_Off" file_name="taskpanel/TabIcon_Home_Off.png" preload="false" />
diff --git a/indra/newview/skins/default/textures/widgets/Badge.png b/indra/newview/skins/default/textures/widgets/Badge.png
deleted file mode 100644
index 862b13d219ad0d6d23027ee4ed1c00069763d4df..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 958
zcmV;v13~<WP)<h;3K|Lk000e1NJLTq00961000*V1^@s6<kpe#0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#U`a$lRCwC#oJ~s`Q51$}CX)s=X$5tp
z)mnp#fR@HcTMY&i+!YI5RS;Z>%i`Lf;9BZVTnPo!O`+1A7)gn?i`4Fli2X<{h8QeS
zB%O@*ylDo~P`Zwj_kkni&bS$P&N=taovU76UMe=Ksw!0&5`Kx>5}gt^D&yA_LP$OH
zOX8=*k;FHN1MxijuN!szNhA{0W33W{{r&yXNF?&0udnY;dwY9lOG`_uuIp|-TSDra
zQmJH~ot>TJa=D}Z{rxY=Wb(ZfcS!zWb93{=zAqY${z(8;^t#>d$jr>lR45b*c6WDo
z$#2Ewa+RZ|Lm-6IAyVz#mSuH_za0Yu19yjph6dB=^uv{vl^3yCEGbFg^IshRkPE$j
zzyHbf^z_uQ;PH4A$WI8lTA)x%w_Xl-EM0sTin(DJZL6!RZQ}YXI|-;*1CW1c71<xp
z&(A*#hr`27O--!!ggC1!P|nZKl~gLVv#_x6+%(PCGIpYs+W=h;q3uWIr~HICvnznx
za2&3~d5mjv!3YEbQOx<#E>M0#oSOvTI9!MGa9@+G&^J0ddf#5~BZN2?I1bn0Jlw|=
zpa-w|C_f>MlLX*A+}BE_l7aX9c+E!$aXxSz&cl7(vaIXa<ii9&NaG{`I1l$VJ`O?}
z7ft2^1#BCXY`~{MNCN=Z;XK^enwy(**fY!oKuF^x05}i#HLus3!3P7TY4XVs(g479
zI1l$Vzu$kby}g~zWHR5G1PF1y{BRx4!+kB0NF3(#`M2qGdbe0CD%Ix$5JH>-+=k<D
z9nQmjyaljgvDj`r9)Gzb;DZ4s0YaQ7Kir1na2?LWeYGOHYiw*Rkj-WvO-@ce<>$bJ
zIIHbP<%j%hYin`CFy3r!ZGA!luulZCWMFT6d|X{xTFOfzIOc&Mgk0TfkClFeJ?BT;
zkIEkm2H$OLZ0x~#oCs9z0PG{dWWYT)H`lqozJAZ^^@c}AMnXIijF78E?U7(u@H;&{
zO-)Qpd|X^yJQCl{itmbAdnl;<#-3o$?Ck8VR4UaY-N4O4q0lCo#D{w>E-sh^2&rQ<
zO*65{$LI4MOS}Ig91ee7US2+wOGUK()%U9ZS@1(5zzM*5CG2g(oCgq6=d%FRYBU3t
g_*E;u&2Iq)0J+PT5gP!MCIA2c07*qoM6N<$f|ByX3;+NC

diff --git a/indra/newview/skins/default/textures/widgets/Badge_Background.png b/indra/newview/skins/default/textures/widgets/Badge_Background.png
new file mode 100644
index 0000000000000000000000000000000000000000..5089c303129249824f4c05b828240f0dc90dbc06
GIT binary patch
literal 1352
zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5#5vf2<dbU?KLRPq64!{5;QX|b^2DN42FH~A
zq*MjZ+{E<Mpwz^a%EFVWHVh2RX_+ArB@w<pR>}FfdWj%4dKI|^AhQ^3>?;Zqle1Gx
z6p~WYGxKbf-tXS8q>!0ns}yePYv5bpoSKp8QB{;0T;&&%T$P<{nWAKGr(jcI1vDTx
zwIorYA~z?m*s8)-32d$vkPQ;nS5g2gDap1~f;cL|H$cHTzbI9~RL?*+*}%*|!OT$4
z(AdP>++0V&$iUD*-@r)U&`8(N+{)O<%D_MY3Y37h6{VzE1-ZCE?E>;_l`=|73as??
z%gf94%8m8%i_-NCEiElUW*8ai0#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*nV6WA
zUs__T1av9H3%LcpzHo!{ilG4o3^M(S!~%UoJp=vRT#&!Os*6j4QW4I;s=7F&vLIDI
zD784hv?v)EA8E=k&A_n3ZxKi#&^1>6MVY`zNz8G{PcF?(%`5SAu~h=f=%r+)Sh=|x
zxHy@c8@oCh8JSra8d^9TnmAe-xEL5(xH-8w8o<oJrWdHf(ap)()!fC!$<WZ%z{%Lm
z&C<fv#o5fw$jQyw2&UIFuec;JFF6%vZzj-Qs9qPmdaay`QWHz^i$e1Ab6_bTAS1sd
zzc?emK*2fKRKYhfIWrH$2SpFWw=StgnPsUdZbkXI3gGay%EV&7n~Affp{aqZrIV2{
zc7H?krjQe6`as9%gAxZ)Vu1+(Qy_>5Px?R(JoBXH0dq_dFl#W|axDht(+W=)$B>F!
zZ|*p{vlL1k|Co7t)ADs2ufLeKN$0EBw2ltGy&b93Ul_FS(s|qcLd^TfzRrl!-W$Os
zy?)+b{@h9r+pV_i-2b0-KVsW<+Su%uwSKmL+Vje=q`O5amK)zheETESko9AeO>~@&
z^6BRI=uLq|i^cw3yOh@EkouB+_fyNwHc{vH3W#NCo0sbP>)212v+aG^_w`H?5qUbi
zX{;(MA6nZ*=r#m<_y1&2{8ID0o@>FowG0Y<+Hd!9IsE@(K9gPG)V8vC)(eSZ4j!_i
z4&9avin1#hw#{G`2nuH1a8jmW!Yk7>h9gUvekAZXc+A&oD1XM#@?{y*3<GwBC7oOe
zXMie>X))Al|2d`85U}i4t>}R>MJH_<0`#{0KAL^N`t*dE42nFp&!?Ybe(`(qfu5fX
zo?7$1{XW`ypLN0KL+f;R-~97Kf#Kx^zxTiU^v|*BSPKWFx5-BJZT`9Z(65{c{A~@d
wE^7Z<Y5(qi`hOddEfrD{l?*Dcq8k_)*fyHp|I63-7*w`-y85}Sb4q9e09?Z1+yDRo

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/widgets/Badge_Border.png b/indra/newview/skins/default/textures/widgets/Badge_Border.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b086a63fb16efaab8fc2572cd4e46ddcecf7e15
GIT binary patch
literal 1565
zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5#5vf2<dbU?KLRPq64!{5;QX|b^2DN42FH~A
zq*MjZ+{E<Mpwz^a%EFVWHVh2RX_+ArB@w<pR>}FfdWj%4dKI|^AhQ^3>?;Zqle1Gx
z6p~WYGxKbf-tXS8q>!0ns}yePYv5bpoSKp8QB{;0T;&&%T$P<{nWAKGr(jcI1vDTx
zwIorYA~z?m*s8)-32d$vkPQ;nS5g2gDap1~f;cL|H$cHTzbI9~RL?*+*}%*|!OT$4
z(AdP>++0V&$iUD*-@r)U&`8(N+{)O<%D_MY3Y37h6{VzE1-ZCE?E>;_l`=|73as??
z%gf94%8m8%i_-NCEiElUW*8ai0#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*nV6WA
zUs__T1av9H3%LcpzHo!{ilG4o3^M(S!~%UoJp=vRT#&!Os*6j4QW4I;s=7F&vLIDI
zD784hv?v)EA8E=k&A_n3ZxKi#&^1>6MVY`zNz8G{PcF?(%`5SAu~h=f=%r+)Sh=|x
zxHy@c8@oCh8JSra8d^9TnmAe-xEL5(xH-8w8o<oJrWdHf(ap)((cHzw$<WZ%z{%Lm
z&C<fv#o5fw$jQyw2&UIFuec;JFF6%vZzj-Qs9sCFdaay`QWHz^i$e1Ab6_bTAS1sd
zzc?emK*2fKRKYhfIWrH$2SpFWw=StgnPsUdZbkXI3gGay%EV&7fq{W5et$#srjQe6
z`as9%gAxZ)Vu1+(Qy_>5Px?R(JoBXH0dq_dFl%@?xw|tkF!_4AIEGZ*dUI#Lw{)Te
z`-keqFI5-X8!hn-v1$<!DiKsQDT<UaiezyV63}W9xV13g#jARS9agMNv0V!|g0AaH
zb+B|d^Mx67H<f5b1o4=B{Jmwp^I^~DyTAW#R4?Btf13Gz`;&JTsXL{e&Mp=U%)GMX
zo}0_P57MPAR<5~=%D!x?*O)G>`a!;U=N;qYg;FO|J}rsSlXq2`82?6dqIrqc+=9Jv
z^K-V}7VdRBoM|@u{>I8k{+8<63B}z<A1$xjZ{I5AXzRked8x}i#hF)cPUZ3UT&8;4
z>hZcT?$$%sqt<?tQnzvasBS;ezU|<Il&DR*lGE4l%LSiG+kAX&*y)3ff>V-ichs1&
zOi770(u<sa=KkC2hFvQ{wDJoY&V~v8tP;3!HS4Qx*!hxgYnPT-?QNIszbU7r+;(8H
zkJ@JaoBR)w_2l~Nk9|^)c1~$|?V_YObN*yTgI@jLUMuB(J3XnN^fg55E9+`wBL<<1
z8DHk)DjK=l&HvwabjCmL1Hb>cw8gSdxc%qvZpH(*>s;8*G5-9~xSt{LThj@djS+7I
z#jY3eKF|{2=-H&|^6bUes`DFnOkphOs5&`KK+@HyUV}Md`|Y>;lI%OqEHvJ){rZ!|
zgGddLS*g(-fBe(`#-#u6pOkw$I-(8e;CSxWYo@c6uVHOISn6#r<KVK-c$x9OXWN41
zcp@C{F1WWj+-2V<zx3*(zs|q@`($bYyVpwJzs8BP_9}l;Ir(nUxlfE)H6I#&&tsUv
zxiR5yt>z1EK1L<~Nzs3Dudrp^E~?bj5R`lq*1*WXvSWMLp$AJGK?Sy_tDnm{r-UW|
D)<Q!s

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
index fa799756690..ffc018b8567 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
@@ -124,37 +124,60 @@
                       height="125"
                       width="310">
                      <button
-                         label="MARKETPLACE OUTBOX"
-                         is_toggle="true"
-                         name="outbox_btn"
-                      follows="top|left|right"
-                         image_unselected="MarketplaceBtn_Off"
-                            image_selected="MarketplaceBtn_Selected"
-                         height="35"
-                         tab_stop="false"
-                         width="308"
-                         halign="left"
-                         pad_left="35"
-                         top="0"
+                        label="MARKETPLACE OUTBOX"
+                        is_toggle="true"
+                        name="outbox_btn"
+                        follows="top|left|right"
+                        image_unselected="MarketplaceBtn_Off"
+                        image_selected="MarketplaceBtn_Selected"
+                        height="35"
+                        tab_stop="false"
+                        width="308"
+                        halign="left"
+                        pad_left="35"
+                        top="0"
                         left="0" />
-                    <button
-                        label="SYNC"
+                   <button
+                        image_disabled="Sync_Disabled"
+                        image_disabled_selected="Sync_Disabled"
+                        image_unselected="Sync_Enabled"
+                        image_selected="Sync_Enabled"
+                        label=""
                         is_toggle="false"
                         name="outbox_sync_btn"
                         follows="top|right"
-                        height="25"
+                        height="16"
                         tab_stop="false"
-                        width="45"
+                        width="16"
                         halign="center"
-                        top="5"
-                        left="-50"
+                        top="10"
+                        left="-40"
                         enabled="false" />
+                     <loading_indicator
+                        follows="top|right"
+                        name="outbox_sync_indicator"
+                        top="10"
+                        left="-40"
+                        height="16"
+                        width="16"
+                        images_per_sec="1.0"
+                        tab_stop="false"
+                        visible="false">
+                         <images>
+                             <image name="Sync_Progress_1"/>
+                             <image name="Sync_Progress_2"/>
+                             <image name="Sync_Progress_3"/>
+                             <image name="Sync_Progress_4"/>
+                             <image name="Sync_Progress_5"/>
+                             <image name="Sync_Progress_6"/>
+                         </images>
+                     </loading_indicator>
                      <panel
-                         follows="all"
-                         left="0"
-                         height="90"
-                         width="250"
-                         top="30"
+                        follows="all"
+                        left="0"
+                        height="90"
+                        width="250"
+                        top="30"
                            >
                          <text
                              left ="40"
diff --git a/indra/newview/skins/default/xui/en/widgets/badge.xml b/indra/newview/skins/default/xui/en/widgets/badge.xml
index 4eb633ac0cf..ceec09d1e40 100644
--- a/indra/newview/skins/default/xui/en/widgets/badge.xml
+++ b/indra/newview/skins/default/xui/en/widgets/badge.xml
@@ -2,7 +2,7 @@
 <!-- Additional attributes:
    -->
 <badge font="SansSerifSmall"
-       image="Badge"
+       image="Badge_Background"
        image_color="BadgeImageColor"
        label_color="BadgeLabelColor"
        location="top_left"
-- 
GitLab