Age | Commit message (Collapse) | Author |
|
Reason:
When you click on a clothing link in COF, LLAppearanceMgr::wearItemOnAvatar() removes
all COF links of the clicked wearable type -- thus invalidating all previously
obtained LLViewerInventoryItems for those links -- and then passes such an
invalid item (item_to_wear) to addCOFItemLink() which of course crashes.
Fix:
1. Handle this case in wearItemOnAvatar(): don't try wearing COF items.
2. Disable the Wear button in the inventory SP when a COF item is selected.
3. Fixed get_can_item_be_worn() to return FALSE for items which are in COF or have links in COF.
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/811/
--HG--
branch : product-engine
|
|
Details:
1 Updated condition is item can be worn considering situation when item is copied in COF but is not worn.
2 Avoided code duplication in method LLOutfitsList::canWearSelected()
reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/785/
--HG--
branch : product-engine
|
|
selected.
- Fixed condition for enabling the Wear button in My Outfits.
- The button was always enabled when when COF change completes, I fixed that as well.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/800/
--HG--
branch : product-engine
|
|
refresh.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/697/.
--HG--
branch : product-engine
|
|
Details:
1 Avoided memory leak of LLAccordionCtrlTab in LLOutfitsList::refreshList method.
2 Provided resetting selection in LLAccordionCtrl::removeCollapsibleCtrl method.
reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/701/
--HG--
branch : product-engine
|
|
items can be taken off or selected outfit contains items that can be taken off.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/649/.
--HG--
branch : product-engine
|
|
outfit accordion header.
- Added method to accordion which allows to set color of its header's title and used it when highliting selected outfit.
- Set alias for emphasis color in colors.xml to let selected outfit color be easily changed via xml in case such decision is made(because leaving it green doesn't seem a very good idea).
- Also added alias for accordion header text color to avoid breaking of this fix if in header_text_color from accordion_tab.xml.
--HG--
branch : product-engine
|
|
gear menu)
- Added menu item 'Wear - Add to Current Outfit' (menu_outfit_gear.xml).
- Added menu item handler onAdd().
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/657/
--HG--
branch : product-engine
|
|
outfit when individual items are selected in list.
- Added wearSelectedItems() method to LLOutfitsList which wears all items selected in outfit lists (if possible- adds, else replaces).
It is called when clicking wear if there is selection of individual items(LLOutfitsList::hasItemSelected() returns true). Otherwise
whole outfit is worn.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/638
--HG--
branch : product-engine
|
|
Added additional check to avoid deselcting of items when filter is applied and made a couple of renames according to Mike's comments in review at https://codereview.productengine.com/secondlife/r/648/
--HG--
branch : product-engine
|
|
item or base outfit is selected.
--HG--
branch : product-engine
|
|
item(s) inside it match current filter.
- Added availability to force showing unmatched items to LLFlatListViewEx
- Applied it to wearable items lists in LLOutfitsList
- Changed condition for outfit accordion tab showing (because now all items are visible, so checking their number doesn't help).
Used here check for a flag added in this fix, which tells whether last applied filter found any matches in the list.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/648/
--HG--
branch : product-engine
|
|
- Moved My Outfits gear menu from llpaneloutfitsinventory.cpp to lloutfitslist.cpp
Revieved by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/604/.
--HG--
branch : product-engine
|
|
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
|
|
the Inventory is worn, "Wear..." menu items state is made consistent with "Wear" button.
* Empty string is replaced with "Changing outfits" while changing COF;
* Fixed title to show "No Outfit" after an outfit from the Inventory is worn;
* Fixed bug with visible indicator after an empty folder is DnD from the Inventory "Clothing"
* Updated context and Gear "Wear..." menu items to take into account "isCOFChangeInProgress" state in on_enable callbacks
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/625/
--HG--
branch : product-engine
|
|
collapse/expand.
- Added method which resets selection and tied it up to DropDownStateChangedCallback.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/628/
--HG--
branch : product-engine
|
|
selected outfit.
- Added bool mItemSelected variable and getter for it to determine if the selection inside outfit exists, and used it when determining whether to enable "Trash" button in My Outfits.
Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/600/
--HG--
branch : product-engine
|
|
bold
- Added method to LLAccordionCtrlTabHeader which allows to change style of its textbox
- Added method to LLOutfitsList which marks accordion header of currently selected otfit and tied it up to BOF callbacks
Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/609/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
after filter has been reset.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/603/
--HG--
branch : product-engine
|
|
to be enabled when appropriate and work properly.
Work on "Take Off - Remove from Current Outfit" and "Wear - Add to Current Outfit" menu options:
- The menu items of the outfit context menu and the My Outfits gear menu are now disabled
when inappropriate instead of being hidden.
- The menu items get enabled/disabled depending on whether you can wear (take off) anything from the selected outfit.
(was: depending on whether you're wearing the outfit)
- Changed the way the options work: they now only operate on clothes and attachments.
"Add to COF" now only adds those body parts that are missing in COF;
"Remove from COF" doesn't touch body parts at all.
Without this change both "Add" and "Remove" options would be available simultaneously, because
any valid outfit contains body parts. I think that would be confusing.
And you don't expect you body parts to be replaced when doing "Add to COF'. (that's addition, not replacement)
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/585/
--HG--
branch : product-engine
|
|
Fixed updating worn items indication.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/551/.
--HG--
branch : product-engine
|
|
|
|
item should wear item
decision was to remove double click behavior
|
|
Hide the following outfit context menu items instead of disabling them:
* Wear - Replace Current Outfit
* Wear - Add to Current Outfit"
* Take Off - Remove from Current Outfit
* Edit Outfit
* Delete Outfit
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/565/
--HG--
branch : product-engine
|
|
- Now it's enabled when the "Delete Outfit" context menu item is enabled.
- It actually deletes the selected outfits.
Known out-of-scope issues:
- The trash button is sometimes enabled when the WEARING tab is active.
- The check whether an outfit can be removed is probably wrong.
There is a separate ticket (EXT-7716) for that.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/550/
--HG--
branch : product-engine
|
|
- 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
|
|
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/523/.
--HG--
branch : product-engine
|
|
text when there are no visible tabs in accordion.
* Textbox always fit whole accordion.
* This text is updated with search_term (in link to open Search floater) when new filter substring is passed to accordion.
* Accordion is notified by its tabs when their visibility is changed.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/486/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
panel opening.
* LLOutfitsList is not Inventory Observer anymore
* Content is fetched in onOpen now
* Added call of the LLOutfitsList::onOpen when "My Outfits" tab is switched on in My Appearance panel
Reviewed by Brad Payne at https://codereview.productengine.com/secondlife/r/456/
--HG--
branch : product-engine
|
|
- 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
|
|
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
|
|
Reviewed by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/496/.
--HG--
branch : product-engine
|
|
- 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
|
|
outfit tabs selection support.
- Added selecting multiple items from more than one accordion tab.
- Integrated context menus from Vadim's patch for EXT-6726 Appearance SP menus (WIP tier 2).
- Added selection to accordion control to use it instead of accordion tab focus in cases when focus is lost and outfit tab should stay selected.
- Changed "Wear" button behavior: "Wear" puts on currently selected outfit (as the tooltip reads "Wear selected outfit"). There is always an outfit selected when the accordion is focused so for now there are no cases when only some items are selected. Separate items can be worn from context menu.
- Added moving accordion tab selection with right click. Fixed (EXT-7491) Right click on an accordion title should move selection to it.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/437/
--HG--
branch : product-engine
|
|
Reviewed by Mike Antipov and Nyx at https://codereview.productengine.com/secondlife/r/428/
--HG--
branch : product-engine
|
|
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
|
|
--HG--
branch : product-engine
|
|
- Fixed issue with filter not applied to outfit newly added while filtering is active.
- Optimization of refreshing outfit list when filter is applied - list is not refreshed on every list visibility change.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/394/
--HG--
branch : product-engine
|
|
- Added accordion tab title highlighting setter and title getter.
- Added filtered tabs title highlighting.
- Tabs which don't pass filter are hidden.
- Added applying filter on list refresh event to avoid refreshing list on every filter change.
- Moved part of LLTextUtil to llui/lluitextutil to reuse code in llaccordionctrltab.
- Fixed passing list size to mRefreshCompleteSignal.
- Added list refresh callback to LLInventoryItemsList for checking tab visibility without re-applying filter sub-string.
Committed to proceed with dependent tasks.
If there are any comments/suggestions related to text utils this part of code may be changed without requiring much effort.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/363/
--HG--
branch : product-engine
|
|
- changed the LLInventoryItemsList::addNewItem() to add item to the list without immediately rearranging
- implemented LLFlatListViewEx::setFilterSubString(), sets up new filter string and filters the list.
- implemented LLFlatListViewEx::filterItems(), filters the list, rearranges and notifies parent about shape changes. The list items are filtered using the notify() functionality, without need in adding/removing them on each filter call. It sends 'match_filter' request to items and interprets the returned zero as sign of matched filter string, i.e. we don't hide items that don't support 'match_filter' action(separators etc).
- filtring of LLOutfitsList.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/342/
--HG--
branch : product-engine
|
|
appearance sidebar (tier 2)
llui:
- Added accordion tab title setter.
- Added setters for accordion tab focus changes callbacks.
newview:
- Fixed observer used for outfit items collecting. Added checking number of fetched items.
- Added outfit selection and enabled "replace outfit" and "add to outfit" commands for selected outfit.
Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/332/
--HG--
branch : product-engine
|
|
Replaced duplicating code with generic function LLCommonUtils::computeDifference()
Reviewed by Vadim Savchuk - https://codereview.productengine.com/secondlife/r/313/
--HG--
branch : product-engine
|
|
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
|
|
in top-level appearance sidebar)
Code improvements:
* Moved Accordion tab + Flat list into separate xml.
* Implemented dynamic creation of the accordion tab via xml
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/312/
--HG--
branch : product-engine
|
|
"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
|