void LLFloaterAvatarPicker::onBtnSelect(void* userdata) { LLFloaterAvatarPicker* self = (LLFloaterAvatarPicker*)userdata; if(self->mCallback) { LLPanel* active_panel = self->childGetVisibleTab("ResidentChooserTabs"); if(active_panel == self->getChild<LLPanel>("CallingCardsPanel")) { self->mCallback(self->mSelectedInventoryAvatarNames, self->mSelectedInventoryAvatarIDs, self->mCallbackUserdata); } else if(active_panel == self->getChild<LLPanel>("SearchPanel")) { std::vector<std::string> avatar_names; std::vector<LLUUID> avatar_ids; getSelectedAvatarData(self->getChild<LLScrollListCtrl>("SearchResults"), avatar_names, avatar_ids); self->mCallback(avatar_names, avatar_ids, self->mCallbackUserdata); } else if(active_panel == self->getChild<LLPanel>("NearMePanel")) { std::vector<std::string> avatar_names; std::vector<LLUUID> avatar_ids; getSelectedAvatarData(self->getChild<LLScrollListCtrl>("NearMe"), avatar_names, avatar_ids); self->mCallback(avatar_names, avatar_ids, self->mCallbackUserdata); } else if(active_panel == self->getChild<LLPanel>("KeyPanel")) { LLUUID specified = self->getChild<LLLineEditor>("EditUUID")->getValue().asUUID(); if(specified.isNull()) return; std::vector<std::string> avatar_names; std::vector<LLUUID> avatar_ids; avatar_ids.push_back(specified); avatar_names.push_back(specified.asString()); self->mCallback(avatar_names, avatar_ids, self->mCallbackUserdata); } } self->getChild<LLInventoryPanel>("InventoryPanel")->setSelection(LLUUID::null, FALSE); self->getChild<LLScrollListCtrl>("SearchResults")->deselectAllItems(TRUE); self->getChild<LLScrollListCtrl>("NearMe")->deselectAllItems(TRUE); if(self->mCloseOnSelect) { self->mCloseOnSelect = FALSE; self->close(); } }
void LLFloaterAvatarPicker::onBtnSelect() { // If select btn not enabled then do not callback if (!isSelectBtnEnabled()) return; if(mSelectionCallback) { std::string active_panel_name; LLUICtrl* list = NULL; LLPanel* active_panel = getChild<LLTabContainer>("ResidentChooserTabs")->getCurrentPanel(); if(active_panel) { active_panel_name = active_panel->getName(); } if(active_panel_name == "SearchPanel") { list = getChild<LLScrollListCtrl>("SearchResults"); } else if(active_panel_name == "NearMePanel") { list = getChild<LLScrollListCtrl>("NearMe"); } else if (active_panel_name == "FriendsPanel") { list = getChild<LLScrollListCtrl>("Friends"); } else if(active_panel_name == "KeyPanel") { list = getChild<LLLineEditor>("EditUUID"); } if(list) { uuid_vec_t avatar_ids; std::vector<LLAvatarName> avatar_names; getSelectedAvatarData(list, avatar_ids, avatar_names); mSelectionCallback(avatar_ids, avatar_names); } } getChild<LLScrollListCtrl>("SearchResults")->deselectAllItems(TRUE); getChild<LLScrollListCtrl>("NearMe")->deselectAllItems(TRUE); getChild<LLScrollListCtrl>("Friends")->deselectAllItems(TRUE); if(mCloseOnSelect) { mCloseOnSelect = FALSE; close(); } }
void LLFloaterAvatarPicker::onBtnSelect(void* userdata) { LLFloaterAvatarPicker* self = (LLFloaterAvatarPicker*)userdata; if(self->mCallback) { LLPanel* active_panel = self->childGetVisibleTab("ResidentChooserTabs"); if(active_panel == self->getChild<LLPanel>("CallingCardsPanel")) { self->mCallback(self->mSelectedInventoryAvatarNames, self->mSelectedInventoryAvatarIDs, self->mCallbackUserdata); } else if(active_panel == self->getChild<LLPanel>("SearchPanel")) { std::vector<std::string> avatar_names; std::vector<LLUUID> avatar_ids; getSelectedAvatarData(self->getChild<LLScrollListCtrl>("SearchResults"), avatar_names, avatar_ids); self->mCallback(avatar_names, avatar_ids, self->mCallbackUserdata); } else if(active_panel == self->getChild<LLPanel>("NearMePanel")) { std::vector<std::string> avatar_names; std::vector<LLUUID> avatar_ids; getSelectedAvatarData(self->getChild<LLScrollListCtrl>("NearMe"), avatar_names, avatar_ids); self->mCallback(avatar_names, avatar_ids, self->mCallbackUserdata); } } if(self->init_cards)self->getChild<LLInventoryPanel>("InventoryPanel")->setSelection(LLUUID::null, FALSE); self->getChild<LLScrollListCtrl>("SearchResults")->deselectAllItems(TRUE); self->getChild<LLScrollListCtrl>("NearMe")->deselectAllItems(TRUE); if(self->mCloseOnSelect) { self->mCloseOnSelect = FALSE; self->close(); } }
bool LLFloaterAvatarPicker::isSelectBtnEnabled() { bool ret_val = visibleItemsSelected(); if ( ret_val && mOkButtonValidateSignal.num_slots() ) { std::string acvtive_panel_name; LLScrollListCtrl* list = NULL; LLPanel* active_panel = getChild<LLTabContainer>("ResidentChooserTabs")->getCurrentPanel(); if(active_panel) { acvtive_panel_name = active_panel->getName(); } if(acvtive_panel_name == "SearchPanel") { list = getChild<LLScrollListCtrl>("SearchResults"); } else if(acvtive_panel_name == "NearMePanel") { list = getChild<LLScrollListCtrl>("NearMe"); } else if (acvtive_panel_name == "FriendsPanel") { list = getChild<LLScrollListCtrl>("Friends"); } if(list) { uuid_vec_t avatar_ids; std::vector<LLAvatarName> avatar_names; getSelectedAvatarData(list, avatar_ids, avatar_names); //return mOkButtonValidateSignal(avatar_ids); // <FS:CR> FIRE-9799 - Check that we actually have an avatar selected if (avatar_ids.size() >= 1) return mOkButtonValidateSignal(avatar_ids); else return false; // </FS:CR> } } return ret_val; }
bool LLFloaterAvatarPicker::isSelectBtnEnabled() { bool ret_val = visibleItemsSelected(); if ( ret_val && mOkButtonValidateSignal.num_slots() ) { std::string active_panel_name; LLUICtrl* list = NULL; LLPanel* active_panel = getChild<LLTabContainer>("ResidentChooserTabs")->getCurrentPanel(); if(active_panel) { active_panel_name = active_panel->getName(); } if(active_panel_name == "SearchPanel") { list = getChild<LLScrollListCtrl>("SearchResults"); } else if(active_panel_name == "NearMePanel") { list = getChild<LLScrollListCtrl>("NearMe"); } else if (active_panel_name == "FriendsPanel") { list = getChild<LLScrollListCtrl>("Friends"); } else if(active_panel_name == "KeyPanel") { list = getChild<LLLineEditor>("EditUUID"); } if(list) { uuid_vec_t avatar_ids; std::vector<LLAvatarName> avatar_names; getSelectedAvatarData(list, avatar_ids, avatar_names); return mOkButtonValidateSignal(avatar_ids); } } return ret_val; }
void LLFloaterAvatarPicker::onBtnSelect() { // If select btn not enabled then do not callback if (!visibleItemsSelected()) return; if(mSelectionCallback) { std::vector<LLAvatarName> avatar_names; std::vector<LLUUID> avatar_ids; std::string active_panel_name; LLScrollListCtrl* list = NULL; LLPanel* active_panel = childGetVisibleTab("ResidentChooserTabs"); if(active_panel) { active_panel_name = active_panel->getName(); } if(active_panel_name == "CallingCardsPanel") { avatar_ids = mSelectedInventoryAvatarIDs; for(std::vector<std::string>::size_type i = 0; i < avatar_ids.size(); ++i) { std::map<LLUUID, LLAvatarName>::iterator iter = sAvatarNameMap.find(avatar_ids[i]); LLAvatarName av_name; if (iter != sAvatarNameMap.end()) { avatar_names.push_back(iter->second); } else if(LLAvatarNameCache::get(avatar_ids[i], &av_name)) { avatar_names.push_back(av_name); } else { std::string name = gCacheName->buildLegacyName(mSelectedInventoryAvatarNames[i]); std::string::size_type pos = name.find(' '); av_name.mLegacyFirstName = name.substr(pos); av_name.mLegacyLastName = pos!=std::string::npos ? name.substr(pos+1) : "Resident"; av_name.mDisplayName = name; av_name.mUsername = ""; avatar_names.push_back(av_name); } } } else if(active_panel_name == "SearchPanel") { list = getChild<LLScrollListCtrl>("SearchResults"); } else if(active_panel_name == "NearMePanel") { list = getChild<LLScrollListCtrl>("NearMe"); } else if(active_panel_name == "KeyPanel") { LLUUID specified = getChild<LLLineEditor>("EditUUID")->getValue().asUUID(); if(specified.isNull()) return; avatar_ids.push_back(specified); std::map<LLUUID, LLAvatarName>::iterator iter = sAvatarNameMap.find(specified); if (iter != sAvatarNameMap.end()) { avatar_names.push_back(iter->second); } else { LLAvatarName av_name; LLAvatarNameCache::get(specified, &av_name); avatar_names.push_back(av_name); } } if(list) { getSelectedAvatarData(list, avatar_ids, avatar_names); } if(!avatar_names.empty() && !avatar_ids.empty()) { mSelectionCallback(avatar_ids, avatar_names); } } getChild<LLInventoryPanel>("InventoryPanel")->setSelection(LLUUID::null, FALSE); getChild<LLScrollListCtrl>("SearchResults")->deselectAllItems(TRUE); getChild<LLScrollListCtrl>("NearMe")->deselectAllItems(TRUE); if(mCloseOnSelect) { mCloseOnSelect = FALSE; close(); } }