summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelavatar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelavatar.cpp')
-rw-r--r--indra/newview/llpanelavatar.cpp33
1 files changed, 12 insertions, 21 deletions
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index 6b07409676..a0ba2f739b 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -47,8 +47,6 @@
#include "lltooldraganddrop.h"
#include "llscrollcontainer.h"
#include "llavatariconctrl.h"
-#include "llweb.h"
-#include "llfloaterworldmap.h"
#include "llfloaterreg.h"
#include "llnotificationsutil.h"
#include "llvoiceclient.h"
@@ -449,10 +447,7 @@ void LLPanelProfileTab::scrollToTop()
void LLPanelProfileTab::onMapButtonClick()
{
- std::string name;
- gCacheName->getFullName(getAvatarId(), name);
- gFloaterWorldMap->trackAvatar(getAvatarId(), name);
- LLFloaterReg::showInstance("world_map");
+ LLAvatarActions::showOnMap(getAvatarId());
}
void LLPanelProfileTab::updateButtons()
@@ -490,7 +485,6 @@ LLPanelAvatarProfile::LLPanelAvatarProfile()
BOOL LLPanelAvatarProfile::postBuild()
{
- childSetActionTextbox("homepage_edit", boost::bind(&LLPanelAvatarProfile::onHomepageTextboxClicked, this));
childSetCommitCallback("add_friend",(boost::bind(&LLPanelAvatarProfile::onAddFriendButtonClick,this)),NULL);
childSetCommitCallback("im",(boost::bind(&LLPanelAvatarProfile::onIMButtonClick,this)),NULL);
childSetCommitCallback("call",(boost::bind(&LLPanelAvatarProfile::onCallButtonClick,this)),NULL);
@@ -501,6 +495,7 @@ BOOL LLPanelAvatarProfile::postBuild()
&LLPanelAvatarProfile::onMapButtonClick, this)), NULL);
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
+ registrar.add("Profile.ShowOnMap", boost::bind(&LLPanelAvatarProfile::onMapButtonClick, this));
registrar.add("Profile.Pay", boost::bind(&LLPanelAvatarProfile::pay, this));
registrar.add("Profile.Share", boost::bind(&LLPanelAvatarProfile::share, this));
registrar.add("Profile.BlockUnblock", boost::bind(&LLPanelAvatarProfile::toggleBlock, this));
@@ -510,6 +505,7 @@ BOOL LLPanelAvatarProfile::postBuild()
registrar.add("Profile.CSR", boost::bind(&LLPanelAvatarProfile::csr, this));
LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable;
+ enable.add("Profile.EnableShowOnMap", boost::bind(&LLPanelAvatarProfile::enableShowOnMap, this));
enable.add("Profile.EnableGod", boost::bind(&enable_god));
enable.add("Profile.EnableBlock", boost::bind(&LLPanelAvatarProfile::enableBlock, this));
enable.add("Profile.EnableUnblock", boost::bind(&LLPanelAvatarProfile::enableUnblock, this));
@@ -704,6 +700,15 @@ void LLPanelAvatarProfile::toggleBlock()
LLAvatarActions::toggleBlock(getAvatarId());
}
+bool LLPanelAvatarProfile::enableShowOnMap()
+{
+ bool is_buddy_online = LLAvatarTracker::instance().isBuddyOnline(getAvatarId());
+
+ bool enable_map_btn = (is_buddy_online && is_agent_mappable(getAvatarId()))
+ || gAgent.isGodlike();
+ return enable_map_btn;
+}
+
bool LLPanelAvatarProfile::enableBlock()
{
return LLAvatarActions::canBlock(getAvatarId()) && !LLAvatarActions::isBlocked(getAvatarId());
@@ -736,20 +741,6 @@ void LLPanelAvatarProfile::csr()
LLAvatarActions::csr(getAvatarId(), name);
}
-void LLPanelAvatarProfile::onUrlTextboxClicked(const std::string& url)
-{
- LLWeb::loadURL(url);
-}
-
-void LLPanelAvatarProfile::onHomepageTextboxClicked()
-{
- std::string url = childGetValue("homepage_edit").asString();
- if(!url.empty())
- {
- onUrlTextboxClicked(url);
- }
-}
-
void LLPanelAvatarProfile::onAddFriendButtonClick()
{
LLAvatarActions::requestFriendshipDialog(getAvatarId());