Changes:
* Changed the button class from LLButton to LLMenuButton to avoid duplicating menu positioning logic.
* Enabled LLMenuButton to support aligning menu to the top right corner of the button.
- Made avatar registration date localizeable.
- Specified localization templates for English, Japanese and German.
Reviewed by Mike: https://jira.secondlife.com/browse/EXT-6842
--HG--
branch : product-engine
* moved Map Button into the dropdown menu (with enable/click logic). New <menu_item_call label="Map" name="show_on_map"> is added into the menu_profile_overflow.xml
* redesigned rest of buttons to accommodate available space
Now buttons' widths are enough to not truncate labels in all locales.
NOTE: New "Map" item menu should be localized (just move values from panel_profile.xml to menu_profile_overflow.xml) in other locales.
Reviewed by Vadim at https://codereview.productengine.com/secondlife/r/59/
--HG--
branch : product-engine
- added updating of allowed rights when friendship is terminated/started to disable/enable checkboxes
- also added validation of avatar's relationship before committing and log a warning if it is absent.
--HG--
branch : product-engine
Also eliminated notification "ObjectGiveItemUnknownUser" because the
SLURL-based name lookup will always retrieve the user name.
Fixed a bug with ObjectGiveItem where the SLURL would be incorrect
for a group.
-- removed logic to process online status (LLPanelAvatarProfile::fillOnlineStatus) for non-existent view (name="online_status") on profile page
--HG--
branch : product-engine
(Should not be able to start a call when voice is disabled). Call buttons state now reacts on
voice changes in time.
- Added voiceWorking() method to LLVoiceClient to determine real availability of voice, because voiceEnabled()
doesn't take into account possible errors. Perhaps there is no need in two methods- some investigation will be
made and depending on its results they may become one non-static method. voiceWorking() uses state of voice
client(mState) to determine voice availability. Also some states which are not currently counted by voiceWorking()
as valid may be added if testing reveals problems.
- To enable/disable call buttons in time, LLVoiceClientStatusObserver is used. Its trigger uses states from its
enum only to skip updating button in some states(to avoid button blinking), but to determine button state
LLVoiceClient's voiceWorking() is used.
--HG--
branch : product-engine