void LLPanelFriends::updateColumns(void* user_data) { LLPanelFriends* panelp = (LLPanelFriends*)user_data; if (panelp) { LLButton* expand_button = panelp->getChild<LLButton>("expand_collapse_btn"); LLScrollListCtrl* list = panelp->getChild<LLScrollListCtrl>("friend_list"); //llinfos << "Refreshing UI" << llendl; S32 width = 22; std::string button = ">"; if (gSavedSettings.getBOOL("ContactListCollapsed")) { width = 0; button = "<"; } expand_button->setLabel(button); LLScrollListColumn* column = list->getColumn(5); list->updateStaticColumnWidth(column, width); column->setWidth(width); column = list->getColumn(6); list->updateStaticColumnWidth(column, width); column->setWidth(width); column = list->getColumn(7); list->updateStaticColumnWidth(column, width); column->setWidth(width); list->updateLayout(); if (!gSavedSettings.getBOOL("ContactListCollapsed")) { panelp->updateFriends(LLFriendObserver::ADD); } } }
BOOL LLFloaterAvatarList::postBuild() { // Default values mTracking = FALSE; mUpdate = TRUE; // Set callbacks childSetAction("profile_btn", onClickProfile, this); childSetAction("im_btn", onClickIM, this); childSetAction("offer_btn", onClickTeleportOffer, this); childSetAction("track_btn", onClickTrack, this); childSetAction("mark_btn", onClickMark, this); childSetAction("focus_btn", onClickFocus, this); childSetAction("prev_in_list_btn", onClickPrevInList, this); childSetAction("next_in_list_btn", onClickNextInList, this); childSetAction("prev_marked_btn", onClickPrevMarked, this); childSetAction("next_marked_btn", onClickNextMarked, this); childSetAction("get_key_btn", onClickGetKey, this); childSetAction("freeze_btn", onClickFreeze, this); childSetAction("eject_btn", onClickEject, this); childSetAction("mute_btn", onClickMute, this); childSetAction("ar_btn", onClickAR, this); childSetAction("teleport_btn", onClickTeleport, this); childSetAction("estate_eject_btn", onClickEjectFromEstate, this); childSetAction("estate_ban_btn", onClickBanFromEstate, this); childSetAction("send_keys_btn", onClickSendKeys, this); getChild<LLRadioGroup>("update_rate")->setSelectedIndex(gSavedSettings.getU32("RadarUpdateRate")); childSetCommitCallback("update_rate", onCommitUpdateRate, this); // Get a pointer to the scroll list from the interface mAvatarList = getChild<LLScrollListCtrl>("avatar_list"); mAvatarList->sortByColumn("distance", TRUE); mAvatarList->setCommitOnSelectionChange(TRUE); mAvatarList->setCallbackUserData(this); mAvatarList->setCommitCallback(onSelectName); mAvatarList->setDoubleClickCallback(onClickFocus); refreshAvatarList(); gIdleCallbacks.addFunction(LLFloaterAvatarList::callbackIdle); if(gHippoGridManager->getConnectedGrid()->isSecondLife()){ LLScrollListCtrl* list = getChild<LLScrollListCtrl>("avatar_list"); list->getColumn(LIST_AVATAR_NAME)->setWidth(0); list->getColumn(LIST_CLIENT)->setWidth(0); list->getColumn(LIST_CLIENT)->mDynamicWidth = FALSE; list->getColumn(LIST_CLIENT)->mRelWidth = 0; list->getColumn(LIST_AVATAR_NAME)->mDynamicWidth = TRUE; list->getColumn(LIST_AVATAR_NAME)->mRelWidth = -1; list->updateLayout(); } return TRUE; }
BOOL LLPanelDirLand::postBuild() { LLPanelDirBrowser::postBuild(); childSetValue("type", gSavedSettings.getString("FindLandType")); bool adult_enabled = gAgent.canAccessAdult(); bool mature_enabled = gAgent.canAccessMature(); childSetVisible("incpg", true); if (!mature_enabled) { childSetValue("incmature", FALSE); childDisable("incmature"); } if (!adult_enabled) { childSetValue("incadult", FALSE); childDisable("incadult"); } childSetCommitCallback("pricecheck", onCommitPrice, this); childSetCommitCallback("areacheck", onCommitArea, this); childSetValue("priceedit", gStatusBar->getBalance()); childSetEnabled("priceedit", gSavedSettings.getBOOL("FindLandPrice")); childSetPrevalidate("priceedit", LLLineEditor::prevalidateNonNegativeS32); childSetEnabled("areaedit", gSavedSettings.getBOOL("FindLandArea")); childSetPrevalidate("areaedit", LLLineEditor::prevalidateNonNegativeS32); childSetAction("Search", onClickSearchCore, this); setDefaultBtn("Search"); childSetTextArg("land", "[CURRENCY]", gHippoGridManager->getConnectedGrid()->getCurrencySymbol()); childSetTextArg("pricecheck_symbol", "[CURRENCY]", gHippoGridManager->getConnectedGrid()->getCurrencySymbol()); childSetLabelArg("pricecheck", "[CURRENCY]", gHippoGridManager->getConnectedGrid()->getCurrencySymbol()); mCurrentSortColumn = "per_meter"; LLScrollListCtrl* results = getChild<LLScrollListCtrl>("results"); if (results) { results->setSortChangedCallback(boost::bind(&LLPanelDirLand::onClickSort,this)); results->sortByColumn(mCurrentSortColumn,mCurrentSortAscending); LLStringUtil::format_map_t args; args["[CURRENCY]"] = gHippoGridManager->getConnectedGrid()->getCurrencySymbol(); int n = results->getNumColumns(); for (int i=0; i<n; i++) { LLScrollListColumn *col = results->getColumn(i); std::string label = col->mLabel; LLStringUtil::format(label, args); results->setColumnLabel(col->mName, label); } } childSetVisible("filter_gaming", (gAgent.getRegion()->getGamingFlags() & REGION_GAMING_PRESENT) && !(gAgent.getRegion()->getGamingFlags() & REGION_GAMING_HIDE_FIND_LAND)); return TRUE; }
//static void LLFloaterTeleportHistory::saveFile(const std::string &file_name) { LLFloaterTeleportHistory *pFloaterHistory = LLFloaterTeleportHistory::findInstance(); if(!pFloaterHistory) return; std::string temp_str = gDirUtilp->getLindenUserDir(true); if( temp_str.empty() ) { LL_INFOS() << "Can't save teleport history - no user directory set yet." << LL_ENDL; return; } temp_str += gDirUtilp->getDirDelimiter() + file_name; llofstream export_file(temp_str); if (!export_file.good()) { LL_WARNS() << "Unable to open " << file_name << " for output." << LL_ENDL; return; } LL_INFOS() << "Writing "<< file_name << " file at " << temp_str << LL_ENDL; LLSD elements; LLScrollListCtrl* pScrollList = pFloaterHistory->mPlacesList; if (pScrollList) { std::vector<LLScrollListItem*> data_list = pScrollList->getAllData(); std::sort(data_list.begin(),data_list.end(),SortByAge());//Re-sort. Column sorting may have mucked the list up. Newer entries in front. for (std::vector<LLScrollListItem*>::iterator itr = data_list.begin(); itr != data_list.end(); ++itr) { //Pack into LLSD mimicing one passed to addElement LLSD data_entry; //id is actually reverse of the indexing of the element LLSD. Higher id = newer. data_entry["id"] = pScrollList->getItemCount() - elements.size() - 1; for(S32 i = 0; i < (*itr)->getNumColumns(); ++i) { data_entry["columns"][i]["column"]=pScrollList->getColumn(i)->mName; data_entry["columns"][i]["value"]=(*itr)->getColumn(i)->getValue(); } elements.append(data_entry); } } LLSDSerialize::toXML(elements, export_file); export_file.close(); }
BOOL LLPanelScriptLimitsRegionMemory::postBuild() { childSetAction("refresh_list_btn", onClickRefresh, this); childSetAction("highlight_btn", onClickHighlight, this); childSetAction("return_btn", onClickReturn, this); std::string msg_waiting = LLTrans::getString("ScriptLimitsRequestWaiting"); childSetValue("loading_text", LLSD(msg_waiting)); LLScrollListCtrl *list = getChild<LLScrollListCtrl>("scripts_list"); if(!list) { return FALSE; } //set all columns to resizable mode even if some columns will be empty for(S32 column = 0; column < list->getNumColumns(); column++) { LLScrollListColumn* columnp = list->getColumn(column); columnp->mHeader->setHasResizableElement(TRUE); } return StartRequestChain(); }