Age | Commit message (Collapse) | Author |
|
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
|
|
--HG--
branch : product-engine
|
|
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
|
|
--HG--
branch : product-engine
|
|
Body Parts' submenus of the My Outfits gear menu.
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/708/
--HG--
branch : product-engine
|
|
- 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
|
|
More" panel reopen.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/680/.
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
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
|
|
Checker: FORWARD_NULL
Function: LLPanelOutfitEdit::filterWearablesBySelectedItem()
File: /indra/newview/llpaneloutfitedit.cpp
|
|
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
|
|
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
|
|
- 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
|
|
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 .
|
|
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
|
|
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
|
|
multi-selection).
Reviewed by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/640/
--HG--
branch : product-engine
|
|
updated icon, and fixed XUI so it displays properly.
Code reviewed by Monroe
|
|
"Add more" panel (Edit Outfit)
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/626/
--HG--
branch : product-engine
|
|
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/617
--HG--
branch : product-engine
|
|
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
|
|
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
|
|
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
|
|
- 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
|
|
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
|
|
outfit edit)
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/542/
--HG--
branch : product-engine
|
|
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
|
|
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
|
|
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
|
|
(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
|
|
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
|
|
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
|
|
--HG--
branch : product-engine
|
|
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
|
|
- 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
|
|
- 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
|
|
- 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
|
|
--HG--
branch : product-engine
|
|
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
|
|
List View when (+) button clicked on unwearable items or by selecting 'Replace' menu item from body part context menu
--HG--
branch : product-engine
|
|
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
|
|
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
|
|
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
|
|
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
|
|
replacing/wearing outfit externally (my inventory)
Reviewed by Neal Orman and Mike Antipov
--HG--
branch : product-engine
|
|
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
|
|
--HG--
branch : product-engine
|
|
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
|
|
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
|
|
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
|