LLFloaterAvatarList Class Reference

Avatar List Implements an avatar scanner in the client. More...

#include <llfloateravatarlist.h>

Inheritance diagram for LLFloaterAvatarList:

Inheritance graph
[legend]
Collaboration diagram for LLFloaterAvatarList:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLFloaterAvatarList ()
 Creates and initializes the LLFloaterAvatarList Here the interface is created, and callbacks are initialized.
 ~LLFloaterAvatarList ()
void show ()
virtual void onClose (bool app_quitting)
 Hide when user closes the list.
void updateAvatarList ()
 Updates the internal avatar list with the currently present avatars.
void refreshAvatarList ()
 Refresh avatar list (display).
BOOL avatarIsInList (LLUUID avatar)
 Returns TRUE if the avatar is in the list of known avatars.
LLAvatarListEntrygetAvatarEntry (LLUUID avatar)
 Returns the entry for an avatar, if preset.
void requestTrustNetScore (LLUUID avatar, const LLString name, const LLString type)
 Requests a TrustNet score from the Adapter.
void requestMiscInfo (LLUUID avatar, const LLString name)
 Requests information about the avatar from the database.
LLString getSelectedNames (const LLString &separator=", ")
 Returns a string with the selected names in the list.

Static Public Member Functions

static void toggle (void *)
 Toggles interface visibility There is only one instance of the avatar scanner at any time.
static BOOL visible (void *)
 Returns floater visibility status.
static void processAvatarPropertiesReply (LLMessageSystem *msg, void **)
 Process the reply to a request for avatar properties.
static BOOL handleIM (LLUUID from_id, const LLString message)
 Handles IM messages to process the ones that are replies to database requests.
static void processTrustNetReply (char *reply)
 Process a reply from the TrustNet Adapter This handles replies from the TrustNet adapter, such as score results.

Private Types

typedef void(*) avlist_command_t (const LLUUID &avatar, const LLString &name)
 LIST_AVATAR_ICON
 LIST_AVATAR_NAME
 LIST_DISTANCE
 LIST_AGE
 LIST_SCORE
 LIST_PAYMENT
 LIST_ACTIVITY
enum  AVATARS_COLUMN_ORDER {
  LIST_AVATAR_ICON, LIST_AVATAR_NAME, LIST_DISTANCE, LIST_AGE,
  LIST_SCORE, LIST_PAYMENT, LIST_ACTIVITY
}

Private Member Functions

void speakText (S32 channel, EChatType type, LLString text)
void removeFocusFromAll ()
 Removes focus status from all avatars in list.
void focusOnPrev (BOOL marked_only)
 Focus camera on previous avatar.
void focusOnNext (BOOL marked_only)
 Focus camera on next avatar.
void doCommand (avlist_command_t cmd)
void expireAvatarList ()
 Cleanup avatar list, removing dead entries from it. This lets dead entries remain for some time. This makes it possible to keep people passing by in the list long enough that it's possible to do something to them.
void luskwoodCommand (LLString cmd)
 Perform a Luskwood Gohomer command on the selected users.
void processARQueue ()
 Process the AR queue This generates AR reports for the queued avatars.
void sendAvatarPropertiesRequest (LLUUID avid)
 Request information about the specified avatar.
void checkTrackingStatus ()
LLColor4 getAvatarColor (LLAvatarListEntry *ent, F32 distance, e_coloring_type type)
 Returns the color for the specified avatar entry.

Static Private Member Functions

static void onClickProfile (void *userdata)
 Handler for the "refresh" button click. I am unsure whether this is actually necessary at the time.
static void onClickIM (void *userdata)
static void onClickTrack (void *userdata)
static void onClickMark (void *userdata)
static void onClickGohomerMark (void *userdata)
static void onClickGohomerWarn (void *userdata)
static void onClickGohomerEject (void *userdata)
static void onClickGohomerSendAway (void *userdata)
static void onClickGohomerSendHome (void *userdata)
static void onClickGohomerSendHomeByKey (void *userdata)
static void onClickGohomerOff (void *userdata)
static void onClickPrevInList (void *userdata)
static void onClickNextInList (void *userdata)
static void onClickPrevMarked (void *userdata)
static void onClickNextMarked (void *userdata)
static void onClickGetKey (void *userdata)
static void onClickTrustNetRate (void *userdata)
static void onClickTrustNetExplain (void *userdata)
static void onClickTrustNetWebsite (void *userdata)
static void onClickTrustNetGetPassword (void *userdata)
static void onClickTrustNetRenew (void *userdata)
static void onDoubleClick (void *userdata)
static void onClickFreeze (void *userdata)
static void onClickEject (void *userdata)
static void onClickMute (void *userdata)
static void onClickAR (void *userdata)
static void onClickTeleport (void *userdata)
static void onClickEjectFromEstate (void *userdata)
static void callbackFreeze (S32 option, void *userdata)
static void callbackEject (S32 option, void *userdata)
static void callbackMute (S32 option, void *userdata)
static void callbackAR (void *userdata)
static void callbackEjectFromEstate (S32 option, void *userdata)
static void handleLuskwoodDialog (S32 option, void *data)
 Handle the results of a gohomer confirmation dialog.
