Commit Graph

35 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
Yuri Chebotarev 4a0950e2d7 EXT-7973 FIX Hide "edit" menu item if there are unworn items in selection
reviewed by Mike Antipov by https://codereview.productengine.com/secondlife/r/637/

--HG--
branch : product-engine
2010-06-23 17:46:17 +03:00
Mike Antipov 632c287e9a EXT-7928 FIXED replace member pointer to LLViewerInventoryItem with calling LLInventory::getItem()
Reason: access to deleted pointer to LLViewerInventoryItem in LLWearableItemsList::updateChangedItems.

Fix: replaced member pointer to LLViewerInventoryItem with its LLUUID.

Also improved a bit logic of the updateChangedItems() to avoid redundant iterations.

Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/613/

--HG--
branch : product-engine
2010-06-22 11:57:29 +03:00
Sergei Litovchuk a0258435eb EXT-7609 FIXED item title font size.
- Moved inventory list item panel to a separate file.
- Added xui customizable styles for wearable list items.

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/551/.

--HG--
branch : product-engine
2010-06-19 00:03:44 +03:00
Sergei Litovchuk 8d2ddff47e EXT-7609 FIXED Added worn items indication with bold text.
Fixed updating worn items indication.

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/551/.

--HG--
branch : product-engine
2010-06-17 17:42:09 +03:00
Vadim Savchuk 630296551b EXT-7747 FIXED Disable the "Add" item of wearable context menu when it's inappropriate.
The "Add" item of wearable context menu is now disabled if multiple clothes selected
or when you can't add more wearables of the given type (max number is worn).

Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/595/

--HG--
branch : product-engine
2010-06-16 16:04:26 +03:00
Richard Linden a37e6ce52e merge 2010-06-15 10:25:47 -07:00
Richard Linden 512cd85e09 EXT-7239 FIX Double-click on outfit title should wear outfit, Double-click on item should wear item
decision was to remove double click behavior
2010-06-10 15:22:37 -07:00
Sergei Litovchuk ab399e0cd5 EXT-7609 FIXED Item name (worn) suffix made searchable.
- Wearable list items filter now searches sub-string in whole item title including (worn) suffix.
- Removed (worn) indication from items which don't need it in Edit Outfit. Only worn items can be edited there.
- Added null pointer checks for inventory item member of LLPanelInventoryListItemBase class and its descendants.

Reviewed by Vadim Savchuk https://codereview.productengine.com/secondlife/r/551/.

--HG--
branch : product-engine
2010-06-10 22:49:25 +03:00
Vadim Savchuk 680ef887a2 EXT-7625 FIXED Removed inappropriate items from the Add Wearables panel context menu.
We can now distinguish LLWearableItemsList instances used in My Outfits
from the one used in the Add Wearable panels, and show/enable different menu items for them.

Being limited in time, I implemented this via a XUI parameter called "standalone":
the Add Wearable list is standalone, the others aren't.
Although it would be of course more flexible to have separate subclasses.

--HG--
branch : product-engine
2010-06-11 17:47:11 +03:00
Vadim Savchuk c757446ac7 Merge from default branch
--HG--
branch : product-engine
2010-06-11 14:10:13 +03:00
Andrew Dyukov 968c7cf906 EXT-7511 FIXED Resolved newly reported problems in appearance UI
- Selection top cropping problem reproduces only for some systems and is caused by deeper problems in flatlist, so in this case it was fixed via workaround (increasing of item pad in flatlists) and the cause of it is in new ticket- EXT-7752 (Flatlist selection is a bit different on different systems).

- '+' button now has a 3 px pad from right for consistensy with "wrench" from other items.

Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/549/

--HG--
branch : product-engine
2010-06-10 21:33:07 +03:00
Sergei Litovchuk d730010434 FIXED win build.
--HG--
branch : product-engine
2010-06-10 17:24:37 +03:00
Sergei Litovchuk 0480e29597 EXT-7609 FIXED Added worn items indication in Appearance panel.
- Added (worn) suffix to indicate worn item of LLPanelInventoryListItemBase type (all flat list items in Appearance panel).
- Used LLOutfitObserver for updating (worn) suffix when user wears an item from My Outfits list.
- Added updating only items and links to items with specific UUIDs in LLWearableItemsList.

