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
Resident-submitted patch, cleaned up so it matches style and compiles/builds
well. Appears to work for stated goals but will need some more UI work to
ensure consistency.
WIP checkin, will be code reviewed before pushing.
* Moved initialization (with start fetch) of the LLFilteredWearableListManager into LLPanelOutfitEdit::onOpen
* LLFilteredWearableListManager::changed now ignores non-related inventory changes (CALLING_CARD, GESTURE, SORT)
Tried to fix an issue with empty Gesture list on startup with clean inventory cache.
Reason: logic is based on count of "inventory changed" events. In case of there was too many requests requested items can be removed from queue by mistake.
* Increased a number of the "change()" method calls to wait fetched items.
Unfortunately this only works if My Inventory category does not have too many children. An does not work if it has 2000+ items
Logic to remove item from the incompleted list should be based on timer and number of attempts.
Also add some debug information about fetching inventory category and its content to log.
Reviewed by Brad Payne at https://codereview.productengine.com/secondlife/r/456/
--HG--
branch : product-engine
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
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! :) )
First pass - eliminated all references to gFloaterCustomize except
those that call saveIfDirty. Haven't compiled, haven't reviewed.
Will clean up in further patches and get reviewed before pushing.
Includes: DEV-45800, DEV-45803 - Grid Manager
DEV-45804 - SLURL refactor
DEV-45801 - Single username field (for Identity Evolution and SLE Ldap)
Also,
Includes Certificate Management code allowing the viewer to connect to
grids not signed by a well know key (just like any web browser). Also
contains secure storage for things like passwords.
The security/certificate code is modular with the intention of adding modules
to directly use the operating system facilities for crypto if available.
(that's much more secure than we'll ever be)
Also, refactor of voice to modularize it, and add a diamondware voice module.
CR: Aimee, James, Lynx, Mani, Karina and a list of thousands
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.
- 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
Took out enums and flags from LLInventory into LLInventoryDefines
Did a bunch of header file reformatting for LLInventory.h
Change made to simulator files as well.
Minor cleanup to start using DEFAULT_SORT_ORDER versus plain text "InventorySortOrder" in a few plaecs in the code. Makes this sorting code a lot easier to debug.
EXT-5399 : Ensemble folder typing code has been reenabled and is mangling inventory folders
This fixes two issues:
1. A very serious issue where ensemble auto-typing code was somehow uncommented/reintroduced into viewer2. This randomly changes folder types (sometimes into what older viewers will treat as system folders; i.e. you can't delete or move them).
2. A minor issue where sorting was not correctly identifying what was a system folder or not.
-- cleanup: removed deprecated code added for previous sollution to support custom sorting of favorite landmarks.
For now previous implementation is removed, bug is FIXED.
--HG--
branch : product-engine
-- implemented cleanning of stored sort indexes to remove ones for landmarks not in Favorites while disconnecting viewer
--HG--
branch : product-engine
-- Implemented storage to save favorite landmarks order in local file.
-- Previously implemented solution to store sort index in Landmark's name replaced with using the storage.
For now all landmarks are shown as is (with sort LM prefix if it exists).
-- Some deprecated methods are marked to be removed later
-- Reverted fixes for: EXT-4306, EXT-1237, EXT-1615 as not necessary, these bugs should be verified again.
--HG--
branch : product-engine