Implementation details:
* Added new LLViewerInventoryMoveFromWorldObserver to watch moved items via their Asses UUIDs. It is instantiated only once due to drop events are sent separately for each item while multi-dragging.
* Existent LLOpenTaskOffer observer uses it to exclude watched by LLViewerInventoryMoveFromWorldObserver items from own processing.
* Removed dependancy on LLPanelPlaces in open_inventory_offer(). Openning of offered LM via group notice moved into an appropriate section (processed by LLOpenTaskGroupOffer)
Known Issues:
* If Script item is among the dragged items from object to inventory it will be the only selected item in the inventory panel.
Reason: it does not have its own Asset UUID and processed via LLOpenTaskOffer when should not.
Reviewed by Leyla and Richard at https://codereview.productengine.com/secondlife/r/116/
--HG--
branch : product-engine
Took out a bunch of code duplication from the FetchComboObserver and am using the LLFetchItems/DescendentsObservers instead. Also added some comments and made some minor superficial cleanup to LLInventoryObserver done().
Added a new abstract class LLInventoryFetchObserver from which LLInventoryFetchItems and LLInventoryFetchDescendents inherit.
Also changed isEverythingComplete to isFinished and made some other minor superficial changes.
* Changed the way blocked items are shown in the list. For now they are separated on two columns: Name & Type.
If Name is too long it is shown truncated (with ...)
* As result remove deprecated methods from LLMute to concatenate its name & type and to extract name & type from the such concatenated string.
* reduce include dependence from llmutelist.h
--HG--
branch : product-engine
EXT-4320 : Mismatch in folder descendents count is causing fetch descendents to never complete
EXT-2244 : My Outfits bars should be populated from Library on first 2.0 login
Implemented a workaround for an issue where descendent count was becoming unsynchronized. EXT-4320 is the workaround, this solves for EXT-2244, and EXT-4319 is the actual bug (whose fix is still pending).