diff options
Diffstat (limited to 'indra/newview/llquickprefs.cpp')
| -rw-r--r-- | indra/newview/llquickprefs.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/indra/newview/llquickprefs.cpp b/indra/newview/llquickprefs.cpp index 800aa7abac..9e83857a15 100644 --- a/indra/newview/llquickprefs.cpp +++ b/indra/newview/llquickprefs.cpp @@ -26,6 +26,8 @@ #include "llquickprefs.h" #include "llagent.h" +#include "llagentcamera.h" +#include "llcheckboxctrl.h" #include "llsliderctrl.h" #include "lltextbox.h" #include "llviewercontrol.h" @@ -97,6 +99,14 @@ bool LLFloaterQuickPrefs::postBuild() } onRegionChanged(); // evaluate current region immediately + // OTS aim mode checkbox + mOTSEnabledCheck = getChild<LLCheckBoxCtrl>("ots_enabled"); + if (mOTSEnabledCheck) + { + mOTSEnabledCheck->setCommitCallback( + boost::bind(&LLFloaterQuickPrefs::onOTSEnabledChanged, this)); + } + return true; } @@ -203,3 +213,16 @@ void LLFloaterQuickPrefs::syncAvatarZOffsetFromPreferenceSetting() F32 value = gSavedPerAccountSettings.getF32("AvatarHoverOffsetZ"); mAvatarZOffsetSlider->setValue(value, false); // false = no commit signal } + +void LLFloaterQuickPrefs::onOTSEnabledChanged() +{ + if (mOTSEnabledCheck) + { + gSavedSettings.setBOOL("OTSEnabled", mOTSEnabledCheck->get()); + // If currently in OTS mode and checkbox was unchecked, exit OTS + if (!mOTSEnabledCheck->get() && gAgentCamera.cameraOTS()) + { + gAgentCamera.changeCameraFromOTS(); + } + } +} |
