diff options
| author | Leyla Farazha <leyla@lindenlab.com> | 2010-12-07 13:39:56 -0800 | 
|---|---|---|
| committer | Leyla Farazha <leyla@lindenlab.com> | 2010-12-07 13:39:56 -0800 | 
| commit | 27d6f0e49cfcf549efbfec350bfb500e397cccb2 (patch) | |
| tree | 34e64fd4ca8fa31e1d0922fd011a8a6c4ad29767 | |
| parent | a30ad1ed007dbaa4edf39605e2a5b4ddd4089726 (diff) | |
EXT-3265 Gear menu on_visible params are broken - not setting visibility of menu items
EXT-2923 [BSI] My own inspector lists "Stand Up" as an option in gear menu, while I'm standing
| -rw-r--r-- | indra/llui/llmenugl.cpp | 2 | ||||
| -rw-r--r-- | indra/llui/llmenugl.h | 15 | ||||
| -rw-r--r-- | indra/llui/llpanel.h | 1 | ||||
| -rw-r--r-- | indra/llui/lluictrl.cpp | 29 | ||||
| -rw-r--r-- | indra/llui/lluictrl.h | 15 | ||||
| -rw-r--r-- | indra/newview/llinspectavatar.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 35 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml | 16 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml | 2 | 
9 files changed, 25 insertions, 96 deletions
| diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 907f2352a0..fd5c2b7fef 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -761,7 +761,7 @@ void LLMenuItemCallGL::initFromParams(const Params& p)  {  	if (p.on_visible.isProvided())  	{ -		mVisibleSignal.connect(initVisibleCallback(p.on_visible)); +		mVisibleSignal.connect(initEnableCallback(p.on_visible));  	}  	if (p.on_enable.isProvided())  	{ diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h index cbb9b4d344..61e06f9e5f 100644 --- a/indra/llui/llmenugl.h +++ b/indra/llui/llmenugl.h @@ -175,9 +175,7 @@ protected:  	// This function appends the character string representation of  	// the current accelerator key and mask to the provided string.  	void appendAcceleratorString( std::string& st ) const; -	 -	void initMenuEnableCallback(const EnableCallbackParam& cb, enable_signal_t& sig); -	 +		  protected:  	KEY mAcceleratorKey;  	MASK mAcceleratorMask; @@ -249,7 +247,7 @@ public:  	{  		Optional<EnableCallbackParam > on_enable;  		Optional<CommitCallbackParam > on_click; -		Optional<VisibleCallbackParam > on_visible; +		Optional<EnableCallbackParam > on_visible;  		Params()  			: on_enable("on_enable"),  			  on_click("on_click"), @@ -284,15 +282,10 @@ public:  	{  		return mEnableSignal.connect(cb);  	} -	 -	boost::signals2::connection setVisibleCallback( const visible_signal_t::slot_type& cb ) -	{ -		return mVisibleSignal.connect(cb); -	} -	 +		  private:  	enable_signal_t mEnableSignal; -	visible_signal_t mVisibleSignal; +	enable_signal_t mVisibleSignal;  };  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h index a8bd5fd5e5..d0986a06d3 100644 --- a/indra/llui/llpanel.h +++ b/indra/llui/llpanel.h @@ -249,7 +249,6 @@ protected:  	LLCallbackMap::map_t mFactoryMap;  	CommitCallbackRegistry::ScopedRegistrar mCommitCallbackRegistrar;  	EnableCallbackRegistry::ScopedRegistrar mEnableCallbackRegistrar; -	VisibleCallbackRegistry::ScopedRegistrar mVisibleCallbackRegistrar;  	commit_signal_t* mVisibleSignal;		// Called when visibility changes, passes new visibility as LLSD() diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index 706712ec5e..6044908ca7 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -232,11 +232,6 @@ bool default_enable_handler(LLUICtrl* ctrl, const LLSD& param)  	return true;  } -bool default_visible_handler(LLUICtrl* ctrl, const LLSD& param) -{ -	return true; -} -  LLUICtrl::commit_signal_t::slot_type LLUICtrl::initCommitCallback(const CommitCallbackParam& cb)  { @@ -290,30 +285,6 @@ LLUICtrl::enable_signal_t::slot_type LLUICtrl::initEnableCallback(const EnableCa  	return default_enable_handler;  } -LLUICtrl::visible_signal_t::slot_type LLUICtrl::initVisibleCallback(const VisibleCallbackParam& cb) -{ -	// Set the callback function -	if (cb.function.isProvided()) -	{ -		if (cb.parameter.isProvided()) -			return boost::bind(cb.function(), this, cb.parameter); -		else -			return cb.function(); -	} -	else -	{ -		visible_callback_t* func = (VisibleCallbackRegistry::getValue(cb.function_name)); -		if (func) -		{ -			if (cb.parameter.isProvided()) -				return boost::bind((*func), this, cb.parameter); -			else -				return visible_signal_t::slot_type(*func); -		} -	} -	return default_visible_handler; -} -  // virtual  void LLUICtrl::onMouseEnter(S32 x, S32 y, MASK mask)  { diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index b20ff5d798..983700065d 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -63,9 +63,6 @@ public:  	typedef boost::function<bool (LLUICtrl* ctrl, const LLSD& param)> enable_callback_t;  	typedef boost::signals2::signal<bool (LLUICtrl* ctrl, const LLSD& param), boost_boolean_combiner> enable_signal_t; -	typedef boost::function<bool (LLUICtrl* ctrl, const LLSD& param)> visible_callback_t; -	typedef boost::signals2::signal<bool (LLUICtrl* ctrl, const LLSD& param), boost_boolean_combiner> visible_signal_t; -	  	struct CallbackParam : public LLInitParam::Block<CallbackParam>  	{  		Ignored					name; @@ -87,12 +84,7 @@ public:  	{  		Optional<enable_callback_t> function;  	}; -	 -	struct VisibleCallbackParam : public LLInitParam::Block<VisibleCallbackParam, CallbackParam > -	{ -		Optional<visible_callback_t> function; -	}; -	 +		  	struct EnableControls : public LLInitParam::Choice<EnableControls>  	{  		Alternative<std::string> enabled; @@ -148,7 +140,6 @@ protected:  	commit_signal_t::slot_type initCommitCallback(const CommitCallbackParam& cb);  	enable_signal_t::slot_type initEnableCallback(const EnableCallbackParam& cb); -	visible_signal_t::slot_type initVisibleCallback(const VisibleCallbackParam& cb);  	// We need this virtual so we can override it with derived versions  	virtual LLViewModel* getViewModel() const; @@ -270,9 +261,7 @@ public:  	class CommitCallbackRegistry : public CallbackRegistry<commit_callback_t, CommitCallbackRegistry>{};  	class EnableCallbackRegistry : public CallbackRegistry<enable_callback_t, EnableCallbackRegistry>{}; -	class VisibleCallbackRegistry : public CallbackRegistry<visible_callback_t, VisibleCallbackRegistry>{}; - -	 +		  protected:  	static bool controlListener(const LLSD& newvalue, LLHandle<LLUICtrl> handle, std::string type); diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp index 83beae29c1..435c3a5129 100644 --- a/indra/newview/llinspectavatar.cpp +++ b/indra/newview/llinspectavatar.cpp @@ -205,10 +205,10 @@ LLInspectAvatar::LLInspectAvatar(const LLSD& sd)  	mCommitCallbackRegistrar.add("InspectAvatar.Report",	boost::bind(&LLInspectAvatar::onClickReport, this));	  	mCommitCallbackRegistrar.add("InspectAvatar.FindOnMap",	boost::bind(&LLInspectAvatar::onClickFindOnMap, this));	  	mCommitCallbackRegistrar.add("InspectAvatar.ZoomIn", boost::bind(&LLInspectAvatar::onClickZoomIn, this)); -	mVisibleCallbackRegistrar.add("InspectAvatar.VisibleFindOnMap",	boost::bind(&LLInspectAvatar::onVisibleFindOnMap, this));	 -	mVisibleCallbackRegistrar.add("InspectAvatar.VisibleFreezeEject",	 +	mEnableCallbackRegistrar.add("InspectAvatar.VisibleFindOnMap",	boost::bind(&LLInspectAvatar::onVisibleFindOnMap, this));	 +	mEnableCallbackRegistrar.add("InspectAvatar.VisibleFreezeEject",	  		boost::bind(&LLInspectAvatar::onVisibleFreezeEject, this));	 -	mVisibleCallbackRegistrar.add("InspectAvatar.VisibleZoomIn",  +	mEnableCallbackRegistrar.add("InspectAvatar.VisibleZoomIn",   		boost::bind(&LLInspectAvatar::onVisibleZoomIn, this));  	mEnableCallbackRegistrar.add("InspectAvatar.Gear.Enable", boost::bind(&LLInspectAvatar::isNotFriend, this)); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 9c52153ee4..2b1585e007 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -7562,12 +7562,11 @@ void initialize_menus()  	LLUICtrl::EnableCallbackRegistry::Registrar& enable = LLUICtrl::EnableCallbackRegistry::currentRegistrar();  	LLUICtrl::CommitCallbackRegistry::Registrar& commit = LLUICtrl::CommitCallbackRegistry::currentRegistrar(); -	LLUICtrl::VisibleCallbackRegistry::Registrar& visible = LLUICtrl::VisibleCallbackRegistry::currentRegistrar();  	// Generic enable and visible  	// Don't prepend MenuName.Foo because these can be used in any menu.  	enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service)); -	visible.add("IsGodCustomerService", boost::bind(&is_god_customer_service)); +	enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service));  	// Agent  	commit.add("Agent.toggleFlying", boost::bind(&LLAgent::toggleFlying)); @@ -7674,7 +7673,6 @@ void initialize_menus()  	view_listener_t::addMenu(new LLToolsEnableLink(), "Tools.EnableLink");  	view_listener_t::addMenu(new LLToolsEnableUnlink(), "Tools.EnableUnlink");  	view_listener_t::addMenu(new LLToolsEnableBuyOrTake(), "Tools.EnableBuyOrTake"); -	visible.add("Tools.VisibleTakeCopy", boost::bind(&enable_object_take_copy));  	enable.add("Tools.EnableTakeCopy", boost::bind(&enable_object_take_copy));  	view_listener_t::addMenu(new LLToolsEnableSaveToInventory(), "Tools.EnableSaveToInventory");  	view_listener_t::addMenu(new LLToolsEnableSaveToObjectInventory(), "Tools.EnableSaveToObjectInventory"); @@ -7850,7 +7848,6 @@ void initialize_menus()  	view_listener_t::addMenu(new LLSelfStandUp(), "Self.StandUp");  	view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments"); -	visible.add("Self.VisibleStandUp", boost::bind(&enable_standup_self));  	enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self));  	view_listener_t::addMenu(new LLSelfEnableRemoveAllAttachments(), "Self.EnableRemoveAllAttachments"); @@ -7873,59 +7870,42 @@ void initialize_menus()  	view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend");  	enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); -	visible.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); +	enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2));  	// Object pie menu  	view_listener_t::addMenu(new LLObjectBuild(), "Object.Build");  	commit.add("Object.Touch", boost::bind(&handle_object_touch));  	commit.add("Object.SitOrStand", boost::bind(&handle_object_sit_or_stand)); -	visible.add("Object.EnableSit", boost::bind(&enable_sit_object)); +	enable.add("Object.EnableSit", boost::bind(&enable_sit_object));  	commit.add("Object.Delete", boost::bind(&handle_object_delete));  	view_listener_t::addMenu(new LLObjectAttachToAvatar(), "Object.AttachToAvatar");  	view_listener_t::addMenu(new LLObjectReturn(), "Object.Return");  	view_listener_t::addMenu(new LLObjectReportAbuse(), "Object.ReportAbuse");  	view_listener_t::addMenu(new LLObjectMute(), "Object.Mute"); -	visible.add("Object.VisibleTake", boost::bind(&visible_take_object)); -	visible.add("Object.VisibleBuy", boost::bind(&visible_buy_object)); +	enable.add("Object.VisibleTake", boost::bind(&visible_take_object)); +	enable.add("Object.VisibleBuy", boost::bind(&visible_buy_object));  	commit.add("Object.Buy", boost::bind(&handle_buy));  	commit.add("Object.Edit", boost::bind(&handle_object_edit));  	commit.add("Object.Inspect", boost::bind(&handle_object_inspect));  	commit.add("Object.Open", boost::bind(&handle_object_open)); -	  	commit.add("Object.Take", boost::bind(&handle_take)); -  	enable.add("Object.EnableOpen", boost::bind(&enable_object_open)); -	visible.add("Object.VisibleOpen", boost::bind(&enable_object_open)); -  	enable.add("Object.EnableTouch", boost::bind(&enable_object_touch)); -	visible.add("Object.VisibleTouch", boost::bind(&enable_object_touch)); -  	view_listener_t::addMenu(new LLObjectEnableTouch(), "Object.EnableTouch");  	view_listener_t::addMenu(new LLObjectEnableSitOrStand(), "Object.EnableSitOrStand"); -	  	enable.add("Object.EnableDelete", boost::bind(&enable_object_delete)); -	visible.add("Object.VisibleDelete", boost::bind(&enable_object_delete)); -  	enable.add("Object.EnableWear", boost::bind(&object_selected_and_point_valid)); -	visible.add("Object.VisibleWear", boost::bind(&object_selected_and_point_valid));  	view_listener_t::addMenu(new LLObjectEnableReturn(), "Object.EnableReturn");  	view_listener_t::addMenu(new LLObjectEnableReportAbuse(), "Object.EnableReportAbuse");  	enable.add("Avatar.EnableMute", boost::bind(&enable_object_mute));  	enable.add("Object.EnableMute", boost::bind(&enable_object_mute)); -	visible.add("Object.VisibleMute", boost::bind(&enable_object_mute));  	enable.add("Object.EnableBuy", boost::bind(&enable_buy_object)); -	/*view_listener_t::addMenu(new LLObjectVisibleTouch(), "Object.VisibleTouch"); -	view_listener_t::addMenu(new LLObjectVisibleCustomTouch(), "Object.VisibleCustomTouch"); -	view_listener_t::addMenu(new LLObjectVisibleStandUp(), "Object.VisibleStandUp"); -	view_listener_t::addMenu(new LLObjectVisibleSitHere(), "Object.VisibleSitHere"); -	view_listener_t::addMenu(new LLObjectVisibleCustomSit(), "Object.VisibleCustomSit");*/ -  	// Attachment pie menu  	enable.add("Attachment.Label", boost::bind(&onEnableAttachmentLabel, _1, _2));  	view_listener_t::addMenu(new LLAttachmentDrop(), "Attachment.Drop"); @@ -7953,12 +7933,9 @@ void initialize_menus()  	commit.add("PayObject", boost::bind(&handle_give_money_dialog));  	enable.add("EnablePayObject", boost::bind(&enable_pay_object)); -	visible.add("VisiblePayObject", boost::bind(&enable_pay_object));  	enable.add("EnablePayAvatar", boost::bind(&enable_pay_avatar));  	enable.add("EnableEdit", boost::bind(&enable_object_edit)); -	visible.add("VisibleBuild", boost::bind(&enable_object_build)); -	visible.add("VisibleEdit", boost::bind(&enable_object_edit)); -	visible.add("Object.VisibleEdit", boost::bind(&enable_object_edit)); +	enable.add("VisibleBuild", boost::bind(&enable_object_build));  	view_listener_t::addMenu(new LLFloaterVisible(), "FloaterVisible");  	view_listener_t::addMenu(new LLShowSidetrayPanel(), "ShowSidetrayPanel"); diff --git a/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml index 04a247fd54..22df02cd7e 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml @@ -13,7 +13,7 @@      <menu_item_call.on_click       function="InspectObject.Touch"/>      <menu_item_call.on_visible -     function="Object.VisibleTouch" /> +     function="Object.EnableTouch" />    </menu_item_call>    <menu_item_call    label="Sit" @@ -31,7 +31,7 @@      <menu_item_call.on_click       function="InspectObject.Pay"/>      <menu_item_call.on_visible -     function="VisiblePayObject" /> +     function="EnablePayObject" />    </menu_item_call>    <menu_item_call     label="Buy" @@ -59,7 +59,7 @@      <menu_item_call.on_click       function="InspectObject.TakeFreeCopy"/>      <menu_item_call.on_visible -      function="Tools.VisibleTakeCopy"/> +      function="Tools.EnableTakeCopy"/>    </menu_item_call>    <menu_item_call     label="Open" @@ -68,7 +68,7 @@      <menu_item_call.on_click       function="InspectObject.Open"/>      <menu_item_call.on_visible -     function="Object.VisibleOpen" /> +     function="Object.EnableOpen" />    </menu_item_call>    <menu_item_call     label="Edit" @@ -77,7 +77,7 @@          <menu_item_call.on_click           function="Object.Edit" />          <menu_item_call.on_enable -         function="Object.VisibleEdit"/> +         function="EnableEdit"/>    </menu_item_call>      <menu_item_call     label="Wear" @@ -86,7 +86,7 @@      <menu_item_call.on_click       function="Object.AttachToAvatar" />      <menu_item_call.on_visible -     function="Object.VisibleWear" /> +     function="Object.EnableWear" />    </menu_item_call>      <menu_item_call     label="Report" @@ -102,7 +102,7 @@      <menu_item_call.on_click       function="Object.Mute" />      <menu_item_call.on_visible -     function="Object.VisibleMute" /> +     function="Object.EnableMute" />    </menu_item_call>    <menu_item_call      label="Zoom In" @@ -118,7 +118,7 @@        <menu_item_call.on_click         function="Object.Delete" />        <menu_item_call.on_visible -       function="Object.VisibleDelete" /> +       function="Object.EnableDelete" />    </menu_item_call>    <menu_item_call     label="More Info" 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 3d65878cf8..9894a01701 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 @@ -13,7 +13,7 @@       function="Self.StandUp"       parameter="" />      <menu_item_call.on_visible -     function="Self.VisibleStandUp" /> +     function="Self.EnableStandUp" />    </menu_item_call>    <menu_item_call     label="My Appearance" | 