static void handleLuskwoodGohomerOffDialog (S32 option, void *data)
 Handle the results of a gohomer turn off dialog.
static void replaceVars (LLString &str, LLUUID avatar, const LLString &name)
 Replace variables in string.

Private Attributes

LLScrollListCtrlmAvatarList
 Pointer to the avatar scroll list.
std::map< LLUUID, LLAvatarListEntrymAvatars
std::queue< LLUUIDmARQueue
 Queue of abuse reports.
std::queue< LLFloaterReporter * > mARReporterQueue
 List of AR screens opened We don't open them on creation to capture a clean screenshot. They're opened only after finishing the process.
S32 mARLastFrame
 Last time during which an AR was submitted Used to give the camera some time to move between avatars. Perhaps this way of doing things isn't ideal, though.
BOOL mTracking
BOOL mTrackByLocation
LLUUID mTrackedAvatar
LLTimer mDataRequestTimer
 Used to delay avatar data requests.
LLTimer mTrustNetTimer
 Used to delay trustnet requests.
LLString mLuskwoodCommand
 Luskwood command to execute.
LLUUID mFocusedAvatar
 Avatar the camera is focused on.

Detailed Description

Avatar List Implements an avatar scanner in the client.

This is my first attempt to modify the SL source. This code is intended to have a dual purpose: doing the task, and providing an example of how to do it. For that reason, it's going to be commented as exhaustively as possible.

Since I'm very new to C++ any suggestions on coding, style, etc are very welcome.

Definition at line 498 of file llfloateravatarlist.h.


Member Typedef Documentation

typedef void(*) LLFloaterAvatarList::avlist_command_t(const LLUUID &avatar, const LLString &name) [private]

Definition at line 603 of file llfloateravatarlist.h.


Member Enumeration Documentation

enum LLFloaterAvatarList::AVATARS_COLUMN_ORDER [private]

Enumerator:
LIST_AVATAR_ICON 
LIST_AVATAR_NAME 
LIST_DISTANCE 
LIST_AGE 
LIST_SCORE 
LIST_PAYMENT 
LIST_ACTIVITY 

Definition at line 592 of file llfloateravatarlist.h.


Constructor & Destructor Documentation

LLFloaterAvatarList::LLFloaterAvatarList (  ) 

Creates and initializes the LLFloaterAvatarList Here the interface is created, and callbacks are initialized.

Definition at line 236 of file llfloateravatarlist.cpp.

References LLMessageSystem::addHandlerFunc(), LLUICtrlFactory::buildFloater(), LLPanel::childSetAction(), FALSE, LLUICtrlFactory::getScrollListByName(), gMessageSystem, gUICtrlFactory, mARLastFrame, mAvatarList, mDataRequestTimer, mTrackByLocation, mTracking, onClickAR(), onClickEject(), onClickEjectFromEstate(), onClickFreeze(), onClickGetKey(), onClickGohomerEject(), onClickGohomerOff(), onClickGohomerSendAway(), onClickGohomerSendHome(), onClickGohomerSendHomeByKey(), onClickGohomerWarn(), onClickIM(), onClickMark(), onClickMute(), onClickNextInList(), onClickNextMarked(), onClickPrevInList(), onClickPrevMarked(), onClickProfile(), onClickTeleport(), onClickTrack(), onClickTrustNetExplain(), onClickTrustNetGetPassword(), onClickTrustNetRate(), onClickTrustNetRenew(), onClickTrustNetWebsite(), onDoubleClick(), processAvatarPropertiesReply(), refreshAvatarList(), LLUICtrl::setCallbackUserData(), LLPanel::setDefaultBtn(), LLScrollListCtrl::setDoubleClickCallback(), LLFloater::setVisible(), LLScrollListCtrl::sortByColumn(), LLTimer::start(), and TRUE.

LLFloaterAvatarList::~LLFloaterAvatarList (  ) 

Definition at line 302 of file llfloateravatarlist.cpp.