Reviewed by Vadim Savchuk https://codereview.productengine.com/secondlife/r/551/

--HG--
branch : product-engine
2010-06-10 15:42:23 +03:00
Loren Shih e414a91d7f EXT-7430 : Create art overlay for inventory icons that are links
Took out explicit _Link icons and replaced with overlay.
Removed links overlays from non-main-inventory-floater panels.
2010-06-09 17:09:42 -04:00
Tofu Linden 033f0dbdef merge from PE's viewer-trunk 2010-06-05 10:48:25 +01:00
Nyx (Neal Orman) 92b104f416 VWR-19699 Correct "wear" and "add" behavior
added "add" menu item to clothing right-click menus and corrected
"wear" to mean "replace top wearable of this type"

reviewed by Richard
2010-06-04 18:43:13 -04:00
Igor Borovkov f954936d60 EXT-7575 FIXED appended attachment location after name in parenthesis.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/514

--HG--
branch : product-engine
2010-06-04 15:53:07 +03:00
Andrew Dyukov 7902899df5 EXT-7511 FIXED Fixed problems in appearance UI
- Made slight changes in xml according to requirements.

- Added mForceNoLinksOnIcons bool member to LLPanelInventoryListItemBase. It is used in LLPanelWearableListItem to disable showing of link icons as
was requested in ticket.

- Created icon for divider 3 pixels high as asked by Erica in EXT-7233. To properly show and hide it made changes to LLCOFWearables::buildClothingListItem
which now not only showes separator but also reshapes panel depending on its visibility. Increased heights of body parts, dummy clothing and attachment items because
dividers are now 2 pxls higher and they always have dividers. Changed heights of buttons accordingly.

Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/502/

--HG--
branch : product-engine
2010-06-03 16:21:56 +03:00
Vadim Savchuk 142a6c3b8f EXT-6726 WIP Added missing menu items to the Appearance SP.
- Hooked up Wear / Take off / Rename / Delete items in the My Outfits gear menu.
- Added "Create new..." to body part / clothing context menu in Edit Outfit.
- Added "Create new..." submenus to the Edit Outfit gear menu.
- Disabling the "Take Off" menu item of the clothing context menu in the Edit Outfit panel when it's irrelevant.

Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/494/

--HG--
branch : product-engine
2010-06-02 20:46:16 +03: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
Sergei Litovchuk b678d2888c EXT-7239 FIXED Added wearing double-clicked item or uutfit.
- Added outfit list item with double click support.
- Added wearing/detaching single item on double click.
- Added replacing current outfit with an outfit from double clicked accordion tab.

Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/493/.

--HG--
branch : product-engine
2010-06-02 16:16:26 +03:00
Paul Guslisty d42fd6cf7f EXT-7472 FIXED Open add to outfit panel by (+) button click on unwearable items and by selecting 'Replace' menu item click body part context menu
Main changes:
- Added callback for a '(+) button' to the LLCOFCallbacks and bind it with LLPanelOutfitEdit::onAddWearableClicked
- Created the callback(LLPanelOutfitEdit::onReplaceBodyPartMenuItemClicked) for 'Replace' menu item of context menu

Related changes:
- Changed LLFilteredWearableListManager so that it can use different functors (subclasses of LLInventoryCollectFunctor) as a criterion for LLInventoryItemsList filtering. Before it used only LLFindNonLinksByMask filter. Moved LLFindNonLinksByMask from to the llfilteredwearablelist.cpp to the llinventoryfunctions.h
- Created getter 'LLPanelDummyClothingListItem::getWearableType()' for LLPanelDummyClothingListItem
- Made 'add wearables panel' a member of LLPanelOutfitEdit so that not to use findChild each time panel is needed

Reviewed by Igor Borovkov at http://jira.secondlife.com/browse/EXT-7472

--HG--
branch : product-engine
2010-05-28 20:10:10 +03: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
Vadim Savchuk d634239bac EXT-6726 WIP Added stubs for most of Appearance SP context/gear menus.
Shared code with avatar lists context menus.

