Commit Graph

172 Commits (8f892d0f36fda170a5cecf0aea89887d6d0e45ef)

Author SHA1 Message Date
Sergei Litovchuk 887b2858d4 EXT-7779 FIXED Changed wearing panel from inventory panel to a flat list 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-11 20:02:42 +03:00
Mike Antipov b12c98e48c EXT-7777 Just added more descriptive comment.
--HG--
branch : product-engine
2010-06-21 12:49:04 +03:00
Mike Antipov 89825da530 EXT-7777 WIP Implemented loading indicator for "Save" and "Save As" actions 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-18 17:28:32 +03:00
Mike Antipov 9745a0a9e4 EXT-7777 WIP Added several cases to show Loading indicator in "My Outfits:"
* 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-17 17:03:05 +03:00
Mike Antipov eb973cf6b2 EXT-7755 FIXED Updated condition to not show "No Outfit" as a status when 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-17 16:51:04 +03:00
Mike Antipov 300cb34291 EXT-7794 FIXED Implemented a common-used notification about wearing outfit 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-15 12:38:30 +03:00
Vadim Savchuk 9ad26f5e8f EXT-7611 FIXED Enabled the "Create new [TYPE]" context menu item for non-worn items in the outfit editor.
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/535/

--HG--
branch : product-engine
2010-06-09 14:25:22 +03:00
Leyla Farazha 56da8017d9 EXT-7210 Baked textures should only be updated when outfit changes are saved or outfit editor is exited.
reviewed and contributed to by Nyx
2010-06-08 14:52:22 -07:00
Vadim Savchuk d17b616b1c EXT-7627 FIXED Wearing an item now doesn't open the wearable editing panel.
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-08 17:01:29 +03:00
Loren Shih 0309a18d1a EXT-7628 FIXED Don't cache lower res baked textures
Changed hash mangling algorithm slightly.
2010-06-04 10:23:11 -04:00
Brad Payne (Vir Linden) d213f8635b merge 2010-06-03 14:47:32 -04:00
Loren Shih a3246a3016 automated merge 2010-06-03 14:40:10 -04:00
Loren Shih 4f95701895 EXT-7504 WIP Force decloud after timeout using lower res textures
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-03 14:25:32 -04:00
Brad Payne (Vir Linden) d64438c132 merge 2010-06-03 13:37:13 -04:00
Vadim Savchuk 671625695f EXT-6726 WIP Added more menus to the Appearance SP.
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-06-02 20:46:16 +03:00
Brad Payne (Vir Linden) 5a8063a0b8 texture logging - WIP 2010-05-28 17:58:29 -04:00
Nyx (Neal Orman) e07deaa3da AVP-44 WIP architectural cleanup for multi-wearables
Implemented some resident-suggested tweaks to better support multiwearables

code reviewed by Seraph
2010-05-28 11:38:37 -04:00
Nyx (Neal Orman) cd46893057 EXT-7209 EXT-7366 EXT-7213 FIX EXT-7392 WIP
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-27 14:40:49 -04:00
Nyx (Neal Orman) ec7dbc7040 EXT-7213 WIP kill old appearance editor and traces of code
Removed last remaining references to gFloaterCustomize.
Next step: kill the files themselves.
Will be reviewed when complete, before pushing
2010-05-26 18:22:04 -04:00
Nyx (Neal Orman) 1084bfef00 EXT-7213 WIP kill old appearance editor and all traces of code
part 2 - correcting a few points that would have broken the build.
Final version will be reviewed before pushing.
2010-05-26 13:27:19 -04:00
Vadim Savchuk cb05897152 EXT-6726 WIP Added handlers for most of Appearance SP context/gear menus.
Reviewed by Mike Antipov and Nyx at https://codereview.productengine.com/secondlife/r/428/