References LLMessageSystem::delHandlerFunc(), gMessageSystem, and processAvatarPropertiesReply().


Member Function Documentation

BOOL LLFloaterAvatarList::avatarIsInList ( LLUUID  avatar  ) 

Returns TRUE if the avatar is in the list of known avatars.

Returns:
TRUE if the avatar is in the list

Definition at line 1011 of file llfloateravatarlist.cpp.

References mAvatars.

static void LLFloaterAvatarList::callbackAR ( void userdata  )  [static, private]

void LLFloaterAvatarList::callbackEject ( S32  option,
void userdata 
) [static, private]

Definition at line 1781 of file llfloateravatarlist.cpp.

References cmd_ban(), cmd_eject(), and doCommand().

Referenced by onClickEject().

void LLFloaterAvatarList::callbackEjectFromEstate ( S32  option,
void userdata 
) [static, private]

Definition at line 1809 of file llfloateravatarlist.cpp.

References cmd_estate_ban(), cmd_estate_eject(), and doCommand().

Referenced by onClickEjectFromEstate().

void LLFloaterAvatarList::callbackFreeze ( S32  option,
void userdata 
) [static, private]

Definition at line 1767 of file llfloateravatarlist.cpp.

References cmd_freeze(), cmd_unfreeze(), and doCommand().

Referenced by onClickFreeze().

void LLFloaterAvatarList::callbackMute ( S32  option,
void userdata 
) [static, private]

Definition at line 1795 of file llfloateravatarlist.cpp.

References cmd_mute(), cmd_unmute(), and doCommand().

Referenced by onClickMute().

void LLFloaterAvatarList::checkTrackingStatus (  )  [private]

Definition at line 978 of file llfloateravatarlist.cpp.

References FALSE, LLTracker::getTrackedPositionGlobal(), llendl, llinfos, mAvatars, mTrackByLocation, mTrackedAvatar, mTracking, NULL, LLTracker::stopTracking(), LLTracker::trackLocation(), and TRUE.

Referenced by updateAvatarList().

void LLFloaterAvatarList::doCommand ( avlist_command_t  cmd  )  [private]

Referenced by callbackEject(), callbackEjectFromEstate(), callbackFreeze(), callbackMute(), and onClickProfile().

void LLFloaterAvatarList::expireAvatarList (  )  [private]

Cleanup avatar list, removing dead entries from it. This lets dead entries remain for some time. This makes it possible to keep people passing by in the list long enough that it's possible to do something to them.

Definition at line 470 of file llfloateravatarlist.cpp.

References ACTIVITY_DEAD, CLEANUP_TIMEOUT, llendl, llinfos, and mAvatars.

Referenced by updateAvatarList().

void LLFloaterAvatarList::focusOnNext ( BOOL  marked_only  )  [private]

Focus camera on next avatar.

Parameters:
marked_only Whether to choose only marked avatars

Definition at line 1463 of file llfloateravatarlist.cpp.

References CAMERA_POSITION_OBJECT, FALSE, first, gAgent, LLAvatarListEntry::getID(), LLAvatarListEntry::isDead(), LLAvatarListEntry::isMarked(), LLAgent::lookAtObject(), mAvatars, mFocusedAvatar, NULL, removeFocusFromAll(), LLAvatarListEntry::setFocus(), and TRUE.

void LLFloaterAvatarList::focusOnPrev ( BOOL  marked_only  )  [private]

Focus camera on previous avatar.

Parameters:
marked_only Whether to choose only marked avatars

Definition at line 1421 of file llfloateravatarlist.cpp.

References CAMERA_POSITION_OBJECT, gAgent, LLAvatarListEntry::getID(), LLAvatarListEntry::isDead(), LLAvatarListEntry::isMarked(), LLAgent::lookAtObject(), mAvatars, mFocusedAvatar, NULL, removeFocusFromAll(), LLAvatarListEntry::setFocus(), and TRUE.

LLColor4 LLFloaterAvatarList::getAvatarColor ( LLAvatarListEntry ent,
F32  distance,
e_coloring_type  type 
) [private]

Returns the color for the specified avatar entry.

Parameters:
ent Avatar entry
distance Distance from the user

Definition at line 1311 of file llfloateravatarlist.cpp.

References a, b, LLColor4::black, CT_AGE, CT_DISTANCE, CT_NONE, CT_PAYMENT, CT_SCORE, DATA_RETRIEVED, f, g, LLAvatarInfo::getAge(), LLAvatarListDatum< T >::getStatus(), LLAvatarListDatum< T >::getValue(), LLAvatarListEntry::mAvatarInfo, LLAvatarListEntry::mTrustNetScore, r, S32, and LLAvListTrustNetScore::Score.

