Commit Graph

71 Commits (8f892d0f36fda170a5cecf0aea89887d6d0e45ef)

Author SHA1 Message Date
Sergei Litovchuk 2583a4d6ea EXT-4295 FIXED Added gear and context menus for Wearing tab.
- 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-22 16:34:27 +03:00
Sergei Litovchuk 887b2858d4 EXT-7779 FIXED Changed wearing panel from inventory panel to a flat list 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-11 20:02:42 +03:00
Mike Antipov 08381a276d EXT-7755 ADDITIONAL FIX Fixed issues with wrong title after an outfit from 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-23 15:30:48 +03:00
Mike Antipov 53e35e3011 Merge after backout changeset: f0e9147baf74
--HG--
branch : product-engine
2010-06-22 15:03:02 +03:00
Mike Antipov 9a397826dd EXT-7789 FIXED reverted changes with removing "Rename Outfit" from gear menu
Backed out changeset: f0e9147baf74

--HG--
branch : product-engine
2010-06-22 14:35:45 +03:00
Andrew Dyukov 9aa7109456 EXT-7847 FIXED Disabled "trash" button if an item is selected inside 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-18 12:56:02 +03:00
Vadim Savchuk 9f99644360 EXT-7722 Fixed "Add to COF" and "Remove from COF" outfit context menu items 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-17 19:03:57 +03:00
Mike Antipov eb973cf6b2 EXT-7755 FIXED Updated condition to not show "No Outfit" as a status when 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
2010-06-17 16:51:04 +03:00
Vadim Savchuk c773e01fbf EXT-7789 FIXED Removed "Rename Outfit" option from My Outfits gear menu
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/584/

