summaryrefslogtreecommitdiff
path: root/indra/newview/llagentwearables.cpp
AgeCommit message (Collapse)Author
2010-08-12merge from viewer-releaseTofu Linden
2010-08-06EXT-8577 WIP Context menu items for multi-attachments.Vadim Savchuk
Done: - 1. Dropped the obsolete "MultipleAttachments" setting. - 2. Added an "Add" item to the following attachment-related context menus: * My Appearance (ex-My Outfits) context menu. * Edit Outfit -> Add More context menu. * Object in-world context menu. * Inventory context menu. * Object inspector gear menu. - 3. Modified "Attach To / Attach To HUD" to perform the "add" instead of "replace" action. TODO: - Ability to attach multiple objects at once from the Add More panel (bulk attach). - Make sure there's no memleak when you click Wear/Attach in the in-world object context menu and the callback isn't invoked (because e.g. avatar fails to get close enough to the object). Issues: 0. I'm not sure whether LLAgentWearables::userAttachMultipleAttachments() should replace attachments or add them. Assumed the former. 1. I couldn't verify that adding objects from the object inspector menu works because I either could wear an object or see its inspector, not both. 2. > 1. Right-click on an object in your inventory and select "Wear". > VERIFY: Attaches the object and replaces whatever's there; asks for > confirmation before replacing an existing object. I think this is impossible to implement because we don't know in advance what point the object will be attached to, so we can't display a confirmation dialog. Reviewed by Seraph at https://codereview.productengine.com/secondlife/r/843/ --HG-- branch : product-engine
2010-08-06EXT-8539 FIXED Fixed title of alpha mask not save if renaming it from ↵Andrew Dyukov
'Editing' panel. Bug happened because name change was not explicitly listed as sufficient reason to save a wearable. So saving failed for alpha masks with only names changed. Other wearables didn't have this problem because they passed precondition even if only name was changed thanking to checks that included visualparams. - Made name change explicitly a sufficient reason to proceed with saving a wearable. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/840/ --HG-- branch : product-engine
2010-07-15EXT-8283 FIX - allow saveWearable to change name of wearable, split off ↵Brad Payne (Vir Linden)
logic for saveAs case. Some remaining UI issues will be filed separately. Reviewed by Nyx
2010-07-06CID-485Tofu Linden
Checker: NULL_RETURNS Function: LLAgentWearables::setWearableName(const LLUUID &, const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&) File: /indra/newview/llagentwearables.cpp
2010-07-06CID-484Tofu Linden
Checker: NULL_RETURNS Function: LLAgentWearables::animateAllWearableParams(float, int) File: /indra/newview/llagentwearables.cpp
2010-07-06CID-486Tofu Linden
Checker: NULL_RETURNS Function: LLAgentWearables::revertWearable(LLWearableType::EType, unsigned int) File: /indra/newview/llagentwearables.cpp
2010-06-24EXT-7747 FIXED Turn on multiattachments for 2.1 as debug settingLoren Shih
This #ifdef is now keyed to MultipleAttachments debug setting
2010-06-24EXT-7818 FIXED Click on Take Off on my shoes fro inventory doesn't remove shoeLoren Shih
Added additional logic to tell if you're in edit outfit mode, removed some bad code that was causing removed wearables to never send out an appearance update.
2010-06-11EXT-7779 FIXED Changed wearing panel from inventory panel to a flat list ↵Sergei Litovchuk
similar to My Outfits view. - Added common interface for My Outfits and Wearing tabs. - Changed LLPanelOutfitsInventory to use common interface for My Outfits and Wearing tabs. - Removed dependency on outfits side panel from inventory bridge context menus. - Removed unused LLShowCreatedOutfit class from llagentwearables.cpp. - Restored opening newly created outfit in My Outfits tab. - Fixed worn items indication for Wearing tab items. Revieved by Neal Orman at https://codereview.productengine.com/secondlife/r/604/. --HG-- branch : product-engine
2010-06-21EXT-7777 Just added more descriptive comment.Mike Antipov
--HG-- branch : product-engine
2010-06-18EXT-7777 WIP Implemented loading indicator for "Save" and "Save As" actions ↵Mike Antipov
in "My Outfits" & "Edit Outfit" Panels. EXT-7929 FIXED Updated functionality of attaching object: loading indicator gets hidden when attaching is completed. - Fixed crash when accessing singleton on application exit. - Updated functionality of attaching object: loading indicator was not hidden. * Reason: link to attachment was created without next appearance updating. * Fix: passed "true" into LLAppearanceMgr::addCOFItemLink to call LLAppearanceMgr::updateAppearanceFromCOF when attachments is completed. (Like for clothing). Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/611/ --HG-- branch : product-engine
2010-06-17EXT-7777 WIP Added several cases to show Loading indicator in "My Outfits:"Mike Antipov
* Outfit is loading for the first time * After user clicks: ** Item Context menu > Add ** Item Context menu > Replace Known Issues: 1. For multi-wearable indicator will disappear after first item from the batch is worn. Did not fix this to not affect the stability before 2.1 release. 2. To show loading indicator first time we have to notify subscribers of LLAgentWearables. For now this is done from the deprecated LLAgentWearables::processAgentInitialWearablesUpdate Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/602/ --HG-- branch : product-engine
2010-06-17EXT-7755 FIXED Updated condition to not show "No Outfit" as a status when ↵Mike Antipov
outfit is changing. Implementation details: * Added flag to LLAgentWearables to determining that outfit is changing. Synchronizing it with mLoadingStartedSignal and mLoadedSignal signals. * Check this flag when there is no outfit set to show empty title when outfit is being changed. * Also updated condition to disable "Wear" button when outfit is being changed. Additional improvements: * Removed reference to parent LLSidepanelAppearance from the LLPanelOutfitsInventory. * Now LLSidepanelAppearance is subscribed to mLoadingStartedSignal and mLoadedSignal to update its loading indicator. Known Issue: * When new outfit is being worn its name is shown in title for a short moment (loading indicator is shown at this time). Then it is changed with an empty title and is shown when outfit is already worn. If necessary it should be investigated and fixed in scope of another issue. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/593/ --HG-- branch : product-engine
2010-06-15EXT-7794 FIXED Implemented a common-used notification about wearing outfit ↵Mike Antipov
to display loading indicator. Details: * Added signal "Wearable Loading Started" in AgentWearables (in parallel with "Wearables Loaded") * Now it is raised from the LLAppearanceMgr::wearInventoryCategory. Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/583/ --HG-- branch : product-engine
2010-06-09EXT-7611 FIXED Enabled the "Create new [TYPE]" context menu item for ↵Vadim Savchuk
non-worn items in the outfit editor. Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/535/ --HG-- branch : product-engine
2010-06-08EXT-7210 Baked textures should only be updated when outfit changes are saved ↵Leyla Farazha
or outfit editor is exited. reviewed and contributed to by Nyx
2010-06-08EXT-7627 FIXED Wearing an item now doesn't open the wearable editing panel.Vadim Savchuk
Fix: - Save the UUID of a newly created wearable to start editing it right after it gets worn. This approach replaces a temporary hack that invoked the editing panel whenever an item gets worn (if the Appearance SP is opened at the time). The hack only happened to work sometimes because the editing panel failed to open. Other changes: - Removed a check for inventory item completeness from LLAgentWearables::editWearable(). because the check often fails and doesn't appear to be needed at all. - Added warning messages to LLAgentWearables::editWearable() so that it's easier to debug. - Replaced duplicated code in LLPanelOutfitEdit::onEditWearableClicked() with a call to gAgentWearables.editWearable(). Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/529/ --HG-- branch : product-engine
2010-06-04EXT-7628 FIXED Don't cache lower res baked texturesLoren Shih
Changed hash mangling algorithm slightly.
2010-06-03mergeBrad Payne (Vir Linden)
2010-06-03automated mergeLoren Shih
2010-06-03EXT-7504 WIP Force decloud after timeout using lower res texturesLoren Shih
EXT-7626 FIXED LLTexLayer header file cleanup EXT-7628 FIXED Don't cache lower res baked textures Added more information into the texture debug view. Mangled hash when uploading lower res baked textures so they're not cached Lots of superficial cleanup on lltexlayer and associated classes. Removed some unused functions and member variables as well.
2010-06-03mergeBrad Payne (Vir Linden)
2010-06-02EXT-6726 WIP Added more menus to the Appearance SP.Vadim Savchuk
Done: - Implemented creating new wearables via My Outfits gear menu. - Implemented renaming/removing/editing an outfit via My Outfits context menu. - Implemented "Attach to..." / "Attach to HUD..." context submenus. - Now disabling (instead of hiding) irrelevant wearable context menu items. - Added "Take Off / Detach" context menu item that's shown for clothes and attachments. Useful if you selected a bunch of items and want to take them all off. - Fixed taking off an outfit (not all wearables were taken off because of a wrong inventory collector). - Fixed crash when editing a skirt (reference to a missing string). - In LLWearableItemsList::ContextMenu::updateItemsVisibility renamed variables and introduced MASK_UNKNOWN per Nyx's request. Known issues: - "Attach to..." context menus may be displayed partially off-screen (there is the same bug in the inventory panel). - The way we invoke wearable editing panel after the wearable gets created is currently a hack. TODO: - Wear / take off / rename / delete an outfit via My Outfits gear menu (currently not implemented because of missing selection support in My Outfits). - Add "Create new..." to body part / clothing context menu in Edit Outfit. - Add "Create new..." submenus to the Edit Outfit gear menu. Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/466/ --HG-- branch : product-engine
2010-05-28texture logging - WIPBrad Payne (Vir Linden)
2010-05-28AVP-44 WIP architectural cleanup for multi-wearablesNyx (Neal Orman)
Implemented some resident-suggested tweaks to better support multiwearables code reviewed by Seraph
2010-05-27EXT-7209 EXT-7366 EXT-7213 FIX EXT-7392 WIPNyx (Neal Orman)
Final fixes for: EXT-7209 camera to enter appearance edit mode EXT-7366 change camera to face front of avatar in previews EXT-7213 kill old appearance editor Partial fix for: EXT-7392 alpha mask checkboxes are not hooked up All changes code reviewed by vir. Following commits (plus this one) reviewed with this checkin: 425d4e960450 15d04b6464a7 e92ae606de12 adc94512ea9b 24577dbbf7a4 6f28b241eae2 (sorry dessie! :) )
2010-05-26 EXT-7213 WIP kill old appearance editor and traces of codeNyx (Neal Orman)
Removed last remaining references to gFloaterCustomize. Next step: kill the files themselves. Will be reviewed when complete, before pushing
2010-05-26EXT-7213 WIP kill old appearance editor and all traces of codeNyx (Neal Orman)
part 2 - correcting a few points that would have broken the build. Final version will be reviewed before pushing.
2010-05-25EXT-6726 WIP Added handlers for most of Appearance SP context/gear menus.Vadim Savchuk
Reviewed by Mike Antipov and Nyx at https://codereview.productengine.com/secondlife/r/428/ --HG-- branch : product-engine
2010-05-24AVP-91 WIP Fix baked texture hashingNyx (Neal Orman)
First pass at fixing baked texture hashing - unified the hash code to one function, made sure all messages pass correct texture indices. Initial code review by Vir
2010-05-19AVP-44 WIP Back-end support for multiwearablesNyx Linden
Changed a lot of areas of code that were not dealing with multiwearables properly. Little functionality changed, as the support mechanisms that were out of date were subtle, but getting closer to no further areas of code that don't properly support multi-wearables. Code reviewed by Vir.
2010-05-11EXT-7305 : FIXED : Changed LLWearableDictionary to LLWearableTypeLoren Shih
Refactored LLWearableDictionary to look more like LLAssetType/LLFolderType/etc. in terms of code design. This required a lot of superficial changes across many files. Overall functionality has not changed.
2010-05-05Implemented task EXT-7156 (Appearance panel: "Wear" button should become ↵Vadim Savchuk
disabled and a loading indicator should appear next to the outfit name). When user presses the "Wear" button in the outfits list, we disable the button and display a perpetual loading indicator until all wearables of the outfit being worn get loaded. Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/347/ --HG-- branch : product-engine
2010-04-28automated mergeLoren Shih
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-21Various fixes for multi-attachments support. Ported over from ↵Loren Shih
https://hg.lindenlab.com/seraphlinden/seraph-viewer-for-server-1.40/
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.