Referenced by refreshAvatarList().

LLAvatarListEntry * LLFloaterAvatarList::getAvatarEntry ( LLUUID  avatar  ) 

Returns the entry for an avatar, if preset.

Returns:
Pointer to avatar entry, NULL if not found.

Definition at line 1016 of file llfloateravatarlist.cpp.

References LLUUID::isNull(), mAvatars, and NULL.

Referenced by addParticleSourcesToList(), getSelectedNames(), luskwoodCommand(), onClickMark(), onClickTeleport(), LLPipeline::postSort(), processTrustNetReply(), and LLAgent::startTyping().

LLString LLFloaterAvatarList::getSelectedNames ( const LLString separator = ", "  ) 

Returns a string with the selected names in the list.

Definition at line 1747 of file llfloateravatarlist.cpp.

References getAvatarEntry(), LLAvatarListEntry::getName(), LLScrollListCtrl::getSelectedIDs(), mAvatarList, and NULL.

BOOL LLFloaterAvatarList::handleIM ( LLUUID  from_id,
const LLString  message 
) [static]

Handles IM messages to process the ones that are replies to database requests.

Parameters:
from_id Key of the avatar sending the message
message Content
Returns:
TRUE if the message was handled. This will suppress further processing in llviewermessage.cpp

Definition at line 1115 of file llfloateravatarlist.cpp.

References LLMiscDBInfo::data, FALSE, LLControlGroup::getString(), gFloaterAvatarList, gSavedPerAccountSettings, llendl, llinfos, mAvatars, LLUUID::set(), and TRUE.

void LLFloaterAvatarList::handleLuskwoodDialog ( S32  option,
void data 
) [static, private]

Handle the results of a gohomer confirmation dialog.

Parameters:
option Option selected (0=ok, 1=cancel)
data this

Definition at line 1238 of file llfloateravatarlist.cpp.

Referenced by onClickGohomerEject(), onClickGohomerSendAway(), onClickGohomerSendHome(), onClickGohomerSendHomeByKey(), and onClickGohomerWarn().

void LLFloaterAvatarList::handleLuskwoodGohomerOffDialog ( S32  option,
void data 
) [static, private]

Handle the results of a gohomer turn off dialog.

Parameters:
option Option selected (0=ok, 1=cancel)
data this

Definition at line 1247 of file llfloateravatarlist.cpp.

References CHAT_TYPE_SHOUT.

Referenced by onClickGohomerOff().

void LLFloaterAvatarList::luskwoodCommand ( LLString  cmd  )  [private]

Perform a Luskwood Gohomer command on the selected users.

Parameters:
cmd Command (for example "gowarn")

Definition at line 1204 of file llfloateravatarlist.cpp.

References LLUUID::asString(), CHAT_TYPE_SHOUT, getAvatarEntry(), LLAvatarListEntry::getID(), LLAvatarListEntry::getName(), LLScrollListCtrl::getSelectedIDs(), mAvatarList, NULL, and speakText().

void LLFloaterAvatarList::onClickAR ( void userdata  )  [static, private]

Definition at line 1857 of file llfloateravatarlist.cpp.

References LLScrollListCtrl::getSelectedIDs(), llendl, llinfos, mARQueue, and mAvatarList.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickEject ( void userdata  )  [static, private]

Definition at line 1831 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), callbackEject(), and gViewerWindow.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickEjectFromEstate ( void userdata  )  [static, private]

Definition at line 1847 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), callbackEjectFromEstate(), and gViewerWindow.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickFreeze ( void userdata  )  [static, private]

Definition at line 1823 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), callbackFreeze(), and gViewerWindow.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickGetKey ( void userdata  )  [static, private]

Definition at line 1584 of file llfloateravatarlist.cpp.

References LLWindow::copyTextToClipboard(), LLScrollListItem::getUUID(), gViewerWindow, LLViewerWindow::mWindow, NULL, LLUUID::toString(), utf8str_to_wstring(), and UUID_STR_LENGTH.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickGohomerEject ( void userdata  )  [static, private]

Definition at line 1267 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), gViewerWindow, and handleLuskwoodDialog().

Referenced by LLFloaterAvatarList().

static void LLFloaterAvatarList::onClickGohomerMark ( void userdata  )  [static, private]

void LLFloaterAvatarList::onClickGohomerOff ( void userdata  )  [static, private]

Definition at line 1304 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), gViewerWindow, and handleLuskwoodGohomerOffDialog().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickGohomerSendAway ( void userdata  )  [static, private]

