From a14a19e33ac2a28b640ebbad514e9829f999a5f3 Mon Sep 17 00:00:00 2001 From: brad kittenbrink <brad@lindenlab.com> Date: Tue, 30 Jun 2009 12:08:24 -0400 Subject: [PATCH] Added a new setSetting listener. --- indra/newview/llappviewerlistener.cpp | 13 +++++++++++++ indra/newview/llappviewerlistener.h | 1 + 2 files changed, 14 insertions(+) diff --git a/indra/newview/llappviewerlistener.cpp b/indra/newview/llappviewerlistener.cpp index a8c98b17a73..befebae88ee 100644 --- a/indra/newview/llappviewerlistener.cpp +++ b/indra/newview/llappviewerlistener.cpp @@ -18,6 +18,7 @@ // external library headers // other Linden headers #include "llappviewer.h" +#include "llviewercontrol.h" LLAppViewerListener::LLAppViewerListener(const std::string& pumpname, LLAppViewer* llappviewer): LLDispatchListener(pumpname, "op"), @@ -25,9 +26,21 @@ LLAppViewerListener::LLAppViewerListener(const std::string& pumpname, LLAppViewe { // add() every method we want to be able to invoke via this event API. add("requestQuit", &LLAppViewerListener::requestQuit); + add("setSetting", &LLAppViewerListener::setSetting); } void LLAppViewerListener::requestQuit(const LLSD& event) const { mAppViewer->requestQuit(); } + +void LLAppViewerListener::setSetting(const LLSD & event) const +{ + std::string control_name = event["name"].asString(); + if (gSavedSettings.controlExists(control_name)) + { + LLControlVariable* control = gSavedSettings.getControl(control_name); + + control->set(event["value"]); + } +} diff --git a/indra/newview/llappviewerlistener.h b/indra/newview/llappviewerlistener.h index ab17dd1d904..ff63b69c137 100644 --- a/indra/newview/llappviewerlistener.h +++ b/indra/newview/llappviewerlistener.h @@ -27,6 +27,7 @@ class LLAppViewerListener: public LLDispatchListener private: void requestQuit(const LLSD& event) const; + void setSetting(const LLSD & event) const; LLAppViewer* mAppViewer; }; -- GitLab