Reviewed by Mike Antipov and Nyx at https://codereview.productengine.com/secondlife/r/415/

--HG--
branch : product-engine
2010-05-20 14:54:34 +03:00
Sergei Litovchuk eb3716fab9 EXT-7157 FIXED Implemented outfit items sorting in "My Outfits" tab.
- Moved wearable item name comparator from llcofwearables to llwearableitemslist.
- Added wearable item type comparator.
- Added item type and description getters to wearable item base class LLPanelInventoryListItemBase.

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/407/

--HG--
branch : product-engine
2010-05-19 17:55:58 +03:00
Igor Borovkov 2ab9fbf019 EXT-7218 FIXED added a delete button for attachment items (panel outfit edit)
added a deletable wearable item, predecessor of a clothing item, which is used for attachment items

Reviewed by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/377

--HG--
branch : product-engine
2010-05-13 13:25:02 +03:00
Loren Shih 35bf78478c EXT-7306 : FIXED : Add shortcut-style icons for inventory links
EXT-7312 : FIXED : INFRASTRUCTURE : Cleanup LLPanelObjectInventory

Fixed a few minor bugs with LLInventoryIcon being called with incorrect arguments.
Big cleanup of LLPanelobjectInventory to make better use of inheritance.
Added LLInventoryIcon class and did some major refactoring for how it determines inventory icons from item bridges.
2010-05-11 17:43:00 -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
Loren Shih 64da5083d0 EXT-7306 : FIXED : Add shortcut-style icons for inventory links
EXT-7295 : FIXED : INFRASTRUCTURE : Cleaned up Inventory Icon code

Inventory link icons were designed from scratch.
Added LLInventoryIcon class and did some major refactoring for how it determines inventory icons from item bridges.
2010-05-11 13:01:27 -04:00
Igor Borovkov 702efd72ab additional patch for EXT-6732 Create specialized view of inventory for "clothing" accordion tab of outfit editor
* reimplemented button bars as static panels not as list items (creating accordion - button bar - list view - adaptor/container)
* added management of items' buttons assording to inventory items' states
* assigned actions to clothing/bodyparts items' buttons
* got rid of separators as distinct items and made them as part of items
* removed ad-hoc up/down buttons
* removed "+" button from a button bar

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/322

--HG--
branch : product-engine
2010-04-30 15:59:23 +03:00
Dmitry Zaporozhan 02d6922727 Fixed EXT-7163(normal) - Create dummy inventory item panel (an item panel for unworn wearable types)
Added new wearable list item - LLPanelDummyClothingListItem for not worn wearable types, it displays grayed wearable type icon, grayed
title '<clothing type> not worn' and 'add' button.
Modified base class to be more flexible.
Moved init() to protected section.
Modified COF panel to use dummy item.

Reviewed by Mike Antipov - https://codereview.productengine.com/secondlife/r/335/

--HG--
branch : product-engine
2010-04-29 19:06:13 +03:00
Dmitry Zaporozhan e1cf84c9b6 Fixed EXT-6550(major) - Edit Outfit: Fix alignment of in-line edit button and put proper icon on it
Replaced LLPanelInventoryListItem with LLPanelInventoryListItem. This class is capable of showing widgets on left and right sides of panel.
Implemented LLPanelClothingListItem and LLPanelBodyPartListItem - makes use of new LLPanelInventoryListItem and is able to show buttons specified in tickets. Buttons are
shown on mouse_enter event and hidden on mouse_leave event. Buttons are - delete, move up, move down, lock, edit. It's item's user responsibility
to control buttons visibility.
Made LLInventoryItemsList::addNewItem virtual to allow inheritors create specific(non-default) items.

Reviewed by Mike Antipov - https://codereview.productengine.com/secondlife/r/325/

--HG--
branch : product-engine
2010-04-28 20:08:10 +03:00
Sergei Litovchuk fbfc851766 (EXT-6722) 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.

Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/285/

--HG--
branch : product-engine
2010-04-26 18:56:28 +03: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