Definition at line 1276 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), gViewerWindow, and handleLuskwoodDialog().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickGohomerSendHome ( void userdata  )  [static, private]

Definition at line 1285 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), gViewerWindow, and handleLuskwoodDialog().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickGohomerSendHomeByKey ( void userdata  )  [static, private]

Definition at line 1294 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), gViewerWindow, and handleLuskwoodDialog().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickGohomerWarn ( void userdata  )  [static, private]

Definition at line 1257 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), gViewerWindow, and handleLuskwoodDialog().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickIM ( void userdata  )  [static, private]

Definition at line 788 of file llfloateravatarlist.cpp.

References LLIMMgr::addSession(), LLUUID::generate(), LLScrollListCtrl::getSelectedIDs(), gIMMgr, IM_NOTHING_SPECIAL, IM_SESSION_CONFERENCE_START, mAvatarList, mAvatars, MAX_STRING, LLIMMgr::setFloaterOpen(), and TRUE.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickMark ( void userdata  )  [static, private]

Definition at line 1222 of file llfloateravatarlist.cpp.

References getAvatarEntry(), LLScrollListCtrl::getSelectedIDs(), mAvatarList, NULL, and LLAvatarListEntry::toggleMark().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickMute ( void userdata  )  [static, private]

Definition at line 1839 of file llfloateravatarlist.cpp.

References LLViewerWindow::alertXml(), callbackMute(), and gViewerWindow.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickNextInList ( void userdata  )  [static, private]

Definition at line 1520 of file llfloateravatarlist.cpp.

References FALSE.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickNextMarked ( void userdata  )  [static, private]

Definition at line 1534 of file llfloateravatarlist.cpp.

References TRUE.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickPrevInList ( void userdata  )  [static, private]

Definition at line 1513 of file llfloateravatarlist.cpp.

References FALSE.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickPrevMarked ( void userdata  )  [static, private]

Definition at line 1527 of file llfloateravatarlist.cpp.

References TRUE.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickProfile ( void userdata  )  [static, private]

Handler for the "refresh" button click. I am unsure whether this is actually necessary at the time.

LL: By convention, button callbacks are named onClickButtonLabel

Parameters:
userdata Pointer to user data (LLFloaterAvatarList instance)

Definition at line 1871 of file llfloateravatarlist.cpp.

References cmd_profile(), and doCommand().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickTeleport ( void userdata  )  [static, private]

Definition at line 1878 of file llfloateravatarlist.cpp.

References gAgent, getAvatarEntry(), LLScrollListCtrl::getFirstSelected(), LLAvatarListEntry::getName(), LLAvatarListEntry::getPosition(), LLScrollListItem::getUUID(), llendl, llinfos, mAvatarList, and LLAgent::teleportViaLocation().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickTrack ( void userdata  )  [static, private]

Definition at line 820 of file llfloateravatarlist.cpp.

References FALSE, LLScrollListCtrl::getFirstSelected(), LLScrollListItem::getUUID(), mAvatarList, mAvatars, mTrackByLocation, mTrackedAvatar, mTracking, NULL, LLTracker::stopTracking(), LLTracker::trackAvatar(), and TRUE.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickTrustNetExplain ( void userdata  )  [static, private]

Definition at line 1548 of file llfloateravatarlist.cpp.

References LLUUID::asString(), CHAT_TYPE_WHISPER, LLAvatarListEntry::getID(), LLAvatarListEntry::getName(), LLScrollListItem::getUUID(), NULL, and TRUSTNET_CHANNEL.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickTrustNetGetPassword ( void userdata  )  [static, private]

Definition at line 1569 of file llfloateravatarlist.cpp.

References CHAT_TYPE_WHISPER, and TRUSTNET_CHANNEL.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickTrustNetRate ( void userdata  )  [static, private]

Definition at line 1541 of file llfloateravatarlist.cpp.

References llendl, and llinfos.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickTrustNetRenew ( void userdata  )  [static, private]

Definition at line 1577 of file llfloateravatarlist.cpp.

References CHAT_TYPE_WHISPER, and TRUSTNET_CHANNEL.

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::onClickTrustNetWebsite ( void userdata  )  [static, private]

Definition at line 1561 of file llfloateravatarlist.cpp.

References CHAT_TYPE_WHISPER, and TRUSTNET_CHANNEL.

Referenced by LLFloaterAvatarList().

virtual void LLFloaterAvatarList::onClose ( bool  app_quitting  )  [inline, virtual]

