diff options
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/llui/llchatentry.cpp | 2 | ||||
-rwxr-xr-x | indra/llui/llchatentry.h | 2 | ||||
-rwxr-xr-x | indra/llui/lltextbase.cpp | 26 | ||||
-rwxr-xr-x | indra/llui/lltextbase.h | 2 | ||||
-rwxr-xr-x | indra/newview/app_settings/settings.xml | 2 | ||||
-rwxr-xr-x | indra/newview/llconversationmodel.cpp | 2 | ||||
-rwxr-xr-x | indra/newview/llconversationview.cpp | 5 | ||||
-rwxr-xr-x | indra/newview/llfloaterimsession.cpp | 12 | ||||
-rwxr-xr-x | indra/newview/llfloaterimsessiontab.cpp | 3 | ||||
-rwxr-xr-x | indra/newview/llfloaterimsessiontab.h | 3 | ||||
-rwxr-xr-x | indra/newview/llimview.cpp | 3 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/floater_im_session.xml | 14 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/notifications.xml | 4 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/panel_preferences_chat.xml | 4 |
14 files changed, 41 insertions, 43 deletions
diff --git a/indra/llui/llchatentry.cpp b/indra/llui/llchatentry.cpp index c7e732e0c9..c04b70eb64 100755 --- a/indra/llui/llchatentry.cpp +++ b/indra/llui/llchatentry.cpp @@ -158,7 +158,7 @@ void LLChatEntry::onValueChange(S32 start, S32 end) resetLabel(); } -bool LLChatEntry::useLabel() +bool LLChatEntry::useLabel() const { return !getLength() && !mLabel.empty(); } diff --git a/indra/llui/llchatentry.h b/indra/llui/llchatentry.h index 3a5e87e8c8..e67f39b21b 100755 --- a/indra/llui/llchatentry.h +++ b/indra/llui/llchatentry.h @@ -56,7 +56,7 @@ protected: LLChatEntry(const Params& p); /*virtual*/ void beforeValueChange(); /*virtual*/ void onValueChange(S32 start, S32 end); - /*virtual*/ bool useLabel(); + /*virtual*/ bool useLabel() const; public: diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index bf216b32d4..a53a38124c 100755 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1854,7 +1854,17 @@ LLTextBase::segment_set_t::iterator LLTextBase::getSegIterContaining(S32 index) static LLPointer<LLIndexSegment> index_segment = new LLIndexSegment(); - if (index > getLength()) { return mSegments.end(); } + S32 text_len = 0; + if (!useLabel()) + { + text_len = getLength(); + } + else + { + text_len = mLabel.getWString().length(); + } + + if (index > text_len) { return mSegments.end(); } // when there are no segments, we return the end iterator, which must be checked by caller if (mSegments.size() <= 1) { return mSegments.begin(); } @@ -1870,7 +1880,17 @@ LLTextBase::segment_set_t::const_iterator LLTextBase::getSegIterContaining(S32 i { static LLPointer<LLIndexSegment> index_segment = new LLIndexSegment(); - if (index > getLength()) { return mSegments.end(); } + S32 text_len = 0; + if (!useLabel()) + { + text_len = getLength(); + } + else + { + text_len = mLabel.getWString().length(); + } + + if (index > text_len) { return mSegments.end(); } // when there are no segments, we return the end iterator, which must be checked by caller if (mSegments.size() <= 1) { return mSegments.begin(); } @@ -2101,7 +2121,7 @@ void LLTextBase::resetLabel() } } -bool LLTextBase::useLabel() +bool LLTextBase::useLabel() const { return !getLength() && !mLabel.empty() && !hasFocus(); } diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index 20a73387b5..2fb58d468a 100755 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -507,7 +507,7 @@ protected: void initFromParams(const Params& p); virtual void beforeValueChange(); virtual void onValueChange(S32 start, S32 end); - virtual bool useLabel(); + virtual bool useLabel() const; // draw methods void drawSelectionBackground(); // draws the black box behind the selected text diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 411e5f9005..313eb550fd 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -6499,7 +6499,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>noaction</string> + <string>toast</string> </map> <key>NotificationToastLifeTime</key> <map> diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp index 27caedf472..192a594c9d 100755 --- a/indra/newview/llconversationmodel.cpp +++ b/indra/newview/llconversationmodel.cpp @@ -363,7 +363,7 @@ void LLConversationItemSession::buildContextMenu(LLMenuGL& menu, U32 flags) lldebugs << "LLConversationItemParticipant::buildContextMenu()" << llendl; menuentry_vec_t items; menuentry_vec_t disabled_items; - if(flags & ITEM_IN_MULTI_SELECTION) + if((flags & ITEM_IN_MULTI_SELECTION) && (this->getType() != CONV_SESSION_NEARBY)) { items.push_back(std::string("close_selected_conversations")); } diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 0695337241..9bb9c826e5 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -127,7 +127,10 @@ void LLConversationViewSession::setHighlightState(bool hihglight_state) void LLConversationViewSession::startFlashing() { - if (isInVisibleChain() && mFlashStateOn && !mFlashStarted) + LLFloaterIMContainer* im_box = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"); + + // Need to start flashing only when "Conversations" is opened or brought on top + if (isInVisibleChain() && !im_box->isMinimized() && mFlashStateOn && !mFlashStarted) { mFlashStarted = true; mFlashTimer->startFlashing(); diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp index 1de6effa2b..5cb9df5625 100755 --- a/indra/newview/llfloaterimsession.cpp +++ b/indra/newview/llfloaterimsession.cpp @@ -109,18 +109,6 @@ void LLFloaterIMSession::refresh() void LLFloaterIMSession::onTearOffClicked() { LLFloaterIMSessionTab::onTearOffClicked(); - mSpeakingIndicator->setVisible(mIsP2PChat); - if(mIsP2PChat) - { - if(isTornOff()) - { - mSpeakingIndicator->setSpeakerId(mOtherParticipantUUID, mSessionID); - } - else - { - mSpeakingIndicator->setSpeakerId(LLUUID::null); - } - } } // virtual diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index cc2859c099..53b439b32e 100755 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -55,7 +55,6 @@ LLFloaterIMSessionTab::LLFloaterIMSessionTab(const LLSD& session_id) , mSessionID(session_id.asUUID()) , mConversationsRoot(NULL) , mScroller(NULL) - , mSpeakingIndicator(NULL) , mChatHistory(NULL) , mInputEditor(NULL) , mInputEditorPad(0) @@ -259,8 +258,6 @@ BOOL LLFloaterIMSessionTab::postBuild() scroller_params.rect(scroller_view_rect); mScroller = LLUICtrlFactory::create<LLFolderViewScrollContainer>(scroller_params); mScroller->setFollowsAll(); - - mSpeakingIndicator = getChild<LLOutputMonitorCtrl>("speaking_indicator"); // Insert that scroller into the panel widgets hierarchy mParticipantListPanel->addChild(mScroller); diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h index ba80d2369a..e5f17a25f4 100755 --- a/indra/newview/llfloaterimsessiontab.h +++ b/indra/newview/llfloaterimsessiontab.h @@ -171,8 +171,7 @@ protected: LLFolderView* mConversationsRoot; LLScrollContainer* mScroller; - LLOutputMonitorCtrl* mSpeakingIndicator; - LLChatHistory* mChatHistory; + LLChatHistory* mChatHistory; LLChatEntry* mInputEditor; LLLayoutPanel * mChatLayoutPanel; LLLayoutStack * mInputPanels; diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index ba96c5ee24..8d055be263 100755 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -311,9 +311,10 @@ void notify_of_message(const LLSD& msg, bool is_dnd_msg) } else { - if (is_dnd_msg && (ON_TOP == conversations_floater_status || + if ((is_dnd_msg && (ON_TOP == conversations_floater_status || NOT_ON_TOP == conversations_floater_status || CLOSED == conversations_floater_status)) + || CLOSED == conversations_floater_status) { im_box->highlightConversationItemWidget(session_id, true); } diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 8da4213c65..43d0f2fb18 100755 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -142,19 +142,7 @@ left_pad="2" name="voice_call_btn" tool_tip="Open voice connection" - width="31"/> - <output_monitor - auto_update="true" - follows="top|left" - draw_border="false" - height="16" - layout="topleft" - top="10" - left_pad="10" - mouse_opaque="true" - name="speaking_indicator" - visible="false" - width="20" /> + width="31"/> <button follows="right|top" height="25" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 9d1973f267..6ed5f6b2cc 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -5954,9 +5954,7 @@ Your calling card was declined. icon="notifytip.tga" name="TeleportToPerson" type="notifytip"> - To contact Residents like '[NAME]', click on the "People" button , select a Resident from the window that opens, then click 'IM' at the - bottom of the window. - (You can also double-click on their name in the list, or right-click and choose 'IM'). + To open a private conversation with someone, right-click on their avatar and choose 'IM' from the menu. </notification> <notification diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml index 2fd26e3f01..8e867259c5 100755 --- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml @@ -14,6 +14,7 @@ border="false" height="60" layout="topleft" + name="general_chat_settings" top="10" left="13" width="517"> @@ -97,6 +98,7 @@ border="false" height="165" layout="topleft" + name="im_notification_settings" left="13" width="517"> @@ -382,6 +384,7 @@ border="false" height="50" layout="topleft" + name="play_sound_settings" left="13" top_pad="10" width="517"> @@ -444,6 +447,7 @@ <panel height="50" layout="topleft" + name="log_settings" left="13" top_pad="10" width="505"> |