I haven't found a better way to do that than binding to focus received signal (borrowed the idea from the nearby chat input field implementation).
Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/686/
--HG--
branch : product-engine
- Removed updateCallButton() call from draw() and added it to LLIMFloater::sessionInitReplyReceived() to enable "Call" button when session is initialized.
--HG--
branch : product-engine
Changed callback signature to full_name instead of first_name,last_name
Eliminated all calls to legacy (non-signal/non-boost-bind) lookup mechanism
Change Pay dialog names to SLURL links
Tweaked layout of Pay Resident and Pay via Object floaters to make SLURLs fit
Consolidate name first + " " + last concatenation in LLCacheName::buildFullName()
Reviewed with Kelly
(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
-- replaced functionality to remove speacker from the list via Event timer.
-- removed calling of LLSpeakerMgr::update from LLPanelGroupControlPanel::draw() (group text chat)
For now list is updated when it is need.
--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