summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelpresetspulldown.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelpresetspulldown.cpp')
-rw-r--r--indra/newview/llpanelpresetspulldown.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/indra/newview/llpanelpresetspulldown.cpp b/indra/newview/llpanelpresetspulldown.cpp
index d52ad8056f..f6e501f147 100644
--- a/indra/newview/llpanelpresetspulldown.cpp
+++ b/indra/newview/llpanelpresetspulldown.cpp
@@ -34,6 +34,7 @@
#include "llbutton.h"
#include "lltabcontainer.h"
#include "llfloater.h"
+#include "llfloaterperformance.h"
#include "llfloaterreg.h"
#include "llpresetsmanager.h"
#include "llsliderctrl.h"
@@ -50,6 +51,7 @@ LLPanelPresetsPulldown::LLPanelPresetsPulldown()
mHoverTimer.stop();
mCommitCallbackRegistrar.add("Presets.GoGraphicsPrefs", boost::bind(&LLPanelPresetsPulldown::onGraphicsButtonClick, this, _2));
+ mCommitCallbackRegistrar.add("Presets.GoAutofpsPrefs", boost::bind(&LLPanelPresetsPulldown::onAutofpsButtonClick, this, _2));
mCommitCallbackRegistrar.add("Presets.RowClick", boost::bind(&LLPanelPresetsPulldown::onRowClick, this, _2));
buildFromFile( "panel_presets_pulldown.xml");
@@ -122,6 +124,9 @@ void LLPanelPresetsPulldown::onRowClick(const LLSD& user_data)
LL_DEBUGS() << "selected '" << name << "'" << LL_ENDL;
LLPresetsManager::getInstance()->loadPreset(PRESETS_GRAPHIC, name);
+ // Scroll grabbed focus, drop it to prevent selection of parent menu
+ setFocus(FALSE);
+
setVisible(FALSE);
}
else
@@ -154,3 +159,13 @@ void LLPanelPresetsPulldown::onGraphicsButtonClick(const LLSD& user_data)
}
}
}
+
+void LLPanelPresetsPulldown::onAutofpsButtonClick(const LLSD& user_data)
+{
+ setVisible(FALSE);
+ LLFloaterPerformance* performance_floater = LLFloaterReg::showTypedInstance<LLFloaterPerformance>("performance");
+ if (performance_floater)
+ {
+ performance_floater->showAutoadjustmentsPanel();
+ }
+}