summaryrefslogtreecommitdiff
path: root/indra/newview/llpaneloutfitedit.cpp
AgeCommit message (Collapse)Author
2010-07-09EXT-7786 FIXED COF Wearables List is updated only when visible (panel outfit ↵Igor Borovkov
eidt) Every single delete/create operation in the COF causes LLCOFWearables to be updated - on each update its contained LLFlatListView is repopulated. That means massive creation of LLPanel's instances (LLUICtrlFactory::buildPanel(...)). Half of the panel creation time is spent in the EXPAT xml library on parsing the .xml files of the panel item. I've forbidden updates of LLCOFWearables when Panel Outfit Edit is not in the visible chain. Panel Outfit Edit is now updated only when it is visible Also LLCOFWearables refures to refresh its content if COF category version hasn't been changed since the last refresh. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/715 --HG-- branch : product-engine
2010-07-09Merge from default branchVadim Savchuk
--HG-- branch : product-engine
2010-07-08Fix for EXT-8151Monroe Linden
Made LLPanelOutfitEdit::onPlusBtnClicked() iterate over all selected items and wear each one. Also made it create one LLUpdateAppearanceOnDestroy and pass it to all calls to wearItemOnAvatar. Add optional callback argument (as LLPointer) to wearItemOnAvatar, addCOFItemLink, LLDeferredCOFLinkObserver Reviewed by Nyx at http://codereview.lindenlab.com/2482033
2010-07-08Merge from default branchVadim Savchuk
--HG-- branch : product-engine
2010-07-07EXT-8168 FIXED Used localized labels when populating 'New Clothes' and 'New ↵Vadim Savchuk
Body Parts' submenus of the My Outfits gear menu. Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/708/ --HG-- branch : product-engine
2010-07-06EXT-8061 FIXED resetting selection inside accordion (panel outfit edit)Igor Borovkov
- added resetting lists selection on tabs state changes - added committing on tab selection change - added filtering wearables by at first by a selected tab and then by an expended tab Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/696 --HG-- branch : product-engine
2010-07-06EXT-8180 FIXED Added resetting wearable items list position to top on "Add ↵Sergei Litovchuk
More" panel reopen. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/680/. --HG-- branch : product-engine
2010-07-06mergeVadim Savchuk
--HG-- branch : product-engine
2010-07-06EXT-7984 FIXED (onVisibilityChange callback was used instead of onOpen)Andrew Polunin
Removed code from LLPanelOutfitEdit::onOpen and move it to LLPanelOutfitEdit::onVisibilityChange (as suggested by Nyx Linden at http://jira.secondlife.com/browse/EXT-7984). Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/694/ --HG-- branch : product-engine
2010-07-05CID-494Tofu Linden
Checker: FORWARD_NULL Function: LLPanelOutfitEdit::filterWearablesBySelectedItem() File: /indra/newview/llpaneloutfitedit.cpp
2010-07-02EXT-8134 FIXED added filtering wearables depending on expanded outfit (panel ↵Igor Borovkov
outfit edit) Add More is clicked -> list view is shown filtered depending on the expanded tab (if no item is selected), default filtering when nothing is selected and all tabs are collapsed - by clothing Reviewed by Vadim Savchuk https://codereview.productengine.com/secondlife/r/689/ --HG-- branch : product-engine
2010-07-01EXT-7565 FIXED Would be nice to preserve selection while switching between ↵Paul Guslisty
folder/list view modes - Created callback called 'SaveSelecton' (which preserves selection while switching between folder/list view modes) for folder/list view modes buttons in LLPanelOutfitEdit. - Added 'scrollToShowFirstSelectedItem' method in the LLFlatListView which scrools and shows the first selected item in case multiselection. - It's possible to set selection for flat list view items before list is build. The result is that any items will be selected. To get rid of it: 1. Overrided LLFlatListView::selectItemByValue method in LLInventoryItemsList so that if list is not created yet, items ids are saved to the vector. 2. Added 'LLInventoryItemsList::updateSelection()' method which selects items with ids from that vector when list is created. - A little refactoring: moved funcionality of updating WearablesPanel's verb buttons to the separate method called LLPanelOutfitEdit::updateWearablesPanelVerbButtons() to made code more readable and self-explanatory Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/579/ --HG-- branch : product-engine
2010-06-29EXT-7676 FIXED Added items sorting from gear menu for 'Add Wearable'.Sergei Litovchuk
- Added new gear menu when 'Add Wearable' panel is open in 'Edit Outfit'. - Added wearable items list comparator to sort by wearable creation date. - Added storing sorting type in viewer settings. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/661/. --HG-- branch : product-engine
2010-06-25Fix for EXT-8025 ('+' button on My Appearance > Edit Outfit panel does nothing)Monroe Linden
Button now gets disabled in the early-exit case in LLPanelOutfitEdit::onInventorySelectionChange(). onInventorySelectionChange() also uses the new predicate get_can_item_be_worn(), which both checks whether the item is already being worn and whether it's of a type that could be worn. Reviewed by Nyx at http://codereview.lindenlab.com/2451030 .
2010-06-24EXT-7984 FIXED (state of \"add more\" panel should reset upon closing or ↵Andrew Polunin
re-opening outfit editor) Added code to the LLPanelOutfitEdit::onOpen which resets the state of the \"add more\" panel Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/646 --HG-- branch : product-engine
2010-06-24EXT-7963 FIXED Edit Outfit > Add More > Do not switch to next item type ↵Paul Guslisty
after add/replace - Added callback to wear item from Add More panel on doubleclick - To keep the list in its existing state and do not change the contents of the Add More panel to the next listed unworn item after the user wears an item, check if the item is not dummy. Dummy icons have no ids. Reviewed by Mike Antipov and Neal Orman at https://codereview.productengine.com/secondlife/r/647/ --HG-- branch : product-engine
2010-06-24EXT-8008 FIXED Disable (+) button when worn item is selected (including ↵Vladimir Pchelko
multi-selection). Reviewed by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/640/ --HG-- branch : product-engine
2010-06-23EXT-7958 FIX fixed shop button in the appearance sidepanelNyx (Neal Orman)
updated icon, and fixed XUI so it displays properly. Code reviewed by Monroe
2010-06-22EXT-7805 FIXED set tool_tip for "plus" button when body_part is selected in ↵Vladimir Pchelko
"Add more" panel (Edit Outfit) Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/626/ --HG-- branch : product-engine
2010-06-21EXT-7822 WIP changed the default plus button action from add to replaceIgor Borovkov
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/617 --HG-- branch : product-engine
2010-06-21EXT-7797 FIXED Outfit Editor: Clicking fliter button should set focus in ↵Paul Guslisty
filter field - Set focus on filter field Reviewed by Mike Antipov and Neal Orman at https://codereview.productengine.com/secondlife/r/598/ --HG-- branch : product-engine
2010-06-18EXT-7777 WIP Implemented loading indicator for "Save" and "Save As" actions ↵Mike Antipov
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-15EXT-7639 FIXED added shop button which reacts according to the ticket ↵Andrew Polunin
description - Added method LLAccordionCtrl::getExpandedTab() which search for the first expanded accordion tab. This method is a bit of hacking, but I discussed it with Vadim Savchuk. - LLAccordionCtrlTab::isExpanded() is made 'const'. This is necessary to call it from getExpandedTab() which is also 'const'. - Added all provided Marketplace URLs (taken from EXT-7257) to the settings.xml. So URLs can be configured without recompilation. - Added method LLCOFWearables::getSelectedItems() which can be used to get ALL selected items (not only one). - Class LLShopURLDispatcher is implemented in the llpaneloutfitedit.cpp. - Added callback LLPanelOutfitEdit::onShopButtonClicked() which calls LLShopURLDispatcher to send user to the correct URL. - Added shop button (shop_btn) widget in panel_outfit_edit.xml. It has invalid icon for now. After review I'm going to reassign the ticket to someone who will provide correct icons. Reviewed by Vadim Savchuk and Mike Antipov at https://codereview.productengine.com/secondlife/r/569/ --HG-- branch : product-engine
2010-06-14EXT-7742 FIXED panel outfit edit: added a separate dropdown for the list viewIgor Borovkov
- added a separate filter combobox for the list view containing lots of items, all types of wearables, separated clothing and bodyparts items - comboboxes are linked to the appropriate view, only one is shown - got rid of excluding links in the folder view - minor refactoring Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/573/ --HG-- branch : product-engine
2010-06-10EXT-7613 FIXED Provided updating of base outfit name on outfit rename event.Alexei Arabadji
1 Updated LLOutfitObserver to provide controlling of changing outfit name. 2 Added call of LLPanelOutfitEdit::updateCurrentOutfitName to LLPanelOutfitEdit::updateVerbs since both should be called on BOFChanged signal. 3 Corrected updating field LLOutfitObserver::mBaseOutfitLastVersion. reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/553/ --HG-- branch : product-engine
2010-06-10EXT-7671 FIXED assigned appropriate callback for second Gear menu (panel ↵Igor Borovkov
outfit edit) Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/542/ --HG-- branch : product-engine
2010-06-09EXT-7577 FIXED added filtering add wearables panel (list and folder views) ↵Igor Borovkov
according to the current user's selection - added filtering add wearables panel (list and folder views) according to the current user's selection (rules for showing a particular view and setting a particular filtering are specified in the table at https://jira.secondlife.com/browse/EXT-7577) - minor refactoring Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/534/ --HG-- branch : product-engine
2010-06-08EXT-7627 FIXED Wearing an item now doesn't open the wearable editing panel.Vadim Savchuk
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-08EXT-7644 FIXED Implemented functionality for locking outfit modification ↵Alexei Arabadji
controls and used it for 'save outfit' action. 1 Added functionality for locking outfit in LLAppearanceMgr. Outfit should be locked when outfit related operation is started(now it is used for updateBaseOutfit) and unlocked when operation completed or timeout is exceeded. 2 Added outfit saved and outfit lock changed signals to LLOutfitObserver. 3 Updated LLPanelOutfitsInventory and LLPanelOutfitEdit with functionality of controlling 'save outfit' controls state('save outfit' controls should be enabled only if outfit isn't locked and outfit is dirty). 4 Renamed action label of method LLPanelOutfitsInventory::isActionEnabled "make_outfit" to "save_outfit". --HG-- branch : product-engine
2010-06-07EXT-7406 FIXED extended find wearables of type functor to filter out links ↵Igor Borovkov
(panel outfit edit) extended find wearables of type functor to filter out links Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/522 --HG-- branch : product-engine
2010-06-04EXT-7485 FIXED Provided update of 'save as' button status and save outfit ↵Alexei Arabadji
panel status. 1 published LLCOFObserver as LLOutfitObserver(moved from llpaneloutfitedit.cpp to lloutfitobserver.h) 2 decoupled outfit edit panel and observer by replacing pointer to panel with signals and made observer as singleton 3 moved call of LLAppearanceMgr::getInstance()->updateIsDirty() from outfit edit panel to observer(discussed with IB) 4 modified updating of combo button state on outfit panel using LLOutfitObserver 5 modified refresh of outfit name and status on outfit change event using LLOutfitObserver 6 removed unnecessary LLWatchForOutfitRenameObserver that caused excessive updates of outfit panel status name --HG-- branch : product-engine
2010-06-03EXT-7503 WIP Made first inventory fetch for Add to Outfit panel on the first ↵Mike Antipov
openning, updated reliability of LLInventoryFetchItemsObserver This patch follows (fce2d4f9dc1a). And contains missed by merging changes and fixes Win line endings. Reviewed by Brad Payne at https://codereview.productengine.com/secondlife/r/456/ --HG-- branch : product-engine
2010-06-03mergeMike Antipov
--HG-- branch : product-engine
2010-06-03EXT-7503 WIP Made first inventory fetch for Add to Outfit panel on the first ↵Mike Antipov
openning, updated reliability of LLInventoryFetchItemsObserver * 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
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-01EXT-7527 FIXED repositioned "Add more..." button (panel edit outfit)Igor Borovkov
- relocated Add button (required substantial layout_stacks repositioning) - got rid of switch/shop buttons - reverted addition of adaptors for (accordion tabs/list view) inline button bars * failed to get rid of an empty space above bottom bars when "add wearables panel" is invisible (due to bug in the layout stack, when border is still drawn below layout panel which is only one visible) https://jira.secondlife.com/secure/attachment/39854/empty+space+.jpg Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/481/ --HG-- branch : product-engine
2010-05-31EXT-7201 FIXED Removed extra gear menu button.Sergei Litovchuk
- Removed extra gear button bar from "Edit Outfit" panel. - Added one more dummy icon to "Add Wearable" panel button bar to chose the right dummy depending on the "Add Wearable" panel visibility. Reviewed by Vadim Savchuk https://codereview.productengine.com/secondlife/r/473/ --HG-- branch : product-engine
2010-05-31merge; fixed gcc buildVadim Savchuk
--HG-- branch : product-engine
2010-05-31Manual merge from default branch.Vadim Savchuk
Semi-automatically resolved conflicts in: * indra/newview/llappearancemgr.cpp * indra/newview/llappviewer.cpp * indra/newview/llcofwearables.cpp * indra/newview/llinventoryfunctions.cpp * indra/newview/llpaneloutfitedit.cpp * indra/newview/skins/default/xui/en/strings.xml * indra/newview/skins/default/xui/ja/strings.xml --HG-- branch : product-engine
2010-05-31EXT-7472 ADDITIONAL FIX Added panel switching from Tree List View to Flat ↵Paul Guslisty
List View when (+) button clicked on unwearable items or by selecting 'Replace' menu item from body part context menu --HG-- branch : product-engine
2010-05-31EXT-7485 FIXED Updated 'save as new' button on inventory outfit pane to fit ↵Alexei Arabadji
spec. * moved logic related to combo button from LLPanelOutfitEdit to LLSaveOutfitComboBtn class; * used LLSaveOutfitComboBtn class in LLPanelOutfitsInventory; reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/459/ --HG-- branch : product-engine
2010-05-28EXT-7505 FIX stuck in appearance edit mode if close appearance sidebarNyx (Neal Orman)
Added a check for visibility changes that should prevent users from getting "stuck" in appearance editing mode by closing the appearance editor prematurely (clicking sidebar hide, etc). Camera state should be restored when panel is restored. reviewed by Seraph
2010-05-28EXT-7472 FIXED Open add to outfit panel by (+) button click on unwearable ↵Paul Guslisty
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-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-21EXT-7331 FIXED added updating the title (panel outfit edit) on ↵Igor Borovkov
replacing/wearing outfit externally (my inventory) Reviewed by Neal Orman and Mike Antipov --HG-- branch : product-engine
2010-05-20EXT-7200 FIXED Integrated art missing from appearance.Andrew Dyukov
Most changes are in xml, but changing of view buttons overlay icons in lists from add wearables is implemented in code. Dragbar icon was only added as file, it will be integrated in EXT-7255 (There is no dragbar between 'Edit Outfit' and 'Add to Outfit:' panels). Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/410/ --HG-- branch : product-engine
2010-05-19mergeVadim Savchuk
--HG-- branch : product-engine
2010-05-19EXT-7242 FIXED Added a new "Edit my Shape" link to avatar self-click context ↵Vadim Savchuk
menu and made it open the shape editing panel. Again, as in EXT-7241, I tried to improve the way the appearance panels (outfits / edit outfit / edit wearables) are switched, this time aiming to eliminate redundant time-consuming operations (fetches/updated/etc). I'm not particularly satisfied with the resulting code but it seems to work. A better solution might be to wrap the panels with LLSideTrayPanelContainer. Additional minor changes: - Fixed unsafe pointer cast in LLSidepanelAppearance::editWearable(). - Removed redundant onEditOutfitButtonClicked() and onEditWearBackClicked() methods from LLSidepanelAppearance. Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/395/ --HG-- branch : product-engine
2010-05-19EXT-7234 FIXED whether folder view or list view is currently used is decided ↵Igor Borovkov
by their visibility deciding which list to use (folder/list view) depending on their conrainers visibility Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/405/ --HG-- branch : product-engine
2010-05-17EXT-7199 FIXED (Enable dragging items from inventory view to current outfit ↵Andrew Polunin
in Outfit Editor) - HandleDragAndDrop() method was overridden in the LLPanelOutfitEdit class to handle drag and drop operations of the Clothing, Body Parts and Attachments. - In panel_outfit_edit.xml parameter allow_multi_select was set to true to allow multiple selections. - Added class LLCOFDragAndDropObserver to implement the drag and drop. - Class LLInventoryMoveFromWorldObserver renamed to LLInventoryAddItemByAssetObserver. Drag and drop reimplemented using functionality of the LLInventoryAddItemByAssetObserver. Reviewed by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/373/ --HG-- branch : product-engine