diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index 12c6ef34d..85f851191 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -2416,7 +2416,9 @@ LLControlVariable *LLView::findControl(const std::string& name) { return mParentView->findControl(name); } - return LLUI::sConfigGroup->getControl(name); + if (LLControlVariable* control = LLUI::sConfigGroup->getControl(name)) + return control; + return LLUI::sAccountGroup->getControl(name); } const S32 FLOATER_H_MARGIN = 15; diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 242962478..6b57b8d9d 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -7325,6 +7325,16 @@ class LLToggleControl : public view_listener_t } }; +class LLTogglePerAccountControl : public view_listener_t +{ + bool handleEvent(LLPointer event, const LLSD& userdata) + { + LLControlVariable* control(gSavedPerAccountSettings.getControl(userdata.asString())); + control->set(!control->get()); + return true; + } +}; + BOOL menu_check_control( void* user_data) { return gSavedSettings.getBOOL((char*)user_data); @@ -9448,6 +9458,7 @@ void initialize_menus() addMenu(new LLPromptShowURL(), "PromptShowURL"); addMenu(new LLShowAgentProfile(), "ShowAgentProfile"); addMenu(new LLToggleControl(), "ToggleControl"); + addMenu(new LLTogglePerAccountControl(), "TogglePerAccountControl"); addMenu(new LLGoToObject(), "GoToObject"); addMenu(new LLPayObject(), "PayObject"); diff --git a/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/indra/newview/skins/default/xui/en-us/menu_viewer.xml index 349a08a6c..7169c85a9 100644 --- a/indra/newview/skins/default/xui/en-us/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en-us/menu_viewer.xml @@ -534,6 +534,11 @@ + @@ -546,6 +551,34 @@ mouse_opaque="true" name="Set Busy" width="185"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1038,6 +1071,10 @@ + + + +