Hide when user closes the list.

Reimplemented from LLFloater.

Definition at line 513 of file llfloateravatarlist.h.

References FALSE, and LLFloater::setVisible().

void LLFloaterAvatarList::onDoubleClick ( void userdata  )  [static, private]

Definition at line 1401 of file llfloateravatarlist.cpp.

References CAMERA_POSITION_OBJECT, gAgent, LLScrollListItem::getUUID(), and LLAgent::lookAtObject().

Referenced by LLFloaterAvatarList().

void LLFloaterAvatarList::processARQueue (  )  [private]

Process the AR queue This generates AR reports for the queued avatars.

Definition at line 428 of file llfloateravatarlist.cpp.

References CAMERA_POSITION_OBJECT, FALSE, gAgent, gFrameCount, LLAgent::lookAtObject(), mARLastFrame, mARQueue, mARReporterQueue, r, LLFloater::setMinimized(), LLFloaterReporter::showFromObject(), and TRUE.

Referenced by updateAvatarList().

void LLFloaterAvatarList::processAvatarPropertiesReply ( LLMessageSystem msg,
void **   
) [static]

Process the reply to a request for avatar properties.

Definition at line 860 of file llfloateravatarlist.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_AvatarID, _PREHASH_BornOn, _PREHASH_Flags, _PREHASH_PropertiesData, LLAvatarInfo::Account, ACCOUNT_CHARTER_MEMBER, ACCOUNT_EMPLOYEE, ACCOUNT_RESIDENT, ACCOUNT_TRIAL, AVATAR_IDENTIFIED, AVATAR_TRANSACTED, LLAvatarInfo::BirthDate, DB_BORN_BUF_SIZE, FALSE, LLMessageSystem::getBinaryData(), LLMessageSystem::getSize(), LLMessageSystem::getString(), LLMessageSystem::getStringFast(), LLMessageSystem::getU32Fast(), LLMessageSystem::getUUIDFast(), gFloaterAvatarList, llclamp(), llendl, llwarns, LLAvatarListEntry::mAvatarInfo, mAvatars, MAX_STRING, NULL, LLAvatarInfo::Payment, PAYMENT_LINDEN, PAYMENT_NONE, PAYMENT_ON_FILE, PAYMENT_USED, S32, LLAvatarListEntry::setAccountCustomTitle(), and LLAvatarListDatum< T >::setValue().

Referenced by LLFloaterAvatarList(), and ~LLFloaterAvatarList().

void LLFloaterAvatarList::processTrustNetReply ( char *  reply  )  [static]

Process a reply from the TrustNet Adapter This handles replies from the TrustNet adapter, such as score results.

Definition at line 1147 of file llfloateravatarlist.cpp.

References LLWindow::copyTextToClipboard(), count, LLWeb::escapeURL(), getAvatarEntry(), gFloaterAvatarList, gViewerWindow, llendl, llformat(), llinfos, llwarns, LLWeb::loadURL(), LLAvatarListEntry::mTrustNetScore, LLViewerWindow::mWindow, NULL, s, LLAvatarListDatum< T >::setValue(), type, and utf8str_to_wstring().

void LLFloaterAvatarList::refreshAvatarList (  ) 

Refresh avatar list (display).

Redraws the avatar list Only does anything if the avatar list is visible.

Author:
Dale Glass

Definition at line 506 of file llfloateravatarlist.cpp.

