diff options
author | William Todd Stinson <stinson@lindenlab.com> | 2012-11-21 16:01:54 -0800 |
---|---|---|
committer | William Todd Stinson <stinson@lindenlab.com> | 2012-11-21 16:01:54 -0800 |
commit | f23e0ffdb2ff2ad43a996c489b08c1324d9e5ee1 (patch) | |
tree | e5219901b9edc82f78a530219707f5859ccb54fc /indra/newview | |
parent | b76123589381a2f59b704e8850792f9dcdc62517 (diff) | |
parent | edeeed95416be2679e1ad3d29bab5396dbcccaa2 (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.xml | 1 | ||||
-rwxr-xr-x | indra/newview/llconversationview.cpp | 13 | ||||
-rwxr-xr-x | indra/newview/llconversationview.h | 8 | ||||
-rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 2 |
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) |