Age | Commit message (Collapse) | Author |
|
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
|
|
- 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
|
|
--HG--
branch : product-engine
|
|
Backed out changeset: f0e9147baf74
--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
|
|
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
|
|
outfit is changing.
Implementation details:
* Added flag to LLAgentWearables to determining that outfit is changing. Synchronizing it with mLoadingStartedSignal and mLoadedSignal signals.
* Check this flag when there is no outfit set to show empty title when outfit is being changed.
* Also updated condition to disable "Wear" button when outfit is being changed.
Additional improvements:
* Removed reference to parent LLSidepanelAppearance from the LLPanelOutfitsInventory.
* Now LLSidepanelAppearance is subscribed to mLoadingStartedSignal and mLoadedSignal to update its loading indicator.
Known Issue:
* When new outfit is being worn its name is shown in title for a short moment (loading indicator is shown at this time). Then it is changed with an empty title and is shown when outfit is already worn.
If necessary it should be investigated and fixed in scope of another issue.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/593/
--HG--
branch : product-engine
|
|
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/584/
--HG--
branch : product-engine
|
|
to display loading indicator.
Details:
* Added signal "Wearable Loading Started" in AgentWearables (in parallel with "Wearables Loaded")
* Now it is raised from the LLAppearanceMgr::wearInventoryCategory.
Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/583/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
list is empty).
Also fixed some issues in accordion caused by removing My Outfits content via Inventory:
- updated accordion's help text to not shown nothing if there are no any tabs and filter substring is empty.
- added check of necessity to show help text when accordion "arrange"
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/568/
--HG--
branch : product-engine
|
|
gear menu.
* Made the "Wear" and "Take Off" items mutually exclusive (i.e. only one of them is now shown).
* Hide all context-dependant items ("Wear", "Take off", "Rename", "Delete") when no outfit selected.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/566/
--HG--
branch : product-engine
|
|
invalid) outfit selected.
The "Create new clothes / body parts" menu items are always enabled because they have no on_enable callback set.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/548/
--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
|
|
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 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
|
|
--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
|
|
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
|
|
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
|
|
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
|
|
pointed them to the My Outfits tab.
Renamed the following menu items to "Change Outfit" and made them open My Outfits tab:
- Avatar in-world context menu -> My Appearance.
- Avatar inspector menu -> My Appearance.
- Me -> My Appearance.
To enable the Appearance SP switch to My outfits I cleaned up the logic of switching between my outfits <-> edit outfit <-> edit wearable panels.
Also done the following cleanups and minor improvements:
- Removed unused LLSidepanelAppearance::mEditBtn and mLookInfoType members.
- Removed empty LLSidepanelAppearance::updateVerbs() method.
- Made the "params" argument of LLSideTray::showPanel() and togglePanel() optional.
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/389/
--HG--
branch : product-engine
|
|
return a selection
Function signature change to return a selection instead of taking one as an argument.
|
|
pointing to it
Warning now comes up if you try to delete an item that has any item links pointing to it (in memory). This assumes that the viewer actually knows about those links, which is true at least in 2.0 since links only appear in Outfits folders and this code causes those to be fetched into memory on startup.
|
|
disabled and a loading indicator should appear next to the outfit name).
When user presses the "Wear" button in the outfits list, we disable the button and display a perpetual loading indicator until all wearables of the outfit being worn get loaded.
Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/347/
--HG--
branch : product-engine
|
|
image display next to current look).
- Changed the topmost part of the Appearance panel:
* Added new "Edit current outfit" button.
* Implemented COF status display (unsaved/wearing) according to the spec.
* Minor XUI changes (font / dimensions / bg color).
- Removed the temporary "Edit current outfit" button from the bottom of the Appearance panel.
- Removed the temporary "ShowDebugAppearanceEditor" setting.
TODO: use icons from the spec (currently missing).
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/339/
--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
|
|
"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
|
|
to store order information
- COF items get checked for correct ordering when COF is loaded (LLAppearanceMgr::updateAppearanceFromCOF..., LLAppearanceMgr::updateClothingOrderingInfo() ), and also when COF is saved to a new outfit, base outfit.
- wearables are arranged in LLAgentWearables in a proper order
* updateClothingOrderingInfo() [struggling with naming] does integrity checking and updates "invalid" items (items with wrong, gapped descriptions)
* moved LLAgentWearables::makeNewOutfitLinks(...) and LLShowCreatedOutfit to a more natural place (llappearancemgr.cpp), because they use LLAppearanceMgr's methods a lot
* changed link_inventory_item(...), added the "new_description" parameter
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/268/
--HG--
branch : product-engine
|
|
Implemented "Save", "Save as new" functionality. If the base outfit doesn't exist "Save as new" functionality is employed
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/179
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
|
|
--HG--
branch : product-engine
|
|
the Current Outfit system folder
reviewed at https://codereview.productengine.com/secondlife/r/159/
--HG--
branch : product-engine
|
|
placement, empty titlebar)
reviewed by Richard CC#176
|
|
instead of passing it along everywhere such as in performAction
mRoot is now stored for all LLInventoryBridge types.
Did some superficial formatting cleanup for LLInventoryBridge.
|
|
*rootFolder"
Superficial cleanup - changed all instances to "LLFolderView* root".
|
|
llinventorymodel subclass
Created LLInventoryModelBackgroundFetch file for handling background fetch.
|
|
|
|
they can get a sense of their contents.
Also moved the My Outfits autopopulation from the library out of where it was done before (as a result of
initial wearables message) to be done in the idle login during the precaching state.
-Reviewed by Nyx
|
|
EXT-4660 : Can delete a bodypart from the COF through inventory view or WEARING tab delete key
EXT-4662 : remove leading separator from COF right-click menu
EXT-4633 : AppearanceSP trash button doesn't update enabled state correctly
Bunch of UI fixes related to the trash/delete functionality in InventoryFloater/SP and AppearanceSP "WEARING" tab. The main idea is that we don't want to allow deletion of bodyparts and folder links from the COF by the user.
|
|
Swapping back so "my outfits" is displayed first. Also changing code so that
this change can be made in the future as a XUI-only change.
Reviewed by Vir.
|
|
|
|
Corrected bug where saving an outfit wouldn't update the "unsaved" marker on
the UI. Also switched the UI to use a popup dialog to request the name of
the outfit being made, as we could not convey everything we needed to on the
button alone.
Code reviewed by Vir
|
|
Simple logic fix.
|
|
Enabled the button on the wearing tab of the appearance sidepanel and
set its functionality to switch to the my outfits tab before the auto-rename
happens.
Reviewed by Seraph
|