(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
Improved the implementation for auto-connecting an adhoc call. This
involved having the controller (LLIMMgr) set a flag in the model
(LLIMModel) to autoconnect on initialize. Now all of the view code
(LLPanelChatControlPanel) and the signal/callback infrastructure that
I added earlier can be removed as it violated MVP separation. Ah!
Much nicer. Thanks to PE folk for the suggestion.
refactored share code to all call LLAvatarActions::share.
Function opens an IM window if one doesn't already exist and prints an
appropriate message, as well as opening the inventory sidepanel.
Verified working in IM window, people tab, and individual's profile.
Will be post-reviewed before push.
--HG--
branch : avatar-pipeline
First pass at getting share buttons in the three places we need them:
person's profile
IM window
people panel
Only UI changes so far, functionality in a future checkin.
Will be reviewed before pushing.
--HG--
branch : avatar-pipeline
You can now multiple select users in the People panel, hit Call, and
start an ad-hoc voice conference call with those users.
The most difficult part here was automatically starting the call once
the conference chat panel popped up. We have to wait for the panel to
initialize before we can start a call, so I added another callback to
LLIMModel to enable us to get notified when the panel has initialized.
This is all wrapped up behind a new LLAvatarActions::startAdhocCall()
API.
I've added a new LLAvatarActions::startCall() method to make it easy
to start a new P2P call. The Resident Profile "Call" button is now
hooked up to this.
I've also put back the "Call" menu in the avatar popup menu and hooked
this up too. While I was there I noticed that the "IM" popup menu code
could all be removed in favor of a call to LLAvatarActions::startIM().
Resolved conflicts in lltexteditor.cpp, llchatitemscontainerctrl.cpp, llchatmsgbox.cpp, llfloaterbuycurrency.cpp, llnearbychat.cpp, floater_buy_currency.xml, and ru/strings.xml
Merging revisions 134925-135157 of svn+ssh://svn.lindenlab.com/svn/linden/branches/gooey/gooey-4 into C:\source\viewer-2.0.0-3, respecting ancestry
Bug Fixes:
* EXT-637 EXT-595
Dev work:
* EXT-694
QA:
* Be sure feature works on other locales
Known issues:
* If old Calling Card of person who presents in the friend list is removed - "Do you want to remove ..." dialog is shown, if old Calling Card of non-friend is removed it is removed in the old way without any alerts.
* It is possible to create 2 deep level subfolders under the Calling Cards/Friends/ subfolders. This should be disabled due to Accordion does not support tree hierarchy.
* If friendship is removed when agent is offline, Friend Card is not removed from Inventory.