summaryrefslogtreecommitdiff
path: root/indra/newview/llbottomtray.cpp
diff options
context:
space:
mode:
authorLoren Shih <seraph@lindenlab.com>2010-02-03 17:56:36 -0500
committerLoren Shih <seraph@lindenlab.com>2010-02-03 17:56:36 -0500
commitd49e5bcbe26a4b148ce1d20a60d16581f41134c0 (patch)
treebd8caf39e789437574119304688ba3c71b7940cf /indra/newview/llbottomtray.cpp
parent1e47e5b42d352d5d838eeb96984dbf6497020e32 (diff)
parent9d71aae8273fd44dada82b1005c121255dc14dda (diff)
automated merge viewer2.0->viewer2.0
Diffstat (limited to 'indra/newview/llbottomtray.cpp')
-rw-r--r--indra/newview/llbottomtray.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp
index a2d594cfa2..4c8cec3d30 100644
--- a/indra/newview/llbottomtray.cpp
+++ b/indra/newview/llbottomtray.cpp
@@ -280,7 +280,13 @@ void LLBottomTray::onChange(EStatusType status, const std::string &channelURI, b
break;
}
- mSpeakBtn->setEnabled(enable);
+ // We have to enable/disable right and left parts of speak button separately (EXT-4648)
+ mSpeakBtn->setSpeakBtnEnabled(enable);
+ // skipped to avoid button blinking
+ if (status != STATUS_JOINING && status!= STATUS_LEFT_CHANNEL)
+ {
+ mSpeakBtn->setFlyoutBtnEnabled(LLVoiceClient::voiceEnabled() && gVoiceClient->voiceWorking());
+ }
}
void LLBottomTray::onMouselookModeOut()
@@ -410,9 +416,10 @@ BOOL LLBottomTray::postBuild()
mSpeakPanel = getChild<LLPanel>("speak_panel");
mSpeakBtn = getChild<LLSpeakButton>("talk");
- // Speak button should be initially disabled because
+ // Both parts of speak button should be initially disabled because
// it takes some time between logging in to world and connecting to voice channel.
- mSpeakBtn->setEnabled(FALSE);
+ mSpeakBtn->setSpeakBtnEnabled(false);
+ mSpeakBtn->setFlyoutBtnEnabled(false);
// Localization tool doesn't understand custom buttons like <talk_button>
mSpeakBtn->setSpeakToolTip( getString("SpeakBtnToolTip") );
@@ -474,6 +481,7 @@ void LLBottomTray::onContextMenuItemClicked(const LLSD& userdata)
else if (item == "paste")
{
edit_box->paste();
+ edit_box->setFocus(TRUE);
}
else if (item == "delete")
{