diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index e78617636..d3d5f1dbf 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -760,6 +760,17 @@ Found in Advanced->Rendering->Info Displays Value 1 + ShowLocalChatFloaterBar + + Comment + Whether or not local chat should have an input bar, requires a restart. + Persist + 1 + Type + Boolean + Value + 1 + OtherChatsTornOff Comment @@ -782,6 +793,17 @@ Found in Advanced->Rendering->Info Displays Value 1 + CommunicateSpecificShortcut + + Comment + When true, the keyboard shortcut for Communicate will not bring up the torn off Friends List. + Persist + 1 + Type + Boolean + Value + 0 + MarketImporterUpdateFreq Comment @@ -6125,6 +6147,22 @@ This should be as low as possible, but too low may break functionality 0 + FloaterChatBarlessRect + + Comment + Rectangle for chat history without input bar + Persist + 1 + Type + Rect + Value + + 0 + 172 + 500 + 0 + + FloaterClothingRect Comment diff --git a/indra/newview/ascentprefschat.cpp b/indra/newview/ascentprefschat.cpp index d4b8c3407..eab67ed86 100644 --- a/indra/newview/ascentprefschat.cpp +++ b/indra/newview/ascentprefschat.cpp @@ -329,6 +329,7 @@ void LLPrefsAscentChat::refreshValues() 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"); @@ -536,6 +537,7 @@ void LLPrefsAscentChat::cancel() 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); diff --git a/indra/newview/ascentprefschat.h b/indra/newview/ascentprefschat.h index 03e980c3f..4bf8f7551 100644 --- a/indra/newview/ascentprefschat.h +++ b/indra/newview/ascentprefschat.h @@ -66,6 +66,7 @@ protected: BOOL mIMAnnounceIncoming; BOOL mHideTypingNotification; BOOL mShowGroupNameInChatIM; + bool mShowLocalChatFloaterBar; BOOL mPlayTypingSound; BOOL mHideNotificationsInChat; BOOL mEnableMUPose; diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 24eea1733..c74719a6e 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -161,7 +161,6 @@ LLAgentCamera::LLAgentCamera() : mFocusObjectDist(0.f), mFocusObjectOffset(), mFocusDotRadius( 0.1f ), // meters - mTrackFocusObject(TRUE), mUIOffset(0.f), mAtKey(0), // Either 1, 0, or -1... indicates that movement-key is pressed @@ -225,7 +224,6 @@ void LLAgentCamera::init() mCurrentCameraDistance = getCameraOffsetInitial().magVec() * gSavedSettings.getF32("CameraOffsetScale"); mTargetCameraDistance = mCurrentCameraDistance; mCameraZoomFraction = 1.f; - mTrackFocusObject = gSavedSettings.getBOOL("TrackFocusObject"); mInitialized = true; } @@ -1623,11 +1621,9 @@ LLVector3d LLAgentCamera::calcFocusPositionTargetGlobal() { LLDrawable* drawablep = mFocusObject->mDrawable; - if (mTrackFocusObject && - drawablep && - drawablep->isActive()) + if (gSavedSettings.getBOOL("TrackFocusObject") && drawablep) { - if (!mFocusObject->isAvatar()) + if (drawablep->isActive() && !mFocusObject->isAvatar()) { if (mFocusObject->isSelected()) { diff --git a/indra/newview/llagentcamera.h b/indra/newview/llagentcamera.h index c18b493c2..3a2ced058 100644 --- a/indra/newview/llagentcamera.h +++ b/indra/newview/llagentcamera.h @@ -211,7 +211,6 @@ public: void setCameraPosAndFocusGlobal(const LLVector3d& pos, const LLVector3d& focus, const LLUUID &object_id); void clearFocusObject(); void setFocusObject(LLViewerObject* object); - void setObjectTracking(BOOL track) { mTrackFocusObject = track; } const LLVector3d &getFocusGlobal() const { return mFocusGlobal; } const LLVector3d &getFocusTargetGlobal() const { return mFocusTargetGlobal; } private: @@ -224,7 +223,6 @@ private: F32 mFocusObjectDist; LLVector3 mFocusObjectOffset; F32 mFocusDotRadius; // Meters - BOOL mTrackFocusObject; //-------------------------------------------------------------------- // Lookat / Pointat diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp index bfb4892c6..db38f8009 100644 --- a/indra/newview/llfloaterchat.cpp +++ b/indra/newview/llfloaterchat.cpp @@ -108,7 +108,8 @@ LLFloaterChat::LLFloaterChat(const LLSD& seed) mFactoryMap["active_speakers_panel"] = LLCallbackMap(createSpeakersPanel, NULL); // do not automatically open singleton floaters (as result of getInstance()) BOOL no_open = FALSE; - LLUICtrlFactory::getInstance()->buildFloater(this,"floater_chat_history.xml",&getFactoryMap(),no_open); + bool show_bar = gSavedSettings.getBOOL("ShowLocalChatFloaterBar"); + LLUICtrlFactory::getInstance()->buildFloater(this, (show_bar ? "floater_chat_history.xml" : "floater_chat_history_barless.xml"), &getFactoryMap(), no_open); childSetCommitCallback("show mutes",onClickToggleShowMute,this); //show mutes childSetCommitCallback("translate chat",onClickToggleTranslateChat,this); diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 3699bea27..62f52c759 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -1140,7 +1140,7 @@ LLFloaterIMPanel* LLIMMgr::createFloater( static LLCachedControl minimize("OtherChatsTornOffAndMinimized"); if (focused_floater != NULL) // there was a focused floater { - floater->setMinimized(true); // so minimize this one, for now + floater->setMinimized(minimize); // so minimize this one, for now, if desired focused_floater->setFocus(true); // and work around focus being removed by focusing on the last } else if (minimize) @@ -1185,7 +1185,7 @@ LLFloaterIMPanel* LLIMMgr::createFloater( static LLCachedControl minimize("OtherChatsTornOffAndMinimized"); if (focused_floater != NULL) // there was a focused floater { - floater->setMinimized(true); // so minimize this one, for now + floater->setMinimized(minimize); // so minimize this one, for now, if desired focused_floater->setFocus(true); // and work around focus being removed by focusing on the last } else if (minimize) diff --git a/indra/newview/llmaniprotate.cpp b/indra/newview/llmaniprotate.cpp index 33baf4231..b5f5d2c0c 100644 --- a/indra/newview/llmaniprotate.cpp +++ b/indra/newview/llmaniprotate.cpp @@ -500,7 +500,6 @@ BOOL LLManipRotate::handleMouseUp(S32 x, S32 y, MASK mask) // Might have missed last update due to timing. LLSelectMgr::getInstance()->sendMultipleUpdate( UPD_ROTATION | UPD_POSITION ); LLSelectMgr::getInstance()->enableSilhouette(TRUE); - //gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject")); LLSelectMgr::getInstance()->updateSelectionCenter(); LLSelectMgr::getInstance()->saveSelectedObjectTransform(SELECT_ACTION_TYPE_PICK); diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp index e1e6552f9..7392cb9c5 100644 --- a/indra/newview/llmanipscale.cpp +++ b/indra/newview/llmanipscale.cpp @@ -385,7 +385,6 @@ BOOL LLManipScale::handleMouseUp(S32 x, S32 y, MASK mask) // Might have missed last update due to UPDATE_DELAY timing LLSelectMgr::getInstance()->sendMultipleUpdate( mLastUpdateFlags ); - //gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject")); LLSelectMgr::getInstance()->saveSelectedObjectTransform(SELECT_ACTION_TYPE_PICK); } return LLManip::handleMouseUp(x, y, mask); diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp index 7c86889a1..847d6a572 100644 --- a/indra/newview/llmaniptranslate.cpp +++ b/indra/newview/llmaniptranslate.cpp @@ -1077,7 +1077,6 @@ BOOL LLManipTranslate::handleMouseUp(S32 x, S32 y, MASK mask) mInSnapRegime = FALSE; LLSelectMgr::getInstance()->saveSelectedObjectTransform(SELECT_ACTION_TYPE_PICK); - //gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject")); } return LLManip::handleMouseUp(x, y, mask); diff --git a/indra/newview/llprefschat.cpp b/indra/newview/llprefschat.cpp index 7290c3fb9..95b442c4c 100644 --- a/indra/newview/llprefschat.cpp +++ b/indra/newview/llprefschat.cpp @@ -66,6 +66,7 @@ private: LLColor4 mHTMLLinkColor; BOOL mChatFullWidth; BOOL mCloseChatOnReturn; + bool mOnlyComm; BOOL mArrowKeysMoveAvatar; BOOL mShowTimestamps; BOOL mPlayTypingAnim; @@ -111,6 +112,7 @@ 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() @@ -139,6 +141,7 @@ void LLPrefsChatImpl::refreshValues() mBubbleOpacity = gSavedSettings.getF32("ChatBubbleOpacity"); mTranslateLanguage = gSavedSettings.getString("TranslateLanguage"); mTranslateChat = gSavedSettings.getBOOL("TranslateChat"); + mOnlyComm = gSavedSettings.getBOOL("CommunicateSpecificShortcut"); } void LLPrefsChatImpl::cancel() @@ -166,6 +169,7 @@ 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/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index 6765f87bb..6170b7aca 100644 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -983,8 +983,6 @@ BOOL LLToolGrab::handleMouseUp(S32 x, S32 y, MASK mask) gGrabTransientTool = NULL; } - //gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject")); - return TRUE; } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 7781f8a82..a58e8ecf2 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2062,7 +2062,8 @@ class LLViewCommunicate : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - if (LLFloaterChatterBox::getInstance()->getFloaterCount() == 0) + static LLCachedControl only_comm("CommunicateSpecificShortcut"); + if (!only_comm && LLFloaterChatterBox::getInstance()->getFloaterCount() == 0) { LLFloaterMyFriends::toggleInstance(); } diff --git a/indra/newview/skins/default/xui/en-us/floater_chat_history_barless.xml b/indra/newview/skins/default/xui/en-us/floater_chat_history_barless.xml new file mode 100644 index 000000000..fd6eb9091 --- /dev/null +++ b/indra/newview/skins/default/xui/en-us/floater_chat_history_barless.xml @@ -0,0 +1,42 @@ + + + Connecting to in-world Voice Chat... + Connected + Voice not available at your current location + Disconnected from in-world Voice Chat + icn_voice-localchat.tga + -- Instant message logging enabled -- + -- End of Log -- + '[OBJECTNAME]', an object owned by '[OWNERNAME]', located in [REGIONNAME] at [REGIONPOS], has been granted permission to: [PERMISSIONS]. + '[OBJECTNAME]', an object owned by '[OWNERNAME]', located in [REGIONNAME] at [REGIONPOS], has been denied permission to: [PERMISSIONS]. + Take in-world money ([CURRENCY]) from you + Act on your control inputs + Remap your control inputs + Animate your avatar + Attach to your avatar + Release ownership and become public + Link and delink from other objects + Add and remove joints with other objects + Change its permissions + Track your camera + Teleport you + Control your camera + + + + Gestures + + + +