From a26e927f1564da0a733333bc53c547306d8e604d Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Sun, 6 Jun 2010 09:15:54 -0700 Subject: Added menu entry for Private Look At, made it so you can't have Show Look At and Private Look At enabled at the same time --- linden/indra/newview/llviewermenu.cpp | 49 ++++++++++++++++++++++ .../skins/default/xui/en-us/menu_viewer.xml | 7 ++++ 2 files changed, 56 insertions(+) (limited to 'linden') diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index b921d20..55123d0 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp @@ -10066,6 +10066,14 @@ class LLAdvancedToggleShowLookAt : public view_listener_t { LLHUDEffectLookAt::sDebugLookAt = !(LLHUDEffectLookAt::sDebugLookAt); gSavedSettings.setBOOL("PersistShowLookAt", LLHUDEffectLookAt::sDebugLookAt); + + // If we're enabling it, give the user some idea of what it does + // Also, disable private look at to be fair -- MC + if (LLHUDEffectLookAt::sDebugLookAt) + { + gSavedSettings.setBOOL("PrivateLookAtTarget", FALSE); + LLNotifications::instance().add("ShowLookAtInfo"); + } return true; } }; @@ -10093,6 +10101,11 @@ class LLAdvancedToggleShowPointAt : public view_listener_t bool handleEvent(LLPointer event, const LLSD& userdata) { LLHUDEffectPointAt::sDebugPointAt = !(LLHUDEffectPointAt::sDebugPointAt); + // Disable private look/point at if we're going to use it. S'only fair -- MC + if (LLHUDEffectPointAt::sDebugPointAt) + { + gSavedSettings.setBOOL("PrivateLookAtTarget", FALSE); + } return true; } }; @@ -10109,6 +10122,40 @@ class LLAdvancedCheckShowPointAt : public view_listener_t }; +///////////////////// +// PRIVATE LOOK AT // +///////////////////// + + +class LLAdvancedTogglePrivateLookPointAt : public view_listener_t +{ + bool handleEvent(LLPointer event, const LLSD& userdata) + { + // Noate: PrivateLookAtTarget also hides point at -- MC + bool new_value = !gSavedSettings.getBOOL("PrivateLookAtTarget"); + if (new_value) + { + // Disable show look at and show point at if you make yours private. It's only fair, after all -- MC + LLHUDEffectLookAt::sDebugLookAt = FALSE; + LLHUDEffectPointAt::sDebugPointAt = FALSE; + } + gSavedSettings.setBOOL("PrivateLookAtTarget", new_value); + return true; + } +}; + +class LLAdvancedCheckPrivateLookPointAt : public view_listener_t +{ + bool handleEvent(LLPointer event, const LLSD& userdata) + { + bool new_value = gSavedSettings.getBOOL("PrivateLookAtTarget"); + std::string control_name = userdata["control"].asString(); + gMenuHolder->findControl(control_name)->setValue(new_value); + return true; + } +}; + + ///////////////////////// // DEBUG JOINT UPDATES // @@ -11102,6 +11149,8 @@ void initialize_menus() addMenu(new LLAdvancedCheckShowLookAt(), "Advanced.CheckShowLookAt"); addMenu(new LLAdvancedToggleShowPointAt(), "Advanced.ToggleShowPointAt"); addMenu(new LLAdvancedCheckShowPointAt(), "Advanced.CheckShowPointAt"); + addMenu(new LLAdvancedTogglePrivateLookPointAt(), "Advanced.TogglePrivateLookPointAt"); + addMenu(new LLAdvancedCheckPrivateLookPointAt(), "Advanced.CheckPrivateLookPointAt"); addMenu(new LLAdvancedToggleDebugJointUpdates(), "Advanced.ToggleDebugJointUpdates"); addMenu(new LLAdvancedCheckDebugJointUpdates(), "Advanced.CheckDebugJointUpdates"); addMenu(new LLAdvancedToggleDisableLOD(), "Advanced.ToggleDisableLOD"); diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml index f27c341..0a2ff23 100644 --- a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml +++ b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml @@ -1866,6 +1866,13 @@ + + + +