LLSD LLControlGroup::getLLSD(const std::string& name) { LLControlVariable* control = getControl(name); if (control && control->isType(TYPE_LLSD)) return control->getValue(); CONTROL_ERRS << "Invalid LLSD control " << name << llendl; return LLSD(); }
void LLViewerLogin::getLoginURIs(std::vector<std::string>& uris) const { // return the login uri set on the command line. LLControlVariable* c = gSavedSettings.getControl("CmdLineLoginURI"); if(c && !LLStartUp::shouldAutoLogin()) { LLSD v = c->getValue(); if(v.isArray()) { for(LLSD::array_const_iterator itr = v.beginArray(); itr != v.endArray(); ++itr) { std::string uri = itr->asString(); if(!uri.empty()) { uris.push_back(uri); } } } else { std::string uri = v.asString(); if(!uri.empty()) { uris.push_back(uri); } } } // If there was no command line uri... if(uris.empty()) { uris.push_back(gHippoGridManager->getConnectedGrid()->getLoginUri()); /* // If its a known grid choice, get the uri from the table, // else try the grid name. if(mGridChoice > GRID_INFO_NONE && mGridChoice < GRID_INFO_OTHER) { uris.push_back(gGridInfo[mGridChoice].mLoginURI); } else { uris.push_back(mGridName); } */ } }
void LLPanelPreference::saveSettings() { // Save the value of all controls in the hierarchy mSavedValues.clear(); std::list<LLView*> view_stack; view_stack.push_back(this); while(!view_stack.empty()) { // Process view on top of the stack LLView* curview = view_stack.front(); view_stack.pop_front(); LLColorSwatchCtrl* color_swatch = dynamic_cast<LLColorSwatchCtrl *>(curview); if (color_swatch) { mSavedColors[color_swatch->getName()] = color_swatch->get(); } else { LLUICtrl* ctrl = dynamic_cast<LLUICtrl*>(curview); if (ctrl) { LLControlVariable* control = ctrl->getControlVariable(); if (control) { mSavedValues[control] = control->getValue(); } } } // Push children onto the end of the work stack for (child_list_t::const_iterator iter = curview->getChildList()->begin(); iter != curview->getChildList()->end(); ++iter) { view_stack.push_back(*iter); } } }