--HG--
branch : product-engine
2010-06-15 15:48:52 +03:00
Mike Antipov 300cb34291 EXT-7794 FIXED Implemented a common-used notification about wearing outfit 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
2010-06-15 12:38:30 +03:00
Mike Antipov b90f6f2137 merge
--HG--
branch : product-engine
2010-06-11 17:36:38 +03:00
Mike Antipov 03f4366422 EXT-7792 FIXED Made Wear button disabled if there are no selected outfit (or 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
2010-06-11 17:35:31 +03:00
Vadim Savchuk eb1929c8f9 EXT-6726 WIP Improved the way we disable irrelevant items of the My Outfits 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
2010-06-11 17:19:40 +03:00
Vadim Savchuk 62c82eef49 EXT-7620 FIXED Disable context-dependant outfit gear menu items if no (or 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
2010-06-10 15:39:13 +03:00
Vadim Savchuk 63c21d120f EXT-7615 FIXED Fixed the trash button in My Outfits.
- 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-10 15:34:44 +03:00
Alexei Arabadji 50eb27a04d EXT-7644 FIXED Implemented functionality for locking outfit modification 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-08 15:36:48 +03:00
Alexei Arabadji f99a601dbe EXT-7485 FIXED Provided update of 'save as' button status and save outfit 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-04 14:58:48 +03:00
Mike Antipov b52527de3a merge
--HG--
branch : product-engine
2010-06-03 12:53:54 +03:00
Mike Antipov 86c230e490 EXT-7503 WIP Made first inventory fetch in My Outfits panel only on first 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-03 11:26:38 +03:00
Vadim Savchuk 142a6c3b8f EXT-6726 WIP Added missing menu items to the Appearance SP.
- 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-02 20:46:16 +03:00
Vadim Savchuk 671625695f EXT-6726 WIP Added more menus to the Appearance SP.
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-02 20:46:16 +03:00
Alexei Arabadji bfced6d4c1 EXT-7485 FIXED Updated 'save as new' button on inventory outfit pane to fit 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-31 15:55:08 +03:00
Vadim Savchuk d634239bac EXT-6726 WIP Added stubs for most of Appearance SP context/gear menus.
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-20 14:54:34 +03:00
Vadim Savchuk 9aacdbc155 EXT-7242 FIXED Added a new "Edit my Shape" link to avatar self-click context 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-19 14:03:29 +03:00
Vadim Savchuk 53a5b74af1 EXT-7241 FIXED Changed all "Edit Appearance" links to "Change Outfit" and 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
2010-05-15 14:40:15 +03:00
Loren Shih 1d6ebfbb57 EXT-4088 : FIXED : INFRASTRUCTURE : Change LLFolderView::getSelectionList to return a selection
Function signature change to return a selection instead of taking one as an argument.
2010-05-13 16:53:29 -04:00
Loren Shih 183122bc1d EXT-7269 : FIXED : Issue warning dialog when item is deleted that has links 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.
2010-05-07 13:44:03 -04:00
Vadim Savchuk d39ef5ce6f Implemented task EXT-7156 (Appearance panel: "Wear" button should become 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
2010-05-05 13:19:24 +03:00
Vadim Savchuk ccd4215fd4 Implemented task EXT-6559 (Appearance panel: Add edit button in place of the 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
2010-04-30 19:55:00 +03:00
Sergei Litovchuk 20d95dd523 (EXT-6722) Create modified inventory view for "my outfits" tab in top-level 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-29 20:11:58 +03:00
Dmitry Zaporozhan 2ce7556e53 Implemented by SL EXT-6722(normal task) - Create modified inventory view for "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
2010-04-21 15:44:24 +03:00
Igor Borovkov ccd0418ddf completed EXT-6719 Utilize the "description" field of outfit wearable links 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
2010-04-21 12:43:03 +03:00
Igor Borovkov 9d93441b31 done EXT-6687 Implement Save button functionality (Edit Outfit panel)
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
2010-04-09 12:30:33 +03:00
Vadim Savchuk 4a997e9627 Merge from default branch
--HG--
branch : product-engine
2010-04-06 17:17:33 +03:00
Loren Shih 873de2daae automated merge 2010-04-02 12:32:56 -04:00
Igor Borovkov 16b22d4abe merge
--HG--
branch : product-engine
2010-04-02 17:24:44 +03:00
Igor Borovkov 43d756a7dc done EXT-6674 Switch Edit Outfit panel (list at the top) to show content of the Current Outfit system folder
reviewed at https://codereview.productengine.com/secondlife/r/159/

--HG--
branch : product-engine
2010-04-02 13:58:16 +03:00
Leyla Farazha 8a22ffa622 EXT-5110 Save Outfit dialog is non-standard modal dialog (off-center placement, empty titlebar)
reviewed by Richard CC#176
2010-04-01 15:12:20 -07:00
Loren Shih 1ec47c39a6 EXT-6679 : INFRASTRUCTURE : Have LLInvFVBridge contain a LLFolderView *mRoot 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.
2010-04-01 17:50:48 -04:00
Loren Shih 5372782d50 EXT-4084 : Change LLInventoryBridge "LLFolderView* folder" to "LLFolderView *rootFolder"
Superficial cleanup - changed all instances to "LLFolderView* root".
2010-04-01 14:29:23 -04:00
Loren Shih 5861a2faf2 EXT-3414 : Move static backgroundfetch methods and variables to llinventorymodel subclass
Created LLInventoryModelBackgroundFetch file for handling background fetch.
2010-03-30 11:49:15 -04:00
Brad Payne (Vir Linden) 4ff53b9066 For EXT-4666: changed LLAppearanceManager to LLAppearanceMgr throughout 2010-03-29 11:02:39 -04:00
Eric M. Tulla (BigPapi) b3f4c6fb7a EXT-4841 - Expand one of the outfits in the outfits tab for new users so 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
2010-02-04 15:52:07 -05:00
Loren Shih 0283837e56 EXT-4492 : Deleting gestures from the wearing tab causes the viewer to crash
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.
2010-01-22 14:44:32 -05:00
Nyx (Neal Orman) 0650dc0b0a EXT-4412 swap order of tabs on outfit editor panel
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.
2010-01-19 13:52:59 -05:00
Nyx (Neal Orman) 0e62cc934c Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/ 2010-01-15 14:57:11 -05:00
Nyx (Neal Orman) b0b6890373 EXT-4253 "unsaved" detection seems buggy
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
2010-01-15 14:57:00 -05:00
Loren Shih d36e62852c EXT-4349 : [ Appearance SP ] Hide the "Wear" button when in the Wearing tab
Simple logic fix.
2010-01-14 18:42:57 -05:00
Nyx (Neal Orman) d258883b0c EXT-3952 save outfit button should be enabled on the wearing tab
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
2010-01-11 10:57:26 -05:00
Loren Shih 6abd41831a automated merge viewer2.0->viewer2.0 2010-01-07 16:20:27 -05:00