- The root of busy response problem is that this text is located in non-localizable xml and, to make things worse, may be changed by user. So usual translation approach is little help here. So busy response was set the following way(EXT-5885)- on first run, string was written there from strings xml and was never changed later without direct user actions. So after changin locale message always remained the same.
- To make this string localize each time locale is changed and if it is the same as default message, new setting was added- BusyResponseChanged which is TRUE if user's busy message differ's from default. If it is true, we do nothing when locale changes, otherwise we set default message from current locale as user's busy message.
- Old transitional code from DEV-24146 was removed in this diff including unnecessary "BusyModeResponse2" setting(it is not needed because we'll anyway have to set busy message to default after first run of viewer after this fix and now busy response will be stored in "BusyModeResponse").
Warning! If user modified busy response message before this fix, it will be reset to default after first postfix run.
Reviewed by Richard Linden at https://codereview.productengine.com/secondlife/r/350/
--HG--
branch : product-engine
- 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
Replaced usage usage of "ObjectGiveItemUnknownUser" notification with functionality provided by LLPostponedNotification class;
reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/345/
--HG--
branch : product-engine
Utilized old save and load notification code.
Main concern was with notifications that have complex responder - UserGiveItem, ObjectGiveItem. Those responders are object with own fields that need to persist through sessions.
Notifications that should be saved are marked with persist="true" in notifications.xml
Notifications using functor responders are saved automatically.
Notifications using object responders need additional tuning. Responder object should be a) serializable(implement LLNotificationResponderInterface), b) registered with LLResponderRegistry.
At this point following notifications persist through sessions: UserGiveItem, ObjectGiveItem, TeleportOffered, FrienshipOffered.
Reviewed by Mike Antipov - https://codereview.productengine.com/secondlife/r/211/
--HG--
branch : notifications
Fixed regression introduced by rev. 050ab9232a5a, provided passing payload parameter "give_inventory_notification" to notification.
reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/273/
--HG--
branch : product-engine
Added:
- parsing of region information from "lure" binary bucket
- displaying destination region maturity by teleport offer
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/229/
--HG--
branch : product-engine
- Bug was caused by absence of localizable string for "You paid..." notifications without name and reason simultaneously.
Added such string("you_paid_ldollars_no_info") to strings.xml and used it in code.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/206/
--HG--
branch : product-engine
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