diff options
author | James Cook <james@lindenlab.com> | 2009-10-20 17:52:56 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2009-10-20 17:52:56 +0000 |
commit | 25639b267db13f86f8446c10d61c814839920bc3 (patch) | |
tree | 4f2587b9c9cdd45e734f077f5b0f1732dc5d1361 /indra | |
parent | 5bd6a24c657a82624142d24cc9c21d23b8c94a1e (diff) |
EXT-462 Avatar context menu only shows Freeze/Eject/Debug when in god mode.
Changed enable and visible named callbacks to "IsGodCustomerService" so we
have one global function that can be used in menus everywhere.
Reviewed with Leyla.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llinspectavatar.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llviewermenu.cpp | 20 | ||||
-rw-r--r-- | indra/newview/llviewermenu.h | 1 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml | 9 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/menu_viewer.xml | 26 |
5 files changed, 22 insertions, 41 deletions
diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp index 4eb6061bea..99580d0918 100644 --- a/indra/newview/llinspectavatar.cpp +++ b/indra/newview/llinspectavatar.cpp @@ -110,7 +110,6 @@ private: void onClickZoomIn(); void onClickFindOnMap(); bool onVisibleFindOnMap(); - bool onVisibleGodMode(); void onClickMuteVolume(); void onVolumeChange(const LLSD& data); @@ -195,7 +194,6 @@ LLInspectAvatar::LLInspectAvatar(const LLSD& sd) 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.VisibleGodMode", boost::bind(&LLInspectAvatar::onVisibleGodMode, this)); // can't make the properties request until the widgets are constructed @@ -453,11 +451,6 @@ bool LLInspectAvatar::onVisibleFindOnMap() return gAgent.isGodlike() || is_agent_mappable(mAvatarID); } -bool LLInspectAvatar::onVisibleGodMode() -{ - return gAgent.isGodlike(); -} - void LLInspectAvatar::onClickIM() { LLAvatarActions::startIM(mAvatarID); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 806085dc24..a9ba9ead1a 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -1634,16 +1634,6 @@ class LLAdvancedToggleCharacterGeometry : public view_listener_t } }; -class LLEnableGodCustomerService : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) -{ - bool new_value = enable_god_customer_service(NULL); - return new_value; - } -}; - - ///////////////////////////// // TEST MALE / TEST FEMALE // @@ -4029,7 +4019,7 @@ void handle_god_request_avatar_geometry(void *) { if (gAgent.isGodlike()) { - LLSelectMgr::getInstance()->sendGodlikeRequest("avatar toggle", NULL); + LLSelectMgr::getInstance()->sendGodlikeRequest("avatar toggle", ""); } } @@ -6802,7 +6792,7 @@ BOOL enable_god_liaison(void*) return gAgent.getGodLevel() >= GOD_LIAISON; } -BOOL enable_god_customer_service(void*) +bool is_god_customer_service() { return gAgent.getGodLevel() >= GOD_CUSTOMER_SERVICE; } @@ -7746,8 +7736,10 @@ void initialize_menus() LLUICtrl::CommitCallbackRegistry::Registrar& commit = LLUICtrl::CommitCallbackRegistry::currentRegistrar(); LLUICtrl::VisibleCallbackRegistry::Registrar& visible = LLUICtrl::VisibleCallbackRegistry::currentRegistrar(); - // Enable God Mode - view_listener_t::addMenu(new LLEnableGodCustomerService(), "EnableGodCustomerService"); + // 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)); // Agent commit.add("Agent.toggleFlying", boost::bind(&LLAgent::toggleFlying)); diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h index d28d54c933..6d32df2bc5 100644 --- a/indra/newview/llviewermenu.h +++ b/indra/newview/llviewermenu.h @@ -84,7 +84,6 @@ void detach_label(std::string& label, const LLSD&); void handle_detach(void*); BOOL enable_god_full(void* user_data); BOOL enable_god_liaison(void* user_data); -BOOL enable_god_customer_service(void* user_data); BOOL enable_god_basic(void* user_data); void set_underclothes_menu_options(); diff --git a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml index 5279f9d141..edff1a093a 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml @@ -64,30 +64,27 @@ </menu_item_call>
<menu_item_call
label="Freeze"
- layout="topleft"
name="freeze">
<menu_item_call.on_click
function="InspectAvatar.Freeze"/>
<menu_item_call.on_visible
- function="InspectAvatar.VisibleGodMode"/>
+ function="IsGodCustomerService"/>
</menu_item_call>
<menu_item_call
label="Eject"
- layout="topleft"
name="eject">
<menu_item_call.on_click
function="InspectAvatar.Eject"/>
<menu_item_call.on_visible
- function="InspectAvatar.VisibleGodMode"/>
+ function="IsGodCustomerService"/>
</menu_item_call>
<menu_item_call
label="Debug"
- layout="topleft"
name="debug">
<menu_item_call.on_click
function="InspectAvatar.Debug"/>
<menu_item_call.on_visible
- function="InspectAvatar.VisibleGodMode"/>
+ function="IsGodCustomerService"/>
</menu_item_call>
<menu_item_call
label="Find On Map"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 116d8ae12a..e9cdf2b7c4 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -2998,7 +2998,7 @@ <menu_item_call.on_click function="Advanced.ToggleCharacterGeometry" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Test Male" @@ -3251,7 +3251,7 @@ <menu_item_call.on_click function="Admin.ForceTakeCopy" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Force Owner To Me" @@ -3260,7 +3260,7 @@ <menu_item_call.on_click function="Admin.HandleObjectOwnerSelf" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Force Owner Permissive" @@ -3269,7 +3269,7 @@ <menu_item_call.on_click function="Admin.HandleObjectOwnerPermissive" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Delete" @@ -3279,7 +3279,7 @@ <menu_item_call.on_click function="Admin.HandleForceDelete" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Lock" @@ -3289,7 +3289,7 @@ <menu_item_call.on_click function="Admin.HandleObjectLock" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Get Assets IDs" @@ -3299,7 +3299,7 @@ <menu_item_call.on_click function="Admin.HandleObjectAssetIDs" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> </menu> <menu @@ -3315,7 +3315,7 @@ <menu_item_call.on_click function="Admin.HandleForceParcelOwnerToMe" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Set to Linden Content" @@ -3325,7 +3325,7 @@ <menu_item_call.on_click function="Admin.HandleForceParcelToContent" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Claim Public Land" @@ -3334,7 +3334,7 @@ <menu_item_call.on_click function="Admin.HandleClaimPublicLand" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> </menu> <menu @@ -3350,7 +3350,7 @@ <menu_item_call.on_click function="Admin.HandleRegionDumpTempAssetData" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> <menu_item_call label="Save Region State" @@ -3359,7 +3359,7 @@ <menu_item_call.on_click function="Admin.OnSaveState" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> </menu> <menu_item_call @@ -3370,7 +3370,7 @@ function="Floater.Show" parameter="god_tools" /> <menu_item_call.on_enable - function="EnableGodCustomerService" /> + function="IsGodCustomerService" /> </menu_item_call> </menu> <menu |