void HippoGridManager::saveFile() { // save default grid to client settings gSavedSettings.setString("DefaultGrid", mDefaultGrid); // build LLSD LLSD gridInfo; gridInfo[0]["default_grids_version"] = mDefaultGridsVersion; // add grids S32 i = 1; GridIterator it, end = mGridInfo.end(); for (it = mGridInfo.begin(); it != end; ++it, i++) { HippoGridInfo* grid = it->second; gridInfo[i]["gridnick"] = grid->getGridNick(); gridInfo[i]["platform"] = HippoGridInfo::getPlatformString(grid->getPlatform()); gridInfo[i]["gridname"] = grid->getGridName(); gridInfo[i]["loginuri"] = grid->getLoginUri(); gridInfo[i]["loginpage"] = grid->getLoginPage(); gridInfo[i]["helperuri"] = grid->getHelperUri(); gridInfo[i]["website"] = grid->getWebSite(); gridInfo[i]["support"] = grid->getSupportUrl(); gridInfo[i]["register"] = grid->getRegisterUrl(); gridInfo[i]["password"] = grid->getPasswordUrl(); // gridInfo[i]["firstname"] = grid->getFirstName(); // gridInfo[i]["lastname"] = grid->getLastName(); // gridInfo[i]["avatarpassword"] = grid->getAvatarPassword(); gridInfo[i]["search"] = grid->getSearchUrl(); gridInfo[i]["render_compat"] = grid->isRenderCompat(); gridInfo[i]["inventory_links"] = grid->supportsInvLinks(); } // write client grid info file std::string fileName = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "grids_sg1.xml"); llofstream file; file.open(fileName.c_str()); if (file.is_open()) { LLSDSerialize::toPrettyXML(gridInfo, file); file.close(); llinfos << "Saved grids to " << fileName << llendl; } else { llwarns << "Unable to open grid info file for save: " << fileName << llendl; } }
void HippoPanelGridsImpl::loadCurGrid() { HippoGridInfo *gridInfo = gHippoGridManager->getGrid(mCurGrid); if (gridInfo && (mState != ADD_NEW)) { LLComboBox *platform = getChild<LLComboBox>("platform"); if (platform) platform->setCurrentByIndex(gridInfo->getPlatform()); childSetText("gridname", gridInfo->getGridName()); childSetText("loginuri", gridInfo->getLoginUri()); childSetText("loginpage", gridInfo->getLoginPage()); childSetText("helperuri", gridInfo->getHelperUri()); childSetText("website", gridInfo->getWebSite()); childSetText("support", gridInfo->getSupportUrl()); childSetText("search", gridInfo->getSearchUrl()); childSetText("register", gridInfo->getRegisterUrl()); childSetText("password", gridInfo->getPasswordUrl()); childSetValue("render_compat", gridInfo->isRenderCompat()); enableEditing(!gridInfo->getLocked()); } else { std::string empty = ""; LLComboBox *platform = getChild<LLComboBox>("platform"); if (platform) platform->setCurrentByIndex(HippoGridInfo::PLATFORM_OTHER); childSetText("gridname", empty); childSetText("loginuri", empty); childSetText("loginpage", empty); childSetText("helperuri", empty); childSetText("website", empty); childSetText("support", empty); childSetText("search", empty); childSetText("register", empty); childSetText("password", empty); childSetValue("render_compat", true); enableEditing(true); } if (mState == ADD_NEW) { std::string required = "<required>"; childSetText("gridname", required); childSetText("loginuri", required); } else if (mState == ADD_COPY) { childSetText("gridname", std::string("<required>")); enableEditing(true); } else if (mState != NORMAL) { llwarns << "Illegal state " << mState << '.' << llendl; } refresh(); }