From eb7ab130003ce1e8f005e3a0d4263987f08759ac Mon Sep 17 00:00:00 2001 From: Alexander Gavriliuk Date: Mon, 9 Oct 2023 23:39:45 +0200 Subject: SL-20288 Lags in Appearance floater --- indra/newview/lloutfitslist.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'indra/newview/lloutfitslist.h') diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h index 66b3165169..7d212420a2 100644 --- a/indra/newview/lloutfitslist.h +++ b/indra/newview/lloutfitslist.h @@ -116,8 +116,20 @@ protected: void onOutfitsRemovalConfirmation(const LLSD& notification, const LLSD& response); virtual void onChangeOutfitSelection(LLWearableItemsList* list, const LLUUID& category_id) = 0; + static void onIdle(void* userdata); + void onIdleRefreshList(); + + struct + { + LLUUID CategoryUUID; + uuid_vec_t Added; + uuid_vec_t Removed; + uuid_vec_t::const_iterator AddedIterator; + uuid_vec_t::const_iterator RemovedIterator; + } mRefreshListState; + bool mIsInitialized; - LLInventoryCategoriesObserver* mCategoriesObserver; + LLInventoryCategoriesObserver* mCategoriesObserver; LLUUID mSelectedOutfitUUID; // id of currently highlited outfit LLUUID mHighlightedOutfitUUID; -- cgit v1.2.3 From 45a1a94a35142da71c507c724ae4d1498217e449 Mon Sep 17 00:00:00 2001 From: Alexander Gavriliuk Date: Tue, 10 Oct 2023 23:21:08 +0200 Subject: SL-20432 Filtering My Outfits with big number of items freezes UI --- indra/newview/lloutfitslist.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'indra/newview/lloutfitslist.h') diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h index 7d212420a2..43c3ba75b5 100644 --- a/indra/newview/lloutfitslist.h +++ b/indra/newview/lloutfitslist.h @@ -237,7 +237,7 @@ public: //void performAction(std::string action); - /*virtual*/ void setFilterSubString(const std::string& string); + /*virtual*/ void onFilterSubStringChanged(const std::string& new_string, const std::string& old_string); /*virtual*/ void getSelectedItemsUUIDs(uuid_vec_t& selected_uuids) const; @@ -307,12 +307,7 @@ private: * Called upon list refresh event to update tab visibility depending on * the results of applying filter to the title and list items of the tab. */ - void onFilteredWearableItemsListRefresh(LLUICtrl* ctrl); - - /** - * Highlights filtered items and hides tabs which haven't passed filter. - */ - void applyFilter(const std::string& new_filter_substring); + void onRefreshComplete(LLUICtrl* ctrl); /** * Applies filter to the given tab -- cgit v1.2.3 From a1695760821b4d19af204918a1764d9fca3e99b9 Mon Sep 17 00:00:00 2001 From: Maxim Nikolenko Date: Tue, 24 Oct 2023 19:31:20 +0300 Subject: SL-20468 Add ability to overwrite an existing outfit --- indra/newview/lloutfitslist.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview/lloutfitslist.h') diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h index 66b3165169..49f77e945d 100644 --- a/indra/newview/lloutfitslist.h +++ b/indra/newview/lloutfitslist.h @@ -147,6 +147,9 @@ protected: static void renameOutfit(const LLUUID& outfit_cat_id); + void onThumbnail(const LLUUID &outfit_cat_id); + void onSave(const LLUUID &outfit_cat_id); + private: LLOutfitListBase* mOutfitList; }; @@ -178,6 +181,7 @@ private: void onAdd(); void onTakeOff(); void onRename(); + void onSave(); void onCreate(const LLSD& data); bool onEnable(LLSD::String param); bool onVisible(LLSD::String param); -- cgit v1.2.3 From afc08372b10d9c07c90d176dc45f8db8244215c9 Mon Sep 17 00:00:00 2001 From: Maxim Nikolenko Date: Tue, 31 Oct 2023 23:01:16 +0200 Subject: SL-20537 Add hover-preview for My Outfit list --- indra/newview/lloutfitslist.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'indra/newview/lloutfitslist.h') diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h index 49f77e945d..6eeccddb07 100644 --- a/indra/newview/lloutfitslist.h +++ b/indra/newview/lloutfitslist.h @@ -31,6 +31,7 @@ #include "llpanel.h" // newview +#include "llaccordionctrltab.h" #include "llinventorymodel.h" #include "lllistcontextmenu.h" #include "llpanelappearancetab.h" @@ -197,7 +198,27 @@ protected: /*virtual*/ void onUpdateItemsVisibility(); }; -/** +class LLOutfitAccordionCtrlTab : public LLAccordionCtrlTab +{ +public: + struct Params : public LLInitParam::Block + { + Optional cat_id; + Params() : cat_id("cat_id") {} + }; + + virtual BOOL handleToolTip(S32 x, S32 y, MASK mask); + + protected: + LLOutfitAccordionCtrlTab(const LLOutfitAccordionCtrlTab::Params &p) + : LLAccordionCtrlTab(p), + mFolderID(p.cat_id) + {} + friend class LLUICtrlFactory; + + LLUUID mFolderID; +}; + /** * @class LLOutfitsList * * A list of agents's outfits from "My Outfits" inventory category -- cgit v1.2.3