--HG--
branch : product-engine
2010-05-25 14:17:11 +03:00
Nyx (Neal Orman) 8025997c89 AVP-91 WIP Fix baked texture hashing
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-24 13:48:52 -04:00
Nyx Linden 8487341b0f AVP-44 WIP Back-end support for multiwearables
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-19 19:48:23 -04:00
Loren Shih adc0aba2dd EXT-7305 : FIXED : Changed LLWearableDictionary to LLWearableType
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-11 15:08:29 -04:00
Vadim Savchuk d39ef5ce6f Implemented task EXT-7156 (Appearance panel: "Wear" button should become 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-05-05 13:19:24 +03:00
Loren Shih 29e1804139 automated merge 2010-04-28 13:37:21 -04:00
Igor Borovkov 181315db32 completed EXT-6721 (Enable UI for user modification of wearable order)
- 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-23 14:35:24 +03:00
Loren Shih 6e4fd99df8 Various fixes for multi-attachments support. Ported over from https://hg.lindenlab.com/seraphlinden/seraph-viewer-for-server-1.40/ 2010-04-21 17:03:04 -04:00
Dmitry Zaporozhan 2ce7556e53 Implemented by SL EXT-6722(normal task) - Create modified inventory view for "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-21 15:44:24 +03:00
Igor Borovkov ccd0418ddf completed EXT-6719 Utilize the "description" field of outfit wearable links 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-21 12:43:03 +03:00
Loren Shih f096f02278 EXT-6728 : Have LLInventoryFetchItems/DescendentsObserver inherit from a 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-06 18:58:26 -04:00
Loren Shih c3d9316dff EXT-6727 : Allow LLInventoryObservers to target a single item (instead of a vector of items)
Added new constructors to LLInventoryFetch types to allow passing in a single item.
2010-04-06 17:30:23 -04:00
Loren Shih cdbdb11686 EXT-4151 : Immediately check if a fetchObserver filter is done, else add to observer list automatically
FetchObservers now take in a list of IDs to check against.
Made some naming changes.
2010-04-06 14:47:20 -04:00
Loren Shih 785d4c34b6 EXT-4151 : Immediately check if a fetchObserver filter is done, else add to observer list automatically
Preliminary work to clean up naming conventions.
2010-04-06 10:19:15 -04:00
Nyx (Neal Orman) 7cce085480 Automated merge with ssh://hg.lindenlab.com/q/viewer-trunk 2010-04-01 11:24:23 -04:00
Nyx (Neal Orman) 6eeb4247bb updating some back-end functionality that will come in handy as we bring the UI up to date with multiwearables.
code reviewed by Seraph and Vir.
2010-04-01 11:24:04 -04:00
Loren Shih d99a7d2f1d automated merge 2010-03-30 17:47:16 -04:00
Loren Shih 2e05cc588f EXT-5916 : INFRASTRUCTURE: Move autopopulation code into its own separate class
Moved LLLibraryOutfitsFetch and LLInitialWearablesFetch
2010-03-30 17:39:16 -04:00
Nyx (Neal Orman) 98695056c2 Automated merge with ssh://hg.lindenlab.com/q/viewer-trunk 2010-03-30 16:49:35 -04:00
Loren Shih 909091cc0c EXT-3415 : INFRASTRUCTURE : Move LLInventoryCollectFunctors to separate class
Moved all the LLInventoryModelCOllectFunctors from LLInventoryModel to LLInventoryFunctions
2010-03-30 15:56:15 -04:00
Nyx (Neal Orman) 6d82b0c0a2 EXT-6633 enable demo of multiwearables code
cleaning up a merge conflict where HG didn't quite do the right thing.
2010-03-30 15:30:59 -04:00
Nyx (Neal Orman) cc3f4c1f59 Automated merge with ssh://hg.lindenlab.com/q/viewer-trunk 2010-03-30 15:20:37 -04:00
Nyx (Neal Orman) dbcd12a4d1 EXT-6633 enable basic multiwearables demo
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-30 15:17:14 -04:00
Loren Shih 114e5ca083 EXT-5940 : Typedef all vector<LLUUID>'s
Superficial cleanup to change all typedef std::vector<LLUUID> to use a common typedef uuid_vec_t instead.
2010-03-29 16:33:35 -04:00
Loren Shih b6e7850c0a Merge 2010-03-29 12:30:09 -04:00
Loren Shih 58d76a9ecf EXT-6536 : Make LLVOAvatarSelf a singleton
Superficial cleanup to replace all instances of "gAgentAvatar" with "gAgentAvatarp".
2010-03-29 12:11:51 -04:00
Loren Shih 94e6e10739 EXT-6536 : Make LLVOAvatarSelf a singleton
Superficial cleanup to replace all instances of "LLVOAvatarSelf *avatarp = gAgent.getAvatarObject" with "gAgentAvatar".
2010-03-29 12:00:26 -04:00
Brad Payne (Vir Linden) 4ff53b9066 For EXT-4666: changed LLAppearanceManager to LLAppearanceMgr throughout 2010-03-29 11:02:39 -04:00
Brad Payne (Vir Linden) 783eb286a6 merge 2010-03-29 10:53:22 -04:00
Loren Shih 46fe5d49ca EXT-6536 : Make LLVOAvatarSelf a singleton
Superficial cleanup so that all instances of gAgent.getAvatarObject() use "LLVOAvatarSelf *avatarp = gAgent.getAvatarObject".
2010-03-26 14:33:48 -04:00