//static void LLFloaterAvatarList::callbackEjectFromEstate(S32 option, void* data) { LLFloaterAvatarList *self = LLFloaterAvatarList::sInstance; if (option == 0) { self->doCommand(cmd_estate_eject); } }
BOOL LLFloaterAvatarList::handleKeyHere(KEY key, MASK mask) { LLFloaterAvatarList* self = getInstance(); LLScrollListItem* item = self->mAvatarList->getFirstSelected(); if(item) { LLUUID agent_id = item->getUUID(); if (( KEY_RETURN == key ) && (MASK_NONE == mask)) { self->mFocusedAvatar = agent_id; self->focusOnCurrent(); return TRUE; } else if (( KEY_RETURN == key ) && (MASK_CONTROL == mask)) { LLAvatarListEntry* entry = self->getAvatarEntry(agent_id); if (entry) { // llinfos << "Trying to teleport to " << entry->getName() << " at " << entry->getPosition() << llendl; gAgent.teleportViaLocation(entry->getPosition()); } return TRUE; } } if (( KEY_RETURN == key ) && (MASK_SHIFT == mask)) { LLDynamicArray<LLUUID> ids = self->mAvatarList->getSelectedIDs(); if (ids.size() > 0) { if (ids.size() == 1) { // Single avatar LLUUID agent_id = ids[0]; // [Ansariel: Display name support] LLAvatarName avatar_name; if (LLAvatarNameCache::get(agent_id, &avatar_name)) { gIMMgr->setFloaterOpen(TRUE); gIMMgr->addSession(LLCacheName::cleanFullName(avatar_name.getLegacyName()),IM_NOTHING_SPECIAL,agent_id); } // [Ansariel: Display name support] } else { // Group IM LLUUID session_id; session_id.generate(); gIMMgr->setFloaterOpen(TRUE); gIMMgr->addSession("Avatars Conference", IM_SESSION_CONFERENCE_START, ids[0], ids); } } } return LLPanel::handleKeyHere(key, mask); }
void LLFloaterAvatarList::onClickFocus(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; LLScrollListItem *item = self->mAvatarList->getFirstSelected(); if (item) { self->mFocusedAvatar = item->getUUID(); self->focusOnCurrent(); } }
//static void LLFloaterAvatarList::callbackEjectFromEstate(const LLSD& notification, const LLSD& response) { S32 option = LLNotification::getSelectedOption(notification, response); LLFloaterAvatarList *self = LLFloaterAvatarList::sInstance; if (option == 0) { self->doCommand(cmd_estate_eject); } }
//static void LLFloaterAvatarList::callbackEject(S32 option, void* data) { LLFloaterAvatarList *self = LLFloaterAvatarList::sInstance; if (option == 0) { self->doCommand(cmd_eject); } else if (option == 1) { self->doCommand(cmd_ban); } }
//static void LLFloaterAvatarList::callbackFreeze(S32 option, void* data) { LLFloaterAvatarList *self = LLFloaterAvatarList::sInstance; if (option == 0) { self->doCommand(cmd_freeze); } else if (option == 1) { self->doCommand(cmd_unfreeze); } }
//static void LLFloaterAvatarList::onClickAR(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; LLScrollListItem *item = self->mAvatarList->getFirstSelected(); if (item) { LLUUID agent_id = item->getUUID(); LLAvatarListEntry *entry = self->getAvatarEntry(agent_id); if (entry) { LLFloaterReporter::showFromObject(entry->getID()); } } }
//static void LLFloaterAvatarList::onClickMark(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; LLDynamicArray<LLUUID> ids = self->mAvatarList->getSelectedIDs(); for (LLDynamicArray<LLUUID>::iterator itr = ids.begin(); itr != ids.end(); ++itr) { LLUUID avid = *itr; LLAvatarListEntry *entry = self->getAvatarEntry(avid); if (entry != NULL) { entry->toggleMark(); } } }
//static void LLFloaterAvatarList::callbackFreeze(const LLSD& notification, const LLSD& response) { S32 option = LLNotification::getSelectedOption(notification, response); LLFloaterAvatarList *self = LLFloaterAvatarList::sInstance; if (option == 0) { self->doCommand(cmd_freeze); } else if (option == 1) { self->doCommand(cmd_unfreeze); } }
//static void LLFloaterAvatarList::onClickTeleport(void* userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; LLScrollListItem *item = self->mAvatarList->getFirstSelected(); if (item) { LLUUID agent_id = item->getUUID(); LLAvatarListEntry *entry = self->getAvatarEntry(agent_id); if (entry) { // llinfos << "Trying to teleport to " << entry->getName() << " at " << entry->getPosition() << llendl; gAgent.teleportViaLocation(entry->getPosition()); } } }
void LLFloaterAvatarList::onSelectName(LLUICtrl*, void* userdata) { LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata; LLScrollListItem *item = self->mAvatarList->getFirstSelected(); if (item) { LLUUID agent_id = item->getUUID(); LLAvatarListEntry *entry = self->getAvatarEntry(agent_id); if (entry) { BOOL enabled = entry->isDrawn(); self->childSetEnabled("focus_btn", enabled); self->childSetEnabled("prev_in_list_btn", enabled); self->childSetEnabled("next_in_list_btn", enabled); } } }
void chat_avatar_status(std::string name, LLUUID key, ERadarAlertType type, bool entering) { static LLCachedControl<bool> radar_chat_alerts(gSavedSettings, "RadarChatAlerts"); if (!radar_chat_alerts) return; static LLCachedControl<bool> radar_alert_sim(gSavedSettings, "RadarAlertSim"); static LLCachedControl<bool> radar_alert_draw(gSavedSettings, "RadarAlertDraw"); static LLCachedControl<bool> radar_alert_shout_range(gSavedSettings, "RadarAlertShoutRange"); static LLCachedControl<bool> radar_alert_chat_range(gSavedSettings, "RadarAlertChatRange"); static LLCachedControl<bool> radar_chat_keys(gSavedSettings, "RadarChatKeys"); LLFloaterAvatarList* self = LLFloaterAvatarList::getInstance(); LLStringUtil::format_map_t args; switch(type) { case ALERT_TYPE_SIM: if (radar_alert_sim) { args["[RANGE]"] = self->getString("the_sim"); } break; case ALERT_TYPE_DRAW: if (radar_alert_draw) { args["[RANGE]"] = self->getString("draw_distance"); } break; case ALERT_TYPE_SHOUTRANGE: if (radar_alert_shout_range) { args["[RANGE]"] = self->getString("shout_range"); } break; case ALERT_TYPE_CHATRANGE: if (radar_alert_chat_range) { args["[RANGE]"] = self->getString("chat_range"); } break; } if (args.find("[RANGE]") != args.end()) { args["[NAME]"] = name; args["[ACTION]"] = self->getString(entering ? "has_entered" : "has_left"); LLChat chat; chat.mText = self->getString("template", args); chat.mFromName = name; chat.mURL = llformat("secondlife:///app/agent/%s/about",key.asString().c_str()); chat.mSourceType = CHAT_SOURCE_SYSTEM; LLFloaterChat::addChat(chat); } }
//static void LLFloaterAvatarList::onClickPrevMarked(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; self->focusOnPrev(TRUE); }
// static void LLFloaterAvatarList::onClickProfile(void* userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; self->doCommand(cmd_profile); }
//static void LLFloaterAvatarList::onClickPrevInList(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; self->focusOnPrev(FALSE); }
//static void LLFloaterAvatarList::onClickNextInList(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; self->focusOnNext(FALSE); }
//static void LLFloaterAvatarList::onClickNextMarked(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; self->focusOnNext(TRUE); }