summaryrefslogtreecommitdiff
path: root/indra/newview/llagentwearables.cpp
AgeCommit message (Collapse)Author
2010-04-23completed EXT-6721 (Enable UI for user modification of wearable order)Igor Borovkov
- added functionality to change order of wearables - added ad-hoc up and down buttons on a button bar ("up" means closer to the body) - https://jira.secondlife.com/secure/attachment/38464/screenshot-1.jpg - added displaying wearables as sorted by order on the Edit Outfit panel (top list) Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/280/ --HG-- branch : product-engine
2010-04-21Implemented by SL EXT-6722(normal task) - Create modified inventory view for ↵Dmitry Zaporozhan
"my outfits" tab in top-level appearance sidebar (tier 1) llui: - Setting container panel for accordion tab control to dynamically add tabs to accordions. - Added method to dynamically remove accordion tabs. - Added LLIconCtrl image setter. newview: - Class LLOutfitsList - a list of agents's outfits from "My Outfits" inventory category which represents each outfit by an accordion tab with a list of items inside it. - Class LLWearableItemsList - a list of wearable items used in each accordion tab of "My Outfits" tab. - Class LLInventoryItemsList - a base class for LLWearableItemsList that represents inventory items by panels in LLFlatListView. - Class LLPanelInventoryItem - inventory item representation for a flat list. Item icon is set according to item type. - Class LLInventoryCategoriesObserver - an observer used in LLOutfitsList for monitoring changes to "My Outfits" inventory category and updating outfits accordion tabs and list of items for each outfit. Known issues: - Only first outfit tab is displayed in "My Outfits" until this tab is expanded. - Bottom bar buttons and filter field not functioning for "My Outfits" tab since LLOutfitsList still doesn't support selection, filtering and sorting. - "My Outfits" and "Wearing" tabs of "Appearance" side panel might need a common interface to use LLOutfitsList and LLinventoryPanel as tabs in LLPanelOutfitsInventory or "Wearing" tab should be replaces with LLOutfitsList class object i.e. a flat list. On review - https://codereview.productengine.com/secondlife/r/285/ --HG-- branch : product-engine
2010-04-21completed EXT-6719 Utilize the "description" field of outfit wearable links ↵Igor Borovkov
to store order information - COF items get checked for correct ordering when COF is loaded (LLAppearanceMgr::updateAppearanceFromCOF..., LLAppearanceMgr::updateClothingOrderingInfo() ), and also when COF is saved to a new outfit, base outfit. - wearables are arranged in LLAgentWearables in a proper order * updateClothingOrderingInfo() [struggling with naming] does integrity checking and updates "invalid" items (items with wrong, gapped descriptions) * moved LLAgentWearables::makeNewOutfitLinks(...) and LLShowCreatedOutfit to a more natural place (llappearancemgr.cpp), because they use LLAppearanceMgr's methods a lot * changed link_inventory_item(...), added the "new_description" parameter Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/268/ --HG-- branch : product-engine
2010-04-06EXT-6728 : Have LLInventoryFetchItems/DescendentsObserver inherit from a ↵Loren Shih
base abstract LLInventoryFetchObserver class Added a new abstract class LLInventoryFetchObserver from which LLInventoryFetchItems and LLInventoryFetchDescendents inherit. Also changed isEverythingComplete to isFinished and made some other minor superficial changes.
2010-04-06EXT-6727 : Allow LLInventoryObservers to target a single item (instead of a ↵Loren Shih
vector of items) Added new constructors to LLInventoryFetch types to allow passing in a single item.
2010-04-06EXT-4151 : Immediately check if a fetchObserver filter is done, else add to ↵Loren Shih
observer list automatically FetchObservers now take in a list of IDs to check against. Made some naming changes.
2010-04-06EXT-4151 : Immediately check if a fetchObserver filter is done, else add to ↵Loren Shih
observer list automatically Preliminary work to clean up naming conventions.
2010-04-01Automated merge with ssh://hg.lindenlab.com/q/viewer-trunkNyx (Neal Orman)
2010-04-01updating some back-end functionality that will come in handy as we bring the ↵Nyx (Neal Orman)
UI up to date with multiwearables. code reviewed by Seraph and Vir.
2010-03-30automated mergeLoren Shih
2010-03-30EXT-5916 : INFRASTRUCTURE: Move autopopulation code into its own separate classLoren Shih
Moved LLLibraryOutfitsFetch and LLInitialWearablesFetch
2010-03-30Automated merge with ssh://hg.lindenlab.com/q/viewer-trunkNyx (Neal Orman)
2010-03-30EXT-3415 : INFRASTRUCTURE : Move LLInventoryCollectFunctors to separate classLoren Shih
Moved all the LLInventoryModelCOllectFunctors from LLInventoryModel to LLInventoryFunctions
2010-03-30EXT-6633 enable demo of multiwearables codeNyx (Neal Orman)
cleaning up a merge conflict where HG didn't quite do the right thing.
2010-03-30Automated merge with ssh://hg.lindenlab.com/q/viewer-trunkNyx (Neal Orman)
2010-03-30EXT-6633 enable basic multiwearables demoNyx (Neal Orman)
Fixed several areas of code that were not multi-wearables enabled. Specifically allowed for the wearing of created outfits that had links to multiple items of the same type. Such outfits can be created by dragging multiple items of the same type into an unworn outfit folder. When you wear the outfit, all items (up to 5 per type) should be worn. Does not affect right-click options or other buttons. Code reviewed by Vir.
2010-03-29EXT-5940 : Typedef all vector<LLUUID>'sLoren Shih
Superficial cleanup to change all typedef std::vector<LLUUID> to use a common typedef uuid_vec_t instead.
2010-03-29MergeLoren Shih
2010-03-29EXT-6536 : Make LLVOAvatarSelf a singletonLoren Shih
Superficial cleanup to replace all instances of "gAgentAvatar" with "gAgentAvatarp".
2010-03-29EXT-6536 : Make LLVOAvatarSelf a singletonLoren Shih
Superficial cleanup to replace all instances of "LLVOAvatarSelf *avatarp = gAgent.getAvatarObject" with "gAgentAvatar".
2010-03-29For EXT-4666: changed LLAppearanceManager to LLAppearanceMgr throughoutBrad Payne (Vir Linden)
2010-03-29mergeBrad Payne (Vir Linden)
2010-03-26EXT-6536 : Make LLVOAvatarSelf a singletonLoren Shih
Superficial cleanup so that all instances of gAgent.getAvatarObject() use "LLVOAvatarSelf *avatarp = gAgent.getAvatarObject".
2010-03-26EXT-6536 : Make LLVOAvatarSelf a singletonLoren Shih
Lots of superficial cleanup, particularly around "if (" formatting. Removed LLAgent as a friend of LLAgentCamera and refactored to use accessors.
2010-03-25automated mergeLoren Shih
2010-03-25EXT-6536 : Make LLVOAvatarSelf a singletonLoren Shih
Minor superficial cleanup to have all references to getAvatarObject use LLVOAvatarSelf *avatarp = gAgent.getAvatarObject()
2010-03-25EXT-6539 : Take out mAvatarObject from LLAgentWearablesLoren Shih
Removed mAvatarObject / gAgentWearables.mAvatarObject since it's redundant with gAgent.mAvatarObject.
2010-03-23EXT-2959 : Full out camera functions from llagent to llagentcameraLoren Shih
First check-in; only compiles, nothing more.
2010-03-23Merge from viewer-2-0Tofu Linden
2010-03-19cleaning up dead code, commentsBrad Payne (Vir Linden)
2010-03-19EXT-6445 After copying an item, changes to new item affect old itemNyx (Neal Orman)
Since multiple inventory items can refer to the same asset ID, we needed to revert changes to old_wearable (indexed by asset ID) after saving changes made to a wearable to a new asset ID. This prevents user confusion around unsaved changes. Code reviewed by vir.
2010-03-17EXT-6252 : "Duplicate items (not links) in inventory are both displayed in ↵Loren Shih
bold as (worn) when only one is actually worn" Simple special-case fix for this specific issue, although I added a comment to llwearablelist.h that eventually the whole LLWearableList class will need some redesign. Core issue is that you can have multiple itemIDs pointing to the same assetID and LLWearableList doesn't account for this possibility during lookup-wearable-by-assetID operations.
2010-03-16merge from viewer-2-0Tofu Linden
2010-03-15EXT-6010 Appearance reverts to an old outfit while attempting to wear new outfitNyx (Neal Orman)
Added code to suppress local composite updates while wearables are loaded. This makes sure that we don't update your appearance until all your wearables are added to gAgentWearables. Hackish for 2.0, but will be inherently better for 2.1 code reviewed by vir.
2010-03-10First draft of changes for avatar outfit panel, so PE can start working on it.Nyx (Neal Orman)
Demo code, will get cleaned up / extended through future work on the project - just need to check it in to collaborate.
2010-03-02EXT-5547 : Autopopulation broken due to new web deploy accountsLoren Shih
EXT-5673 : Autopopulation: Created outfits copy subfolder contents as well as immediate folder contents EXT-5632 : Autopopulation is including subfolders even if those aren't outfits DEV-46683 : Post-Deployment Cleanup This is a series of changes to fix autopopulation behavior that was broken due to the new surprise web avatar deploy. That deploy surfaced a number of serious issues with the original AP code. I did not write this code and the person who did is no longer here, so I've done my best to fix those issues up. This is a fairly comprehensive set of changes, but it's necessary given the poor state of the pre-existing code and how many problems it caused the new web avatar deploy. This new version of the AP code will: (1) Look for a Library->Clothing->Initial Outfits folder and use that if it exists (2) Not create outfits out of folders that aren't complete outfits (3) No longer string match against "More Outfits" in order to ignore outfits (4) No longer recursively collect folder contents when creating an outfit (i.e. will only look at direct descendents)
2010-02-25For EXT-5333: Bodyparts missing from appearance and COF. ↵Brad Payne (Vir Linden)
createStandardWearables() now COF-based
2010-02-22Work in progress on EXT-5333: Cleanup.Brad Payne (Vir Linden)
2010-02-18Work in progress on EXT-5333: Bodyparts missing from appearance and COFBrad Payne (Vir Linden)
2010-02-17mergeBrad Payne (Vir Linden)
2010-02-17Work in progress on EXT-5333: Bodyparts missing from appearance and COFBrad Payne (Vir Linden)
2010-02-17EXT-5364 New users appear fully naked before resolving.Nyx (Neal Orman)
We were pushing off redrawing your local texture composite while waiting for a baked texture cache response from the server. If this happens when your textures come in, your avatar will de-cloud but the composite will not update, resulting in nudity. Changed the logic so we will re-generate a local composite even if we have a pending baked texture query (we still suppress uploading the composite until a response is received). Verified several times that this does fix the issue. Will update the JIRA with reliable repro. Q verified issue is worthy of a hotfix checkin Code has been reviewed by vir, bigpapi, and seraph This is necessary for new user experience. Patch should be contained enough to be low-risk. Contact Nyx if any further questions.
2010-02-12mergeBrad Payne (Vir Linden)
2010-02-12Log spam cleanupBrad Payne (Vir Linden)
2010-02-12For EXT-5259: Major regression in load time for new users from 1.23 to 2.0. ↵Brad Payne (Vir Linden)
Moved autopopulate to after avatar appearance resolves
2010-02-12CID-218Tofu Linden
Checker: REVERSE_INULL Function: LLAgentWearables::setWearableOutfit(const LLDynamicArray<LLPointer<LLInventoryItem>, (int)32> &, LLDynamicArray<LLWearable *, (int)32>&, int) File: /indra/newview/llagentwearables.cpp
2010-02-12CID-218Tofu Linden
Checker: REVERSE_INULL Function: LLAgentWearables::setWearableOutfit(const LLDynamicArray<LLPointer<LLInventoryItem>, (int)32> &, LLDynamicArray<LLWearable *, (int)32>&, int) File: /indra/newview/llagentwearables.cpp
2010-02-11EXT-5343 appearance editor "save as" does not affect Current outfitNyx (Neal Orman)
changed logic of the save as button to copy a link from the newly created inventory item to the current outfit folder. This makes your changes persist on relog. Reviewed by Vir.
2010-02-11CID-153Tofu Linden
Checker: NULL_RETURNS Function: LLAgentWearables::makeNewOutfit(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&, const LLDynamicArray<int, (int)32> &, const LLDynamicArray<int, (int)32> &, int) File: /indra/newview/llagentwearables.cpp
2010-02-10CID-97Tofu Linden
Checker: FORWARD_NULL Function: LLAgentWearables::setWearableOutfit(const LLDynamicArray<LLPointer<LLInventoryItem>, (int)32> &, LLDynamicArray<LLWearable *, (int)32>&, int) File: /indra/newview/llagentwearables.cpp