diff options
| author | Merov Linden <merov@lindenlab.com> | 2010-08-25 10:58:49 -0700 | 
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2010-08-25 10:58:49 -0700 | 
| commit | 5361e6826f186783c95e01804cec97be37910bec (patch) | |
| tree | efe3e329e0c15cc96aeb5ca4df3ac595bd3038ac /indra/newview | |
| parent | 06148d602e915615039d7bad1d4b7818ee5c4290 (diff) | |
VWR-20710 : Sit anywhere, port of SG2.x SNOW-610 patch
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llagent.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llagent.h | 2 | ||||
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 23 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_attachment_self.xml | 13 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_avatar_self.xml | 12 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml | 10 | 
6 files changed, 59 insertions, 6 deletions
| diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 42b78a84af..b78ebc6969 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -827,6 +827,11 @@ LLVector3d LLAgent::getPosGlobalFromAgent(const LLVector3 &pos_agent) const  	return pos_agent_d + mAgentOriginGlobal;  } +void LLAgent::sitDown() +{ +	setControlFlags(AGENT_CONTROL_SIT_ON_GROUND); +} +  //-----------------------------------------------------------------------------  // resetAxes() diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 0d95683a98..c643cef78f 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -345,6 +345,8 @@ private:  	//--------------------------------------------------------------------  public:  	void			standUp(); +	/// @brief ground-sit at agent's current position +	void			sitDown();  	//--------------------------------------------------------------------  	// Busy diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 476e761c28..d02e1fdc8f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3381,8 +3381,21 @@ class LLSelfStandUp : public view_listener_t  bool enable_standup_self()  { -	bool new_value = isAgentAvatarValid() && gAgentAvatarp->isSitting(); -	return new_value; +    return isAgentAvatarValid() && gAgentAvatarp->isSitting(); +} + +class LLSelfSitDown : public view_listener_t +    { +        bool handleEvent(const LLSD& userdata) +        { +            gAgent.sitDown(); +            return true; +        } +    }; + +bool enable_sitdown_self() +{ +    return isAgentAvatarValid() && !gAgentAvatarp->isSitting() && !gAgent.getFlying();  }  // Used from the login screen to aid in UI work on side tray @@ -8037,11 +8050,13 @@ void initialize_menus()  	// Admin top level  	view_listener_t::addMenu(new LLAdminOnSaveState(), "Admin.OnSaveState"); -	// Self pie menu +	// Self context menu  	view_listener_t::addMenu(new LLSelfStandUp(), "Self.StandUp"); +	enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self)); +	view_listener_t::addMenu(new LLSelfSitDown(), "Self.SitDown"); +	enable.add("Self.EnableSitDown", boost::bind(&enable_sitdown_self));  	view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments"); -	enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self));  	view_listener_t::addMenu(new LLSelfEnableRemoveAllAttachments(), "Self.EnableRemoveAllAttachments");  	// we don't use boost::bind directly to delay side tray construction diff --git a/indra/newview/skins/default/xui/en/menu_attachment_self.xml b/indra/newview/skins/default/xui/en/menu_attachment_self.xml index e2348375d5..84e81397be 100644 --- a/indra/newview/skins/default/xui/en/menu_attachment_self.xml +++ b/indra/newview/skins/default/xui/en/menu_attachment_self.xml @@ -23,7 +23,7 @@          <menu_item_call.on_enable           function="Self.EnableStandUp" />      </menu_item_call--> -        <menu_item_call +    <menu_item_call       enabled="false"       label="Edit"       layout="topleft" @@ -46,6 +46,17 @@    <menu_item_separator      layout="topleft" /> +    <menu_item_call +     label="Sit Down" +     layout="topleft" +     name="Sit Down Here"> +        <menu_item_call.on_click +         function="Self.SitDown" +         parameter="" /> +        <menu_item_call.on_enable +         function="Self.EnableSitDown" /> +    </menu_item_call> +    <menu_item_call  label="Stand Up"  layout="topleft" diff --git a/indra/newview/skins/default/xui/en/menu_avatar_self.xml b/indra/newview/skins/default/xui/en/menu_avatar_self.xml index d5b993152a..9059745f46 100644 --- a/indra/newview/skins/default/xui/en/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/en/menu_avatar_self.xml @@ -2,7 +2,17 @@  <context_menu   layout="topleft"   name="Self Pie"> -       <menu_item_call +    <menu_item_call +     label="Sit Down" +     layout="topleft" +     name="Sit Down Here"> +        <menu_item_call.on_click +         function="Self.SitDown" +         parameter="" /> +        <menu_item_call.on_enable +         function="Self.EnableSitDown" /> +    </menu_item_call> +    <menu_item_call       label="Stand Up"       layout="topleft"       name="Stand Up"> diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml index ea18e02ca1..30c2cde552 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml @@ -6,6 +6,16 @@           visible="false"           name="Gear Menu">    <menu_item_call +   label="Sit Down" +   enabled="true" +   name="sit_down_here"> +    <menu_item_call.on_click +     function="Self.SitDown" +     parameter="" /> +    <menu_item_call.on_visible +     function="Self.EnableSitDown" /> +  </menu_item_call> +  <menu_item_call     label="Stand Up"     enabled="true"     name="stand_up"> | 