References ACTIVITY_DEAD, ACTIVITY_GESTURING, ACTIVITY_MOVING, ACTIVITY_NEW, ACTIVITY_NONE, ACTIVITY_PARTICLES, ACTIVITY_REZZING, ACTIVITY_SOUND, ACTIVITY_TYPING, ADD_BOTTOM, LLScrollListCtrl::addElement(), CT_AGE, CT_DISTANCE, CT_SCORE, LLColor4::cyan, DATA_ERROR, DATA_REQUESTING, DATA_RETRIEVED, DATA_UNKNOWN, LLScrollListCtrl::deleteAllItems(), FALSE, gAgent, LLAvatarListEntry::getActivity(), LLAvatarInfo::getAge(), getAvatarColor(), LLControlGroup::getBOOL(), LLUICtrlFactory::getCheckBoxByName(), LLAvatarListEntry::getID(), LLAvatarListEntry::getIsLinden(), LLAvatarListEntry::getName(), LLAvatarListEntry::getPosition(), LLAgent::getPositionGlobal(), LLScrollListCtrl::getScrollPos(), LLScrollListCtrl::getSelectedIDs(), LLAvatarListDatum< T >::getStatus(), LLControlGroup::getString(), LLColor4::getValue(), LLUICtrl::getValue(), LLAvatarListDatum< T >::getValue(), gSavedPerAccountSettings, gSavedSettings, gViewerArt, LLAvatarListEntry::isDead(), LLAvatarListEntry::isFocused(), LLAvatarListEntry::isMarked(), LLUUID::isNull(), LIST_ACTIVITY, LIST_AGE, LIST_AVATAR_ICON, LIST_AVATAR_NAME, LIST_DISTANCE, LIST_PAYMENT, LIST_SCORE, LLCheckboxCtrl, llendl, llinfos, llwarns, LLVector3d::magVec(), LLAvatarListEntry::mAvatarInfo, mAvatarList, mAvatars, LLAvatarListEntry::mMiscInfo, LLAvatarListEntry::mTrustNetScore, NULL, LLAvatarInfo::Payment, PAYMENT_LINDEN, PAYMENT_NONE, PAYMENT_ON_FILE, PAYMENT_USED, LLAvatarListDatum< T >::requestIfNeeded(), requestMiscInfo(), requestTrustNetScore(), S32, LLAvListTrustNetScore::Score, LLScrollListCtrl::selectMultiple(), sendAvatarPropertiesRequest(), LLScrollListCtrl::setScrollPos(), LLScrollListCtrl::sort(), and visible().

Referenced by LLFloaterAvatarList(), and updateAvatarList().

void LLFloaterAvatarList::removeFocusFromAll (  )  [private]

Removes focus status from all avatars in list.

Definition at line 1410 of file llfloateravatarlist.cpp.

References FALSE, and mAvatars.

Referenced by focusOnNext(), and focusOnPrev().

void LLFloaterAvatarList::replaceVars ( LLString str,
LLUUID  avatar,
const LLString name 
) [static, private]

Replace variables in string.

Parameters:
str String to replace variables in
avatar Value for $KEY
name Value for $NAME

Definition at line 1070 of file llfloateravatarlist.cpp.

References FALSE, i, size, LLUUID::toString(), TRUE, and UUID_STR_LENGTH.

Referenced by requestMiscInfo().

void LLFloaterAvatarList::requestMiscInfo ( LLUUID  avatar,
const LLString  name 
)

Requests information about the avatar from the database.

Parameters:
avatar Avatar about whom we need information
name Avatar's name

Definition at line 1098 of file llfloateravatarlist.cpp.

References LLControlGroup::getString(), gSavedPerAccountSettings, llendl, llinfos, replaceVars(), send_simple_im(), and LLUUID::set().

Referenced by refreshAvatarList().

void LLFloaterAvatarList::requestTrustNetScore ( LLUUID  avatar,
const LLString  name,
const LLString  type 
)

Requests a TrustNet score from the Adapter.

Parameters:
avatar Avatar for which to request the score
name Avatar's name
type Score type ("behavior", etc)

Definition at line 1060 of file llfloateravatarlist.cpp.

References CHAT_TYPE_WHISPER, speakText(), LLUUID::toString(), TRUSTNET_CHANNEL, type, and UUID_STR_LENGTH.

Referenced by refreshAvatarList().

void LLFloaterAvatarList::sendAvatarPropertiesRequest ( LLUUID  avid  )  [private]

Request information about the specified avatar.

Parameters:
avid Avatar id to request info about

Definition at line 842 of file llfloateravatarlist.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_AvatarID, _PREHASH_AvatarPropertiesRequest, _PREHASH_SessionID, LLMessageSystem::addUUIDFast(), gAgent, LLAgent::getID(), LLAgent::getSessionID(), gMessageSystem, lldebugs, llendl, mAvatars, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), and LLAgent::sendReliableMessage().

Referenced by refreshAvatarList().

void LLFloaterAvatarList::show (  ) 

Definition at line 312 of file llfloateravatarlist.cpp.

References LLFloater::open().

Referenced by toggle().

void LLFloaterAvatarList::speakText ( S32  channel,
EChatType  type,
LLString  text 
) [private]

Definition at line 1041 of file llfloateravatarlist.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_ChatData, _PREHASH_ChatFromViewer, _PREHASH_Message, _PREHASH_SessionID, _PREHASH_Type, LLMessageSystem::addS32(), LLMessageSystem::addStringFast(), LLMessageSystem::addU8Fast(), LLMessageSystem::addUUIDFast(), gAgent, LLAgent::getID(), LLAgent::getSessionID(), gMessageSystem, gViewerStats, LLViewerStats::incStat(), LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), LLAgent::sendReliableMessage(), and LLViewerStats::ST_CHAT_COUNT.

