diff options
author | Andrew Dyukov <adyukov@productengine.com> | 2010-01-22 22:16:57 +0200 |
---|---|---|
committer | Andrew Dyukov <adyukov@productengine.com> | 2010-01-22 22:16:57 +0200 |
commit | ab0c9c6754836cb26a520d0a9b2d7bbdd13a5f32 (patch) | |
tree | 4afb816e9714bdcc15f6b302a7972177044959e7 /indra/newview/llpanelpeople.h | |
parent | 818ab4b493f97b6bd98f361518953a5f2d624c03 (diff) |
Fixed normal bugs EXT-4450 ([BSI] call buttons enabled when voice is disabled) and EXT-4313
(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
Diffstat (limited to 'indra/newview/llpanelpeople.h')
-rw-r--r-- | indra/newview/llpanelpeople.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h index 7580fdbeef..6d3d436156 100644 --- a/indra/newview/llpanelpeople.h +++ b/indra/newview/llpanelpeople.h @@ -36,13 +36,16 @@ #include <llpanel.h> #include "llcallingcard.h" // for avatar tracker +#include "llvoiceclient.h" class LLFilterEditor; class LLTabContainer; class LLAvatarList; class LLGroupList; -class LLPanelPeople : public LLPanel +class LLPanelPeople + : public LLPanel + , public LLVoiceClientStatusObserver { LOG_CLASS(LLPanelPeople); public: @@ -52,6 +55,9 @@ public: /*virtual*/ BOOL postBuild(); /*virtual*/ void onOpen(const LLSD& key); /*virtual*/ bool notifyChildren(const LLSD& info); + // Implements LLVoiceClientStatusObserver::onChange() to enable call buttons + // when voice is available + /*virtual*/ void onChange(EStatusType status, const std::string &channelURI, bool proximal); // internals class Updater; @@ -73,7 +79,6 @@ private: bool isFriendOnline(const LLUUID& id); bool isItemsFreeOfFriends(const std::vector<LLUUID>& uuids); - bool canCall(); void updateButtons(); std::string getActiveTabName() const; |