diff options
| -rw-r--r-- | indra/newview/llfloaterpreference.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llselectmgr.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llselectmgr.h | 1 | ||||
| -rw-r--r-- | indra/newview/lltoolpie.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_preferences_advanced.xml | 51 | 
5 files changed, 51 insertions, 20 deletions
| diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 8b3391726a..a199da3b00 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -1043,11 +1043,15 @@ void LLFloaterPreference::onClickSetKey()  void LLFloaterPreference::setKey(KEY key)  {  	childSetValue("modifier_combo", LLKeyboard::stringFromKey(key)); +	// update the control right away since we no longer wait for apply +	getChild<LLUICtrl>("modifier_combo")->onCommit();  }  void LLFloaterPreference::onClickSetMiddleMouse()  {  	childSetValue("modifier_combo", "MiddleMouse"); +	// update the control right away since we no longer wait for apply +	getChild<LLUICtrl>("modifier_combo")->onCommit();  }  void LLFloaterPreference::onClickSkipDialogs() diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index d68897b64f..759c86f3a0 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -801,6 +801,8 @@ LLObjectSelectionHandle LLSelectMgr::setHoverObject(LLViewerObject *objectp, S32  		return NULL;  	} +	mHoverObjects->mPrimaryObject = objectp;  +  	objectp = objectp->getRootEdit();  	// is the requested object the same as the existing hover object root? @@ -834,6 +836,11 @@ LLSelectNode *LLSelectMgr::getHoverNode()  	return mHoverObjects->getFirstRootNode();  } +LLSelectNode *LLSelectMgr::getPrimaryHoverNode() +{ +	return mHoverObjects->mSelectNodeMap[mHoverObjects->mPrimaryObject]; +} +  void LLSelectMgr::highlightObjectOnly(LLViewerObject* objectp)  {  	if (!objectp) diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index 6e757ef976..2050a73f26 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -404,6 +404,7 @@ public:  	LLObjectSelectionHandle setHoverObject(LLViewerObject *objectp, S32 face = -1);  	LLSelectNode *getHoverNode(); +	LLSelectNode *getPrimaryHoverNode();  	void highlightObjectOnly(LLViewerObject *objectp);  	void highlightObjectAndFamily(LLViewerObject *objectp); diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 304f1dffaf..0a9e72506b 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -598,6 +598,9 @@ BOOL LLToolPie::handleDoubleClick(S32 x, S32 y, MASK mask)  static bool needs_tooltip(LLSelectNode* nodep)  { +	if (!nodep)  +		return false; +  	LLViewerObject* object = nodep->getObject();  	LLViewerObject *parent = (LLViewerObject *)object->getParent();  	if (object->flagHandleTouch() @@ -773,7 +776,10 @@ BOOL LLToolPie::handleToolTip(S32 local_x, S32 local_y, MASK mask)  					}  				} -				bool needs_tip = needs_tooltip(nodep); +				// also check the primary node since sometimes it can have an action even though +				// the root node doesn't +				bool needs_tip = needs_tooltip(nodep) ||  +					             needs_tooltip(LLSelectMgr::getInstance()->getPrimaryHoverNode());  				if (show_all_object_tips || needs_tip)  				{ diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index 91dcdce23b..b8fc72b754 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -240,8 +240,8 @@ Avatars:       width="256"       top_pad="5"/>      <radio_group -	 enabled_control="ShowScriptErrors" -	 control_name="ShowScriptErrorsLocation" +     enabled_control="ShowScriptErrors" +     control_name="ShowScriptErrorsLocation"       follows="top|left"       draw_border="false"       height="40" @@ -269,6 +269,8 @@ Avatars:      </radio_group>       <check_box       follows="top|left" +     enabled_control="EnableVoiceChat" +     control_name="PushToTalkToggle"       height="20"       label="Use Push-to-talk in toggle mode"       layout="topleft" @@ -279,6 +281,9 @@ Avatars:       tool_tip="When in toggle mode, press and release the push-to-talk trigger to switch your microphone on and off. When not in toggle mode, the microphone is active only when the trigger is held down."/>      <line_editor       follows="top|left" +     control_name="PushToTalkButton" +     enabled="false"  +     enabled_control="EnableVoiceChat"       height="19"       left_delta="50"       max_length="254" @@ -287,22 +292,30 @@ Avatars:       top_pad="0"       width="280" />      <button -	follows="top|left" -	height="20" -	label="Set Key" -	left_delta="0" -        name="set_voice_hotkey_button" -	width="115" -	top_pad="5" /> +     follows="top|left" +     enabled_control="EnableVoiceChat" +     height="20" +     label="Set Key" +     left_delta="0" +     name="set_voice_hotkey_button" +     width="115" +     top_pad="5"> +          <button.commit_callback +          function="Pref.VoiceSetKey" /> +    </button>      <button -        bottom_delta="0" -	follows="left" -	font="SansSerif" -	halign="center" -	height="20" -	label="Middle Mouse Button" -	left_delta="120" -	mouse_opaque="true" -	name="set_voice_middlemouse_button" -	width="160" /> +     bottom_delta="0" +     enabled_control="EnableVoiceChat" +     follows="left" +     font="SansSerif" +     halign="center" +     height="20" +     label="Middle Mouse Button" +     left_delta="120" +     mouse_opaque="true" +     name="set_voice_middlemouse_button" +     width="160"> +          <button.commit_callback +          function="Pref.VoiceSetMiddleMouse" /> +    </button>  </panel> | 
