summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2009-10-20 17:52:56 +0000
committerJames Cook <james@lindenlab.com>2009-10-20 17:52:56 +0000
commit25639b267db13f86f8446c10d61c814839920bc3 (patch)
tree4f2587b9c9cdd45e734f077f5b0f1732dc5d1361
parent5bd6a24c657a82624142d24cc9c21d23b8c94a1e (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.
-rw-r--r--indra/newview/llinspectavatar.cpp7
-rw-r--r--indra/newview/llviewermenu.cpp20
-rw-r--r--indra/newview/llviewermenu.h1
-rw-r--r--indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml9
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml26
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