aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/panelradar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/panelradar.cpp')
-rw-r--r--linden/indra/newview/panelradar.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/linden/indra/newview/panelradar.cpp b/linden/indra/newview/panelradar.cpp
index 1a5f2d4..a7062b4 100644
--- a/linden/indra/newview/panelradar.cpp
+++ b/linden/indra/newview/panelradar.cpp
@@ -77,6 +77,7 @@ BOOL PanelRadar::postBuild()
77 childSetAction("im_btn", onClickIM, this); 77 childSetAction("im_btn", onClickIM, this);
78 childSetAction("profile_btn", onClickProfile, this); 78 childSetAction("profile_btn", onClickProfile, this);
79 childSetAction("offer_teleport_btn", onClickOfferTeleport, this); 79 childSetAction("offer_teleport_btn", onClickOfferTeleport, this);
80 childSetAction("teleport_btn", onClickTeleport, this);
80 childSetAction("track_btn", onClickTrack, this); 81 childSetAction("track_btn", onClickTrack, this);
81 childSetAction("invite_btn", onClickInvite, this); 82 childSetAction("invite_btn", onClickInvite, this);
82 childSetAction("add_btn", onClickAddFriend, this); 83 childSetAction("add_btn", onClickAddFriend, this);
@@ -417,6 +418,7 @@ void PanelRadar::updateButtonStates()
417 childSetEnabled("im_btn", enable); 418 childSetEnabled("im_btn", enable);
418 childSetEnabled("profile_btn", enable); 419 childSetEnabled("profile_btn", enable);
419 childSetEnabled("offer_teleport_btn", enable); 420 childSetEnabled("offer_teleport_btn", enable);
421 childSetEnabled("teleport_btn", enable);
420 childSetEnabled("track_btn", enable_track); 422 childSetEnabled("track_btn", enable_track);
421 childSetEnabled("invite_btn", enable); 423 childSetEnabled("invite_btn", enable);
422 childSetEnabled("add_btn", enable); 424 childSetEnabled("add_btn", enable);
@@ -585,6 +587,31 @@ void PanelRadar::onClickOfferTeleport(void* user_data)
585 } 587 }
586} 588}
587 589
590//static
591void PanelRadar::onClickTeleport(void* userdata)
592{
593 PanelRadar *self = (PanelRadar*)userdata;
594 LLScrollListItem *item = self->mRadarList->getFirstSelected();
595
596 if ( item )
597 {
598 LLUUID agent_id = item->getUUID();
599 std::string agent_name = getSelectedName(agent_id);
600 if ( !agent_name.empty() )
601 {
602 LLViewerObject *av_obj = gObjectList.findObject(agent_id);
603 if (av_obj != NULL && av_obj->isAvatar())
604 {
605 LLVOAvatar* avatarp = (LLVOAvatar*)av_obj;
606 if (avatarp != NULL)
607 {
608 LLVector3d pos = avatarp->getPositionGlobal();
609 gAgent.teleportViaLocation(pos);
610 }
611 }
612 }
613 }
614}
588 615
589// static 616// static
590void PanelRadar::onClickTrack(void* user_data) 617void PanelRadar::onClickTrack(void* user_data)