summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorWilliam Todd Stinson <stinson@lindenlab.com>2012-11-21 16:01:54 -0800
committerWilliam Todd Stinson <stinson@lindenlab.com>2012-11-21 16:01:54 -0800
commitf23e0ffdb2ff2ad43a996c489b08c1324d9e5ee1 (patch)
treee5219901b9edc82f78a530219707f5859ccb54fc /indra/newview
parentb76123589381a2f59b704e8850792f9dcdc62517 (diff)
parentedeeed95416be2679e1ad3d29bab5396dbcccaa2 (diff)
Pull and merge from ssh://stinson@hg.lindenlab.com/richard/viewer-chui/.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/app_settings/commands.xml1
-rwxr-xr-xindra/newview/llconversationview.cpp13
-rwxr-xr-xindra/newview/llconversationview.h8
-rw-r--r--indra/newview/llfloaterimcontainer.cpp2
4 files changed, 22 insertions, 2 deletions
diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml
index d4bbd84d0f..4659673333 100644
--- a/indra/newview/app_settings/commands.xml
+++ b/indra/newview/app_settings/commands.xml
@@ -44,6 +44,7 @@
/>
<command name="chat"
available_in_toybox="true"
+ is_flashing_allowed="true"
icon="Command_Chat_Icon"
label_ref="Command_Chat_Label"
tooltip_ref="Command_Conversations_Tooltip"
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index b9d62e85c4..e40d57c318 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -82,6 +82,7 @@ LLConversationViewSession::LLConversationViewSession(const LLConversationViewSes
mVoiceClientObserver(NULL),
mMinimizedMode(false)
{
+ mFlashTimer = new LLFlashTimer();
}
LLConversationViewSession::~LLConversationViewSession()
@@ -92,6 +93,18 @@ LLConversationViewSession::~LLConversationViewSession()
{
LLVoiceClient::getInstance()->removeObserver(mVoiceClientObserver);
}
+
+ delete mFlashTimer;
+}
+
+bool LLConversationViewSession::isHighlightAllowed()
+{
+ return mFlashTimer->isFlashingInProgress() || mIsSelected;
+}
+
+bool LLConversationViewSession::isHighlightActive()
+{
+ return mFlashTimer->isFlashingInProgress() ? mFlashTimer->isCurrentlyHighlighted() : mIsCurSelection;
}
BOOL LLConversationViewSession::postBuild()
diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h
index 8156b746b2..acd7128b7d 100755
--- a/indra/newview/llconversationview.h
+++ b/indra/newview/llconversationview.h
@@ -55,7 +55,10 @@ public:
protected:
friend class LLUICtrlFactory;
LLConversationViewSession( const Params& p );
-
+
+ /*virtual*/ bool isHighlightAllowed();
+ /*virtual*/ bool isHighlightActive();
+
LLFloaterIMContainer* mContainer;
public:
@@ -82,6 +85,8 @@ public:
virtual void refresh();
+ LLFlashTimer * getFlashTimer() { return mFlashTimer; }
+
private:
void onCurrentVoiceSessionChanged(const LLUUID& session_id);
@@ -90,6 +95,7 @@ private:
LLPanel* mCallIconLayoutPanel;
LLTextBox* mSessionTitle;
LLOutputMonitorCtrl* mSpeakingIndicator;
+ LLFlashTimer* mFlashTimer;
bool mMinimizedMode;
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index bcc7e77116..304fb78260 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -1611,7 +1611,7 @@ void LLFloaterIMContainer::reSelectConversation()
void LLFloaterIMContainer::flashConversationItemWidget(const LLUUID& session_id, bool is_flashes)
{
- LLFolderViewItem* widget = get_ptr_in_map(mConversationsWidgets,session_id);
+ LLConversationViewSession * widget = dynamic_cast<LLConversationViewSession *>(get_ptr_in_map(mConversationsWidgets,session_id));
if (widget)
{
if (is_flashes)