diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f6828bc36..ca7cc1672 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -760,6 +760,28 @@ Found in Advanced->Rendering->Info Displays Value 1 + ContactsUseHorizontalButtons + + Comment + Whether or not groups and friends lists use horizontal buttons at the bottom of the panel or vertical ones on the right, requires a restart. + Persist + 1 + Type + Boolean + Value + 0 + + UseConciseIMButtons + + Comment + Whether or not IMs use buttons concisely on the same line as the name of the receiver, changes apply to new IMs only. + Persist + 1 + Type + Boolean + Value + 0 + ConciseIMButtons ShowLocalChatFloaterBar Comment @@ -6182,7 +6204,23 @@ This should be as low as possible, but too low may break functionality FloaterContactsRect Comment - Rectangle for chat history + Rectangle for contacts floater + Persist + 1 + Type + Rect + Value + + 0 + 390 + 395 + 0 + + + FloaterContactsHorizRect + + Comment + Rectangle for contacts floater in horizontal mode Persist 1 Type diff --git a/indra/newview/ascentprefschat.cpp b/indra/newview/ascentprefschat.cpp index eab67ed86..467d0b40b 100644 --- a/indra/newview/ascentprefschat.cpp +++ b/indra/newview/ascentprefschat.cpp @@ -325,11 +325,9 @@ void LLPrefsAscentChat::onCommitKeywords(LLUICtrl* ctrl, void* user_data) void LLPrefsAscentChat::refreshValues() { //Chat/IM ----------------------------------------------------------------------------- - mWoLfVerticalIMTabs = gSavedSettings.getBOOL("WoLfVerticalIMTabs"); mIMAnnounceIncoming = gSavedSettings.getBOOL("AscentInstantMessageAnnounceIncoming"); mHideTypingNotification = gSavedSettings.getBOOL("AscentHideTypingNotification"); mShowGroupNameInChatIM = gSavedSettings.getBOOL("OptionShowGroupNameInChatIM"); - mShowLocalChatFloaterBar = gSavedSettings.getBOOL("ShowLocalChatFloaterBar"); mPlayTypingSound = gSavedSettings.getBOOL("PlayTypingSound"); mHideNotificationsInChat = gSavedSettings.getBOOL("HideNotificationsInChat"); mEnableMUPose = gSavedSettings.getBOOL("AscentAllowMUpose"); @@ -337,7 +335,6 @@ void LLPrefsAscentChat::refreshValues() mLinksForChattingObjects = gSavedSettings.getU32("LinksForChattingObjects"); mSecondsInChatAndIMs = gSavedSettings.getBOOL("SecondsInChatAndIMs"); mSecondsInLog = gSavedSettings.getBOOL("SecondsInLog"); - mOtherChatsTornOff = gSavedSettings.getBOOL("OtherChatsTornOff"); std::string format = gSavedSettings.getString("ShortTimeFormat"); if (format.find("%p") == -1) @@ -375,6 +372,14 @@ void LLPrefsAscentChat::refreshValues() mIMResponseItem = gSavedPerAccountSettings.getBOOL("AscentInstantMessageResponseItem"); mIMResponseText = gSavedPerAccountSettings.getString("AscentInstantMessageResponse"); + //Chat UI ----------------------------------------------------------------------------- + mWoLfVerticalIMTabs = gSavedSettings.getBOOL("WoLfVerticalIMTabs"); + mOtherChatsTornOff = gSavedSettings.getBOOL("OtherChatsTornOff"); + mShowLocalChatFloaterBar = gSavedSettings.getBOOL("ShowLocalChatFloaterBar"); + mHorizButt = gSavedSettings.getBOOL("ContactsUseHorizontalButtons"); + mOneLineIMButt = gSavedSettings.getBOOL("UseConciseIMButtons"); + mOnlyComm = gSavedSettings.getBOOL("CommunicateSpecificShortcut"); + //Spam -------------------------------------------------------------------------------- mEnableAS = gSavedSettings.getBOOL("AntiSpamEnabled"); mGlobalQueue = gSavedSettings.getBOOL("_NACL_AntiSpamGlobalQueue"); @@ -533,11 +538,9 @@ void LLPrefsAscentChat::refresh() void LLPrefsAscentChat::cancel() { //Chat/IM ----------------------------------------------------------------------------- - gSavedSettings.setBOOL("WoLfVerticalIMTabs", mWoLfVerticalIMTabs); gSavedSettings.setBOOL("AscentInstantMessageAnnounceIncoming", mIMAnnounceIncoming); gSavedSettings.setBOOL("AscentHideTypingNotification", mHideTypingNotification); gSavedSettings.setBOOL("OptionShowGroupNameInChatIM", mShowGroupNameInChatIM); - gSavedSettings.setBOOL("ShowLocalChatFloaterBar", mShowLocalChatFloaterBar); gSavedSettings.setBOOL("PlayTypingSound", mPlayTypingSound); gSavedSettings.setBOOL("HideNotificationsInChat", mHideNotificationsInChat); gSavedSettings.setBOOL("AscentAllowMUpose", mEnableMUPose); @@ -545,7 +548,6 @@ void LLPrefsAscentChat::cancel() gSavedSettings.setU32("LinksForChattingObjects", mLinksForChattingObjects); gSavedSettings.setBOOL("SecondsInChatAndIMs", mSecondsInChatAndIMs); gSavedSettings.setBOOL("SecondsInLog", mSecondsInLog); - gSavedSettings.setBOOL("OtherChatsTornOff", mOtherChatsTornOff); std::string short_date, long_date, short_time, long_time, timestamp; @@ -596,6 +598,14 @@ void LLPrefsAscentChat::cancel() gSavedPerAccountSettings.setBOOL("AscentInstantMessageResponseItem", mIMResponseItem); gSavedPerAccountSettings.setString("AscentInstantMessageResponse", mIMResponseText); + //Chat UI ----------------------------------------------------------------------------- + gSavedSettings.setBOOL("WoLfVerticalIMTabs", mWoLfVerticalIMTabs); + gSavedSettings.setBOOL("OtherChatsTornOff", mOtherChatsTornOff); + gSavedSettings.setBOOL("ShowLocalChatFloaterBar", mShowLocalChatFloaterBar); + gSavedSettings.setBOOL("ContactsUseHorizontalButtons", mHorizButt); + gSavedSettings.setBOOL("UseConciseIMButtons", mOneLineIMButt); + gSavedSettings.setBOOL("CommunicateSpecificShortcut", mOnlyComm); + //Spam -------------------------------------------------------------------------------- gSavedSettings.setBOOL("AntiSpamEnabled", mEnableAS); gSavedSettings.setBOOL("_NACL_AntiSpamGlobalQueue", mGlobalQueue); diff --git a/indra/newview/ascentprefschat.h b/indra/newview/ascentprefschat.h index 4bf8f7551..d66297848 100644 --- a/indra/newview/ascentprefschat.h +++ b/indra/newview/ascentprefschat.h @@ -62,11 +62,9 @@ protected: static void onCommitKeywords(LLUICtrl* ctrl, void* user_data); //Chat/IM ----------------------------------------------------------------------------- - BOOL mWoLfVerticalIMTabs; BOOL mIMAnnounceIncoming; BOOL mHideTypingNotification; BOOL mShowGroupNameInChatIM; - bool mShowLocalChatFloaterBar; BOOL mPlayTypingSound; BOOL mHideNotificationsInChat; BOOL mEnableMUPose; @@ -78,7 +76,6 @@ protected: U32 tempDateFormat; BOOL mSecondsInChatAndIMs; BOOL mSecondsInLog; - BOOL mOtherChatsTornOff; BOOL mIMResponseAnyone; BOOL mIMResponseFriends; @@ -89,6 +86,14 @@ protected: BOOL mIMResponseItem; std::string mIMResponseText; + //Chat UI ----------------------------------------------------------------------------- + bool mWoLfVerticalIMTabs; + bool mOtherChatsTornOff; + bool mShowLocalChatFloaterBar; + bool mHorizButt; + bool mOneLineIMButt; + bool mOnlyComm; + //Spam -------------------------------------------------------------------------------- BOOL mEnableAS; BOOL mGlobalQueue; diff --git a/indra/newview/llfloateravatarlist.cpp b/indra/newview/llfloateravatarlist.cpp index e12b95156..0c6e71773 100644 --- a/indra/newview/llfloateravatarlist.cpp +++ b/indra/newview/llfloateravatarlist.cpp @@ -476,6 +476,15 @@ void LLFloaterAvatarList::assessColumns() mAvatarList->getColumn(LIST_AVATAR_NAME)->mDynamicWidth = TRUE; mAvatarList->getColumn(LIST_AVATAR_NAME)->mRelWidth = -1; } + else if (!hide_client) + { + mAvatarList->getColumn(LIST_CLIENT)->setWidth(0); + mAvatarList->getColumn(LIST_AVATAR_NAME)->setWidth(0); + mAvatarList->getColumn(LIST_AVATAR_NAME)->mDynamicWidth = FALSE; + mAvatarList->getColumn(LIST_AVATAR_NAME)->mRelWidth = 0; + mAvatarList->getColumn(LIST_CLIENT)->mDynamicWidth = TRUE; + mAvatarList->getColumn(LIST_CLIENT)->mRelWidth = -1; + } mAvatarList->updateLayout(); } diff --git a/indra/newview/llfloaterchatterbox.cpp b/indra/newview/llfloaterchatterbox.cpp index 9e41340fe..876e2c321 100644 --- a/indra/newview/llfloaterchatterbox.cpp +++ b/indra/newview/llfloaterchatterbox.cpp @@ -54,7 +54,8 @@ LLFloaterMyFriends::LLFloaterMyFriends(const LLSD& seed) mFactoryMap["groups_panel"] = LLCallbackMap(LLFloaterMyFriends::createGroupsPanel, NULL); // do not automatically open singleton floaters (as result of getInstance()) BOOL no_open = FALSE; - LLUICtrlFactory::getInstance()->buildFloater(this, "floater_my_friends.xml", &getFactoryMap(), no_open); + static LLCachedControl horiz("ContactsUseHorizontalButtons"); + LLUICtrlFactory::getInstance()->buildFloater(this, (horiz ? "floater_my_friends_horiz.xml" : "floater_my_friends.xml"), &getFactoryMap(), no_open); } LLFloaterMyFriends::~LLFloaterMyFriends() diff --git a/indra/newview/llfloatersettingsdebug.cpp b/indra/newview/llfloatersettingsdebug.cpp index 45b2c5c45..5bd332024 100644 --- a/indra/newview/llfloatersettingsdebug.cpp +++ b/indra/newview/llfloatersettingsdebug.cpp @@ -352,7 +352,14 @@ void LLFloaterSettingsDebug::updateControl() bool_ctrl->setVisible(true); if (!bool_ctrl->hasFocus()) { - bool_ctrl->setValue(sd.asInteger()); + if (sd.asBoolean()) + { + bool_ctrl->setValue(LLSD("TRUE")); + } + else + { + bool_ctrl->setValue(LLSD("FALSE")); + } } break; case TYPE_STRING: diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp index 2cbe64c02..65617418f 100644 --- a/indra/newview/llimpanel.cpp +++ b/indra/newview/llimpanel.cpp @@ -1184,7 +1184,8 @@ void LLFloaterIMPanel::init(const std::string& session_label) // [Ansariel: Display name support] mProfileButtonEnabled = FALSE; // [/Ansariel: Display name support] - + + static LLCachedControl concisebuttons("UseConciseIMButtons"); std::string xml_filename; switch(mDialog) { @@ -1206,7 +1207,7 @@ void LLFloaterIMPanel::init(const std::string& session_label) mVoiceChannel = new LLVoiceChannelGroup(mSessionUUID, mSessionLabel); break; case IM_SESSION_P2P_INVITE: - xml_filename = "floater_instant_message.xml"; + xml_filename = concisebuttons ? "floater_instant_message_concisebuttons.xml" : "floater_instant_message.xml"; mVoiceChannel = new LLVoiceChannelP2P(mSessionUUID, mSessionLabel, mOtherParticipantUUID); break; case IM_SESSION_CONFERENCE_START: @@ -1217,7 +1218,7 @@ void LLFloaterIMPanel::init(const std::string& session_label) // just received text from another user case IM_NOTHING_SPECIAL: - xml_filename = "floater_instant_message.xml"; + xml_filename = concisebuttons ? "floater_instant_message_concisebuttons.xml" : "floater_instant_message.xml"; mTextIMPossible = LLVoiceClient::getInstance()->isSessionTextIMPossible(mSessionUUID); mProfileButtonEnabled = LLVoiceClient::getInstance()->isParticipantAvatar(mSessionUUID); @@ -1227,7 +1228,7 @@ void LLFloaterIMPanel::init(const std::string& session_label) break; default: llwarns << "Unknown session type" << llendl; - xml_filename = "floater_instant_message.xml"; + xml_filename = concisebuttons ? "floater_instant_message_concisebuttons.xml" : "floater_instant_message.xml"; break; } diff --git a/indra/newview/llprefschat.cpp b/indra/newview/llprefschat.cpp index 95b442c4c..7290c3fb9 100644 --- a/indra/newview/llprefschat.cpp +++ b/indra/newview/llprefschat.cpp @@ -66,7 +66,6 @@ private: LLColor4 mHTMLLinkColor; BOOL mChatFullWidth; BOOL mCloseChatOnReturn; - bool mOnlyComm; BOOL mArrowKeysMoveAvatar; BOOL mShowTimestamps; BOOL mPlayTypingAnim; @@ -112,7 +111,6 @@ LLPrefsChatImpl::LLPrefsChatImpl() childSetValue("bubble_chat_opacity", gSavedSettings.getF32("ChatBubbleOpacity")); childSetValue("translate_language_combobox", gSavedSettings.getString("TranslateLanguage")); childSetValue("translate_chat", gSavedSettings.getBOOL("TranslateChat")); - mOnlyComm = gSavedSettings.getBOOL("CommunicateSpecificShortcut"); } void LLPrefsChatImpl::refreshValues() @@ -141,7 +139,6 @@ void LLPrefsChatImpl::refreshValues() mBubbleOpacity = gSavedSettings.getF32("ChatBubbleOpacity"); mTranslateLanguage = gSavedSettings.getString("TranslateLanguage"); mTranslateChat = gSavedSettings.getBOOL("TranslateChat"); - mOnlyComm = gSavedSettings.getBOOL("CommunicateSpecificShortcut"); } void LLPrefsChatImpl::cancel() @@ -169,7 +166,6 @@ void LLPrefsChatImpl::cancel() gSavedSettings.setF32("ChatBubbleOpacity", mBubbleOpacity); gSavedSettings.setString("TranslateLanguage", mTranslateLanguage); gSavedSettings.setBOOL("TranslateChat", mTranslateChat); - gSavedSettings.setBOOL("CommunicateSpecificShortcut", mOnlyComm); } void LLPrefsChatImpl::apply() diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index c452c85ab..32d553aae 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2011,7 +2011,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) // BOOL is_busy = gAgent.getBusy(); - BOOL is_muted = LLMuteList::getInstance()->isMuted(from_id, name, LLMute::flagTextChat); + BOOL is_muted = LLMuteList::getInstance()->isMuted(from_id, name, LLMute::flagTextChat) + // object IMs contain sender object id in session_id (STORM-1209) + || dialog == IM_FROM_TASK && LLMuteList::getInstance()->isMuted(session_id); BOOL is_linden = LLMuteList::getInstance()->isLinden(name); BOOL is_owned_by_me = FALSE; @@ -2509,7 +2511,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) info->mFolderID = gInventory.findCategoryUUIDForType(LLFolderType::assetTypeToFolderType(info->mType)); std::string from_name; - from_name += "A group member named "; + from_name += LLTrans::getString("AGroupMemberNamed") + " "; from_name += name; info->mFromName = from_name; diff --git a/indra/newview/skins/default/xui/en-us/floater_instant_message_concisebuttons.xml b/indra/newview/skins/default/xui/en-us/floater_instant_message_concisebuttons.xml new file mode 100644 index 000000000..2a0a18eaf --- /dev/null +++ b/indra/newview/skins/default/xui/en-us/floater_instant_message_concisebuttons.xml @@ -0,0 +1,31 @@ + + + Connecting... + Calling... + Connected, click End Call to hang up + Call ended + icn_voice-pvtfocus.tga + Instant Message with [NAME] + [NAME] is typing... + Starting session with [NAME], please wait. + Click here to instant message. + Text chat is not available for this call. + Inventory item offered +