From f8907b327bb0009047b9cef54fde3d7dc6e8d6ca Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 25 May 2011 11:17:47 -0700 Subject: [PATCH] hooking up marketplace inbox to inventory --- indra/newview/llfolderviewitem.cpp | 8 +++-- indra/newview/llviewerfoldertype.cpp | 24 ++++++++++--- indra/newview/llviewerfoldertype.h | 1 + .../skins/default/textures/textures.xml | 2 +- .../textures/widgets/MarketplaceBtn_Off.png | Bin 711 -> 1067 bytes .../widgets/MarketplaceBtn_Selected.png | Bin 702 -> 1086 bytes .../default/xui/en/sidepanel_inventory.xml | 32 ++++++++++++------ 7 files changed, 49 insertions(+), 18 deletions(-) diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index e9d1ad3a9e3..d2bbfa2c2b5 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -30,6 +30,7 @@ // viewer includes #include "llfolderview.h" // Items depend extensively on LLFolderViews #include "llfoldervieweventlistener.h" +#include "llviewerfoldertype.h" #include "llinventorybridge.h" // for LLItemBridge in LLInventorySort::operator() #include "llinventoryfilter.h" #include "llinventorymodelbackgroundfetch.h" @@ -1190,8 +1191,11 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height, S32 filter_generation) } else { - folderp->setVisible(show_folder_state == LLInventoryFilter::SHOW_ALL_FOLDERS || // always show folders? - (folderp->getFiltered(filter_generation) || folderp->hasFilteredDescendants(filter_generation))); // passed filter or has descendants that passed filter + bool is_hidden = folderp->getListener() && LLViewerFolderType::lookupIsHiddenType(folderp->getListener()->getPreferredType()); + + folderp->setVisible( !is_hidden && + (show_folder_state == LLInventoryFilter::SHOW_ALL_FOLDERS || // always show folders? + (folderp->getFiltered(filter_generation) || folderp->hasFilteredDescendants(filter_generation)))); // passed filter or has descendants that passed filter } if (folderp->getVisible()) diff --git a/indra/newview/llviewerfoldertype.cpp b/indra/newview/llviewerfoldertype.cpp index de1c8d14a86..1623357c906 100644 --- a/indra/newview/llviewerfoldertype.cpp +++ b/indra/newview/llviewerfoldertype.cpp @@ -40,6 +40,7 @@ struct ViewerFolderEntry : public LLDictionaryEntry const std::string &icon_name_open, // name of the folder icon const std::string &icon_name_closed, BOOL is_quiet, // folder doesn't need a UI update when changed + bool is_hidden = false, const std::string &dictionary_name = empty_string // no reverse lookup needed on non-ensembles, so in most cases just leave this blank ) : @@ -47,7 +48,8 @@ struct ViewerFolderEntry : public LLDictionaryEntry mNewCategoryName(new_category_name), mIconNameOpen(icon_name_open), mIconNameClosed(icon_name_closed), - mIsQuiet(is_quiet) + mIsQuiet(is_quiet), + mIsHidden(is_hidden) { mAllowedNames.clear(); } @@ -66,7 +68,8 @@ struct ViewerFolderEntry : public LLDictionaryEntry */ mIconNameOpen("Inv_FolderOpen"), mIconNameClosed("Inv_FolderClosed"), mNewCategoryName(new_category_name), - mIsQuiet(FALSE) + mIsQuiet(FALSE), + mIsHidden(false) { const std::string delims (","); LLStringUtilBase<char>::getTokens(allowed_names, mAllowedNames, delims); @@ -91,6 +94,7 @@ struct ViewerFolderEntry : public LLDictionaryEntry typedef std::vector<std::string> name_vec_t; name_vec_t mAllowedNames; BOOL mIsQuiet; + bool mIsHidden; }; class LLViewerFolderDictionary : public LLSingleton<LLViewerFolderDictionary>, @@ -126,9 +130,9 @@ LLViewerFolderDictionary::LLViewerFolderDictionary() addEntry(LLFolderType::FT_CURRENT_OUTFIT, new ViewerFolderEntry("Current Outfit", "Inv_SysOpen", "Inv_SysClosed", TRUE)); addEntry(LLFolderType::FT_OUTFIT, new ViewerFolderEntry("New Outfit", "Inv_LookFolderOpen", "Inv_LookFolderClosed", TRUE)); addEntry(LLFolderType::FT_MY_OUTFITS, new ViewerFolderEntry("My Outfits", "Inv_SysOpen", "Inv_SysClosed", TRUE)); - addEntry(LLFolderType::FT_INBOX, new ViewerFolderEntry("Inbox", "Inv_SysOpen", "Inv_SysClosed", FALSE)); + addEntry(LLFolderType::FT_INBOX, new ViewerFolderEntry("Inbox", "Inv_SysOpen", "Inv_SysClosed", FALSE, true)); - addEntry(LLFolderType::FT_NONE, new ViewerFolderEntry("New Folder", "Inv_FolderOpen", "Inv_FolderClosed", FALSE, "default")); + addEntry(LLFolderType::FT_NONE, new ViewerFolderEntry("New Folder", "Inv_FolderOpen", "Inv_FolderClosed", FALSE, false, "default")); #if SUPPORT_ENSEMBLES initEnsemblesFromFile(); @@ -255,6 +259,18 @@ BOOL LLViewerFolderType::lookupIsQuietType(LLFolderType::EType folder_type) } +BOOL LLViewerFolderType::lookupIsHiddenType(LLFolderType::EType folder_type) +{ + const ViewerFolderEntry *entry = LLViewerFolderDictionary::getInstance()->lookup(folder_type); + if (entry) + { + return entry->mIsHidden; + } + return FALSE; +} + + + const std::string &LLViewerFolderType::lookupNewCategoryName(LLFolderType::EType folder_type) { const ViewerFolderEntry *entry = LLViewerFolderDictionary::getInstance()->lookup(folder_type); diff --git a/indra/newview/llviewerfoldertype.h b/indra/newview/llviewerfoldertype.h index f5938de619b..a348274e8fe 100644 --- a/indra/newview/llviewerfoldertype.h +++ b/indra/newview/llviewerfoldertype.h @@ -40,6 +40,7 @@ class LLViewerFolderType : public LLFolderType static const std::string& lookupIconName(EType folder_type, BOOL is_open = FALSE); // folder icon name static BOOL lookupIsQuietType(EType folder_type); // folder doesn't require UI update when changes have occured + static BOOL lookupIsHiddenType(EType folder_type); // folder doesn't require UI update when changes have occured static const std::string& lookupNewCategoryName(EType folder_type); // default name when creating new category static LLFolderType::EType lookupTypeFromNewCategoryName(const std::string& name); // default name when creating new category diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 4f19dd9a6d3..ec12d996bf8 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -250,7 +250,7 @@ with the same filename but different name <texture name="Locked_Icon" file_name="icons/Locked_Icon.png" preload="false" /> <texture name="MarketplaceBtn_Off" file_name="widgets/MarketplaceBtn_Off.png" preload="true" scale.left="30" scale.top="19" scale.right="35" scale.bottom="4" /> - <texture name="MarketplaceBtn_Selected" file_name="widgets/MarketplaceBtn_Selected.png" preload="true" scale.left="22" scale.top="16" scale.right="26" scale.bottom="7" /> + <texture name="MarketplaceBtn_Selected" file_name="widgets/MarketplaceBtn_Selected.png" preload="true" scale.left="30" scale.top="19" scale.right="35" scale.bottom="4" /> <texture name="Microphone_On" file_name="icons/Microphone_On.png" preload="false" /> diff --git a/indra/newview/skins/default/textures/widgets/MarketplaceBtn_Off.png b/indra/newview/skins/default/textures/widgets/MarketplaceBtn_Off.png index e291a1c5080ee07f6e722220896d22c2e5b503c0..e603c4438400d3091c47b941c9100086cdeb3eae 100644 GIT binary patch delta 994 zcmV<810DRw1*-@liBL{Q4GJ0x0000DNk~Le0000e0000Z2nGNE0OmPJu8|>Ge*>FI zL_t(oN7b0iOB+!XhsVT)AQfrMLIrEZjUou5;`{x6KcY?4Xna2x5+Pb_Fk0M+n<OTa z#3W5>u~-nXn_6A8P$+a!DBTv9-IV?dx969dA=Vb+b&+Y{Bh0`(_sco=%)J>w`29&D zG=!0`#F!^EzwXK@B$tw#oBMQme|b5$y}kWP4y>)M9m0v+)Pho}e6+N*6fhc%&*$go zpUuwB`eVu5+?*dS3kwSYa?=V5h2rtz;$mQWdfGQNH6;t+0w;1?M~N-4otT*L$q6`J z^@3nQX~)OMy>bFhk|63nHa4~|C*ULr&dkjC^?LojoPd)gNX_9N85!A^e-m($1koHr zLqi@p0Vhe2n!~5l={$F#u(0q=W@hH+wzjqxcZm}o3nxj?U@&;KTCJOxl9G}$g3+&L z@$vC2FE8&MZ>;b*I7xz|qodxz!9h1K6%`fdMMXvI=;(;qY&Mpjp3X8dGQRM}!#Fre zf@qHZ{(cuPRaI3N5Old*e=HCPu;b%n*4Ws{)N1uNx_`<O7fzBOnxn6;PvoVtvNDuG z2m+7C!%j|4nAvP*iHV6UD=X{cZDYeJQqbMo+w0^7C8j1}q9|VD;NXA-gF!|o6PA{i z_O+?0$sg?;B<Pj|H5!e(y}jMZOKEB8c|kz|+uhy0fz@gatxf7qe@2@>Yi(^6qnQUz zl3-U?mxtDj$V+i?@p*oJKHJ*b`X|G~!z>{ofz{O1c%zvIPLg1Ecejhu@8E?5-$HP6 zbMpo(D=REJJDZi2m3{B%=y=`I(&CI}9ymn`iZp1C7ZN=Cn;=aR${LAXuCA`Wq;7UM zH#bK$4~-QgOYEeyf7^NaQ!t#hy1Kd_bgp}kZHv~O<2LcB#7;@Dv$NCL(9mG#g&r|d z1}RIStdY>A$z(dD$BPSMw~Y;_Yl8Ll^>$w9F>{J_mXnji%FD}tPEJmKpsmVB9qZtY zc}<Ykh?B};=cT8o$2Bl8a6wztC#*GGLyR{b#=%L-AYC}<f2NHWEPRp@v87R$?(xQn z90w;!5DU1rw$>&m;Pn3p(jn7PU0rRH6L1P=a0A^&M<$z`fD;LB2yt<7>vXY4a#lG3 zCvr1~UVX?_F!bspIXPKR?QKN|%O!(wffL*W`m_F!4wD<WiRYOdz_ys0nreZYz!+2R z?Cd;HsZ@IUI7eo>>Ksd~zNxHc%A5gCaKqazNGgbX#C;+q#;9oiBsjtC7okW&4X*D1 Q?f?J)07*qoM6N<$f~_pvq5uE@ delta 635 zcmV->0)+jm2*(8>iBL{Q4GJ0x0000DNk~Le0000m0000N2nGNE08OjR36UXLe*!m2 zL_t(oN7a|RiyCnd#}~EDA@Le*LRx!KEEHdePZR^<V^u`)iHJookPs!<*`1!=!(DG9 zBoHHMf*jbG(&}QJKj6whnsjF7mk1%L#yd!U!UsWThtJoUeJBV&Uq`?bpapa|;5j%Z zet8SWMx*gnv)O#z>-FZm&~CTif1<abR;%OndR=L?TC+-}a#bporvE$Ta(Rlr)oN7{ zR4Uc8TCJuOi$%FmC~yP%qBrh;2b1LUd6_rZ1TX-OB%94ncmusz09c)AI-Q>I270pq zxH`#X@{)?f;aHeVrfa|7|Au<(ebl2j3y{m@q<B1jL1i|ZZC9(+_eP_!e>I!UAA`Z5 zLhW&vdh})iQmND=7K@!zQ50pn*=%;mVzKy|NF+8Ei{(Qo6q2aD4yi|P768V15sgO2 zR3O0TeSrPDEX%hpm+O<&YJErTN3BP179boBUwS;AGb)lK{S{yz1isr+`%&xBn+1qO zB4=K&_mm3!+BbhrU_PIJf5~Jr3bofE_2|8yz!=gGsr(*bxm@1D^VEB4kGs^v1jZ}? zoOEN@+aVQLlbiK={jJ;WUQ>^~k9zcG0pRjCayp#@-au~_AP@+Q;HEU-4fJLK;7&TS z+wBA1KyUUq?eqCgZ8qBpZ=koJ)oMl9{S#ato&umRdJCc`J~kK(Q7`d>L$1aD>KM1% zJ=E*<9bvcIsr&u@Bb`nsYBZXs9Q>j0z}mln&B>uRp2QeJ1v~&A0>>Pn1IHuu{sAF| VxC+->gP{Nb002ovPDHLkV1kfpDGmSt diff --git a/indra/newview/skins/default/textures/widgets/MarketplaceBtn_Selected.png b/indra/newview/skins/default/textures/widgets/MarketplaceBtn_Selected.png index 33527f852bfba6e892999aa9007e9a8ea49eda66..fbc164123fbb14c0570d5d18c02126453e082870 100644 GIT binary patch delta 1013 zcmV<R0}A}U1-=L&iBL{Q4GJ0x0000DNk~Le0000e0000Z2nGNE0OmPJu8|>Ge*>;b zL_t(oN9~wPOB+!bhGPOQlw{Ec#7m5~c#C&M@h&2`aUrf;=nwD*=u(KKwwofjaN%F* zBCFCHXji$;jM27>nvA+=3q?z{7P>rr->D8J(sB|DGm8dZ$jp56ooCK>IcLV<`2F)j ztI$(u*J8cI_z$m`3^<?H>y1=ae^#EAmzRI9s;atx&Mndf8K7@qih<4Va5|kKoH(to zum9ZG*m%<1+<auE$Uqh{f$f2#sHo^!ZEfwRwzjqpeSLjz`}_O%2L=W#5yu9@0a?fd zw&x7-E@tecx3~9TbaYf18yibnDKZd}OjosF03P@B^c;+gj3`jjVkw*~e=^+!JObeU z(9lrQ4k8QdAPca&yL*3da4=~HktG*Uw;`Zz&LB!#@9OGGp?VW`5Lw7%0tNyBy|c43 zg)&drL1ZD53E0rkptrZTr%>JrJBTb~G6B)K^<XfVLiHqMRb5@3#`1V9BihRPr5#zw zWCGUJ)n!^+TT>{MgpAPTe=}(2VrFJWO0?xYGQMd;7BZQDyt$>NWe>?2ml5*gXncHJ zgu`Jep>+wgjf{+M+K`1zxqupyGbW>ni3tTExLjIV65HF`f7Qamg238(&gE0aH*El@ zWdR~bGME(&QyY^JpAs{8?D2TS#>U1U0oT^nL~(Jkn3|e8#K3VGf8Vqr3z^Ir#NIDc zQ&Y2t3vpRtz2utt6-h0&wzh6*b8}Ppd_IA;^#u=<l=VwHvXJQ}U>YYiTqM1e&`4vG zlam@+!jJj+d9l8}o+WHJ1X|Yl@bIuoTUo!fBMSi2xqvDzM)MKFf!xwdN=n4?^0Ekp zLWUL>7e!N3)6ePYe`&6%gv-k>0M&m2$bk`NHuqB`wgI=YvLf7Wx4^#c1jWIW$qSD5 zw*b*>(|*5SMfZ;8D>_8MsK~R++1XivV}|yO;Q9KxwkHdj%n<VcRimPHL<<qah)}0p zE|-{_oBK#$f*0b8_mCwEu%e<Ojfzvzy`zPyqoX5^g3z!Ve@Y_%VukwQePkh%IfFPj z#7PAgBX<#={!aH_k4+XbWdWjU6m;*19YmJ@fOm;R?hNkWE&dQyqoDsp>>#p`2|2jK z7xx!9;O5hAfUM$I#-|Uv0vew_N=r*0mz9;V&1mT0TxKi{Ga1N2CbBuOpa=2i4QBBj z;8I9#4gJUxOL1&y59#)vOk{HiAzavr1hBwA!crBs_~Yd+!ulF;Psl_z;|nJKI3YK5 j5As^9`xxItCbInkK8Z-+3JfNH00000NkvXXu0mjf`uyP= delta 626 zcmV-&0*(E?2)+d&iBL{Q4GJ0x0000DNk~Le0000W0000N2nGNE0BQwI;gKO(e*!K^ zL_t(YOU;%`YZ_4)hDTkBU8Doz{Vr++uP6$-^&jXD5x0R-O1r5G|AlnXRVk&5$x4%P zG@3?2>IF9~ffgFO?8d&Y4O0sZn#CC^JTMHN?|J>s=bVwG-yazqgV#V2%zM;-e&^iE zJ+dtKTrSr)hr{v1?RKxhtsvHPe}M0Bp2F>u%x3db-1r&_g}y|i(N!!KTZ)7Zy6A-a znPf7V-Ub4J&&g!+I-k#fEEEcpVzDR$)`sJPE;`|U$1PCsi&wc^?xIquXw_<UAQCzl zg3h~H+Xh%>v)M_xTpkz!U3BgSSY$GpNvTvC7y(@fu+RfwFc#@_dW^kSe~o}HI`shI zaCm{i7-J4pBcO{;JwPxRoF@{AF<PVU1K+*!dcCvzh(scn`)bfdryc-*iFrI8AEi>M z(|vTi-L<N!oBQZ=Iyd`j&_$;n08hQS-|s(1`m;l5x7#=W3eapeSBI>pi%va&$K#nH z(GY{tKNQH8yCE8l#`Ms&e{|8g+kqKU4UxY85bE{%R8f?lc*1E9Sw|N-@FxHcA`aCM z&*;7p&_$=-0jJaX2`$kunLQ(*i_X6Spd}jire_3n{XYSC9OG=BVNWy+N6!f8qH}v3 zTdmfYcDtQ3F!K3)ebE8vpo>nrrCP1_1Q#brbP4$wGcdv+3W2r3NI5z%rIT)Hv)Nc$ ztyaWlv%RobEN=wAkSb{V2gqO1N%!`x6c=V-14lp>%wyDlL?_+90GI~UL|An_+5i9m M07*qoM6N<$f*k=Gg8%>k diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml index a0caf802562..7663db2756a 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml @@ -53,7 +53,7 @@ max_dim="125" height="35"> <panel - follows="top|left|right" + follows="all" layout="topleft" left="0" name="marketplace_inbox" @@ -79,18 +79,28 @@ ></button> <panel follows="all" - left="0" + left="10" height="90" - width="250" - top="30" + width="330" + top="35" > - <text - left ="40" - top="15" - align="left" - height="14" - width="100" - >Just a panel</text> + <inventory_panel + bg_opaque_color="DkGray2" + bg_alpha_color="DkGray2" + background_visible="true" + background_opaque="true" + border="false" + bevel_style="none" + follows="all" + height="90" + start_folder="Inbox" + layout="topleft" + left="0" + name="All Items" + sort_order_setting="InventorySortOrder" + show_item_link_overlays="true" + top="0" + width="308" /> </panel> </panel> -- GitLab