summaryrefslogtreecommitdiff
path: root/indra/newview/lloutfitslist.cpp
AgeCommit message (Collapse)Author
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-08-10EXT-8576 FIXED Only attachments are worn if multi-select items on 'My ↵Vadim Savchuk
Outfits' tab and press 'Wear' button. Reason: avatar appearance was not updated if the last selected item was an attachment. Fix: make sure appearance is updated afterwards, regardless of items types. Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/848/ --HG-- branch : product-engine
2010-08-03EXT-8534 FIXED Fixed the 'Wear' in My Outfits being disabled for outfits ↵Vadim Savchuk
consisting of body parts only. Changed the condition to enable the "Wear" button in My Outfits and the corresponding item in the outfit context menu. They now get enabled for any outfit that isn't the base outfit and contains non-worn wearables. By the way, did a minor cleanup: moved an LLAgentWearables.isCOFChangeInProgress() call to LLAppearanceMgr::getCanAddToCOF() to avoid code duplication. Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/832/ --HG-- branch : product-engine
2010-07-27EXT-8491 FIXED Crash in LLAppearanceMgr::addCOFItemLink().Vadim Savchuk
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
2010-07-26EXT-8329 FIXED Provided disabling 'Wear Item' button after item was worn.Alexei Arabadji
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
2010-07-23EXT-8481 FIXED Wear button in My Outfits being enabled when worn item is ↵Vadim Savchuk
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
2010-07-06EXT-8036 FIXED Fixed opening accordion tabs if they match filter after list ↵Sergei Litovchuk
refresh. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/697/. --HG-- branch : product-engine
2010-07-06EXT-8082 FIXED Fixed viewer crash in outfit list accordion.Alexei Arabadji
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
2010-06-29EXT-8014 FIXED Enabled "Take off" in My Outfits gear menu if any of selected ↵Sergei Litovchuk
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
2010-06-30EXT-7737 ADDITIONAL FIX Added changing of color to emphasis for selected ↵Andrew Dyukov
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
2010-06-25EXT-7972 FIXED (My Outfits: Add \"Add to current outfit\" menu item into ↵Andrew Polunin
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
2010-06-24EXT-7793 FIXED Implemented wearing separate wearables instead of whole ↵Andrew Dyukov
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
2010-06-24Comments: EXT-7158 ADDITIONAL FIX Slight changes to fix according to reviewAndrew Dyukov
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
2010-06-24EXT-8014 FIXED Enabled "Take off" in My Outfits gear menu only if a worn ↵Sergei Litovchuk
item or base outfit is selected. --HG-- branch : product-engine
2010-06-24EXT-7158 FIXED Implemented showing of full outfit content if its name or any ↵Andrew Dyukov
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
2010-06-22EXT-4295 FIXED Added gear and context menus for Wearing tab.Sergei Litovchuk
- 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
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-23EXT-7755 ADDITIONAL FIX Fixed issues with wrong title after an outfit from ↵Mike Antipov
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
2010-06-22EXT-7875 FIXED Implemented resetting of selection inside outfit on accordion ↵Andrew Dyukov
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
2010-06-18EXT-7847 FIXED Disabled "trash" button if an item is selected inside ↵Andrew Dyukov
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
2010-06-18EXT-7754 FIXED Implemented marking of worn outfit accordion header text with ↵Andrew Dyukov
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
2010-06-17Fixed build.Vadim Savchuk
--HG-- branch : product-engine
2010-06-17EXT-7620 FIXED Save outfit selection when applying filter and restore it ↵Vadim Savchuk
after filter has been reset. Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/603/ --HG-- branch : product-engine
2010-06-17EXT-7722 Fixed "Add to COF" and "Remove from COF" outfit context menu items ↵Vadim Savchuk
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
2010-06-17EXT-7609 FIXED Added worn items indication with bold text.Sergei Litovchuk
Fixed updating worn items indication. Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/551/. --HG-- branch : product-engine
2010-06-15mergeRichard Linden
2010-06-10EXT-7239 - Double-click on outfit title should wear outfit, Double-click on ↵Richard Linden
item should wear item decision was to remove double click behavior
2010-06-11EXT-7807 FIXED Hide inappropriate outfit context menu items.Vadim Savchuk
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
2010-06-10EXT-7615 FIXED Fixed the trash button in My Outfits.Vadim Savchuk
- 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
2010-06-10EXT-7609 FIXED Added worn items indication in Appearance panel.Sergei Litovchuk
- 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-04EXT-7610 FIXED Added sorting outfit tabs by name (case insensitive).Sergei Litovchuk
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/523/. --HG-- branch : product-engine
2010-06-04EXT-7368 FIXED Implemented new "empty_accordion_text" textbox to show help ↵Mike Antipov
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
2010-06-03mergeMike Antipov
--HG-- branch : product-engine
2010-06-03EXT-7503 WIP Made first inventory fetch in My Outfits panel only on first ↵Mike Antipov
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
2010-06-02EXT-6726 WIP Added missing menu items to the Appearance SP.Vadim Savchuk
- 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-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-06-02EXT-7587 FIXED Fixed applying filter highlighting to outfit titles.Sergei Litovchuk
Reviewed by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/496/. --HG-- branch : product-engine
2010-06-02EXT-7239 FIXED Added wearing double-clicked item or uutfit.Sergei Litovchuk
- 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-05-29EXT-7198, EXT-7491 FIXED Added mutli-selection support for outfit items and ↵Sergei Litovchuk
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
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-20EXT-6726 WIP Added stubs for most of Appearance SP context/gear menus.Vadim Savchuk
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-18Removed duplicated include.Sergei Litovchuk
--HG-- branch : product-engine
2010-05-17EXT-7158 ADDITIONAL FIX Optimization and implementation fixSergei Litovchuk
- 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
2010-05-13EXT-7158 FIXED Implemented filter in "My Outfits" tab.Sergei Litovchuk
- 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
2010-04-30Implemented normal EXT-7002 (Inventory flat list needs optimization.):Eugene Mutavchi
- 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
2010-04-29(EXT-6722) Create modified inventory view for "my outfits" tab in top-level ↵Sergei Litovchuk
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
2010-04-27Making use of LLCommonUtils::computeDifference.Dmitry Zaporozhan
Replaced duplicating code with generic function LLCommonUtils::computeDifference() Reviewed by Vadim Savchuk - https://codereview.productengine.com/secondlife/r/313/ --HG-- branch : product-engine
2010-04-26(EXT-6722) Create modified inventory view for "my outfits" tab in top-level ↵Sergei Litovchuk
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-23Work on task EXT-6722 (Create modified inventory view for "my outfits" tab ↵Mike Antipov
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
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