summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rw-r--r--indra/newview/llviewermenu.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 8dab1e42d0..4632800e2d 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -4784,6 +4784,19 @@ class LLViewMouselook : public view_listener_t
}
else
{
+ // NaCl: Right-click + scroll wheel zoom in mouselook (ported from Firestorm).
+ // If we were zoomed when the user toggles out of mouselook, restore the
+ // normal (pre-zoom) FOV before switching back to the default camera.
+ LLVector3 mlFovValues = gSavedSettings.getVector3("_NACL_MLFovValues");
+ F32 cameraAngle = gSavedSettings.getF32("CameraAngle");
+ if (mlFovValues.mV[VZ] > 0.0f)
+ {
+ mlFovValues.mV[VY] = cameraAngle; // preserve last zoomed FOV
+ mlFovValues.mV[VZ] = 0.0f;
+ gSavedSettings.setVector3("_NACL_MLFovValues", mlFovValues);
+ gSavedSettings.setF32("CameraAngle", mlFovValues.mV[VX]); // restore normal FOV
+ }
+ // NaCl End
gAgentCamera.changeCameraToDefault();
}
return true;
@@ -7154,6 +7167,13 @@ void handle_hover_height()
LLFloaterReg::showInstance("edit_hover_height");
}
+// Firestorm port: Quick Preferences floater (hover height, bandwidth)
+void handle_quick_prefs()
+{
+ LLFloaterReg::toggleInstance("quick_prefs");
+}
+// End Firestorm port
+
void handle_edit_physics()
{
LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_physics"));
@@ -9983,6 +10003,7 @@ void initialize_menus()
commit.add("EditShape", boost::bind(&handle_edit_shape));
commit.add("HoverHeight", boost::bind(&handle_hover_height));
commit.add("EditPhysics", boost::bind(&handle_edit_physics));
+ commit.add("QuickPrefs", boost::bind(&handle_quick_prefs)); // Firestorm port
// View menu
view_listener_t::addMenu(new LLViewMouselook(), "View.Mouselook");