Referenced by luskwoodCommand(), and requestTrustNetScore().

void LLFloaterAvatarList::toggle ( void  )  [static]

Toggles interface visibility There is only one instance of the avatar scanner at any time.

Definition at line 319 of file llfloateravatarlist.cpp.

References LLFloater::close(), LLView::getVisible(), gFloaterAvatarList, llendl, llinfos, and show().

Referenced by LLShowFloater::handleEvent(), and LLToolBar::onClickAvatarList().

void LLFloaterAvatarList::updateAvatarList (  ) 

Updates the internal avatar list with the currently present avatars.

Definition at line 342 of file llfloateravatarlist.cpp.

References checkTrackingStatus(), expireAvatarList(), gAgent, LLUICtrlFactory::getCheckBoxByName(), LLAgent::getPosGlobalFromAgent(), LLUUID::isNull(), LLCheckboxCtrl, llendl, llinfos, mAvatars, processARQueue(), refreshAvatarList(), and LLCharacter::sInstances.

Referenced by idle().

BOOL LLFloaterAvatarList::visible ( void  )  [static]

Returns floater visibility status.

Definition at line 336 of file llfloateravatarlist.cpp.

References LLView::getVisible(), and gFloaterAvatarList.

Referenced by refreshAvatarList().


Member Data Documentation

S32 LLFloaterAvatarList::mARLastFrame [private]

Last time during which an AR was submitted Used to give the camera some time to move between avatars. Perhaps this way of doing things isn't ideal, though.

Definition at line 740 of file llfloateravatarlist.h.

Referenced by LLFloaterAvatarList(), and processARQueue().

std::queue<LLUUID> LLFloaterAvatarList::mARQueue [private]

Queue of abuse reports.

Definition at line 726 of file llfloateravatarlist.h.

Referenced by onClickAR(), and processARQueue().

std::queue<LLFloaterReporter*> LLFloaterAvatarList::mARReporterQueue [private]

List of AR screens opened We don't open them on creation to capture a clean screenshot. They're opened only after finishing the process.

Definition at line 733 of file llfloateravatarlist.h.

Referenced by processARQueue().

LLScrollListCtrl* LLFloaterAvatarList::mAvatarList [private]

Pointer to the avatar scroll list.

Definition at line 720 of file llfloateravatarlist.h.

Referenced by getSelectedNames(), LLFloaterAvatarList(), luskwoodCommand(), onClickAR(), onClickIM(), onClickMark(), onClickTeleport(), onClickTrack(), and refreshAvatarList().

std::map<LLUUID, LLAvatarListEntry> LLFloaterAvatarList::mAvatars [private]

Definition at line 721 of file llfloateravatarlist.h.

Referenced by avatarIsInList(), checkTrackingStatus(), expireAvatarList(), focusOnNext(), focusOnPrev(), getAvatarEntry(), handleIM(), onClickIM(), onClickTrack(), processAvatarPropertiesReply(), refreshAvatarList(), removeFocusFromAll(), sendAvatarPropertiesRequest(), and updateAvatarList().

LLTimer LLFloaterAvatarList::mDataRequestTimer [private]

Used to delay avatar data requests.

Definition at line 775 of file llfloateravatarlist.h.

Referenced by LLFloaterAvatarList().

LLUUID LLFloaterAvatarList::mFocusedAvatar [private]

Avatar the camera is focused on.

Definition at line 790 of file llfloateravatarlist.h.

Referenced by focusOnNext(), and focusOnPrev().

LLString LLFloaterAvatarList::mLuskwoodCommand [private]

Luskwood command to execute.

Definition at line 785 of file llfloateravatarlist.h.

BOOL LLFloaterAvatarList::mTrackByLocation [private]

Definition at line 769 of file llfloateravatarlist.h.

Referenced by checkTrackingStatus(), LLFloaterAvatarList(), and onClickTrack().

LLUUID LLFloaterAvatarList::mTrackedAvatar [private]

Definition at line 770 of file llfloateravatarlist.h.

Referenced by checkTrackingStatus(), and onClickTrack().

BOOL LLFloaterAvatarList::mTracking [private]

Definition at line 768 of file llfloateravatarlist.h.

Referenced by checkTrackingStatus(), LLFloaterAvatarList(), and onClickTrack().

LLTimer LLFloaterAvatarList::mTrustNetTimer [private]

Used to delay trustnet requests.

Definition at line 780 of file llfloateravatarlist.h.


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:18 2010 for Second Life Viewer by  doxygen 1.4.7