summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llpanelavatar.cpp11
-rw-r--r--indra/newview/llpanelavatar.h1
-rw-r--r--indra/newview/skins/default/xui/en/menu_profile_overflow.xml9
-rw-r--r--indra/newview/skins/default/xui/en/panel_profile.xml30
4 files changed, 29 insertions, 22 deletions
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index 57b478ffef..a0ba2f739b 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -495,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));
@@ -504,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));
@@ -698,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());
diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h
index 2bd23b6e9c..bb8df2ff9c 100644
--- a/indra/newview/llpanelavatar.h
+++ b/indra/newview/llpanelavatar.h
@@ -202,6 +202,7 @@ protected:
void unfreeze();
void csr();
+ bool enableShowOnMap();
bool enableBlock();
bool enableUnblock();
bool enableGod();
diff --git a/indra/newview/skins/default/xui/en/menu_profile_overflow.xml b/indra/newview/skins/default/xui/en/menu_profile_overflow.xml
index 5162a4902f..b0b7b554b0 100644
--- a/indra/newview/skins/default/xui/en/menu_profile_overflow.xml
+++ b/indra/newview/skins/default/xui/en/menu_profile_overflow.xml
@@ -6,6 +6,15 @@
name="profile_overflow_menu"
width="120">
<menu_item_call
+ label="Map"
+ layout="topleft"
+ name="show_on_map">
+ <menu_item_call.on_click
+ function="Profile.ShowOnMap" />
+ <menu_item_call.on_enable
+ function="Profile.EnableShowOnMap" />
+ </menu_item_call>
+ <menu_item_call
label="Pay"
layout="topleft"
name="pay">
diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml
index 9fcabc7722..30191aecb6 100644
--- a/indra/newview/skins/default/xui/en/panel_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_profile.xml
@@ -311,7 +311,7 @@
height="23"
label="Add Friend"
layout="topleft"
- left="1"
+ left="2"
mouse_opaque="false"
name="add_friend"
pad_left="1"
@@ -319,7 +319,7 @@
tool_tip="Offer friendship to the Resident"
top="5"
use_ellipses="true"
- width="105" />
+ width="117" />
<button
follows="bottom|left"
height="23"
@@ -328,8 +328,8 @@
name="im"
tool_tip="Open instant message session"
top="5"
- left_pad="0"
- width="19" />
+ left_pad="1"
+ width="21" />
<button
follows="bottom|left"
height="23"
@@ -337,26 +337,12 @@
layout="topleft"
name="call"
tool_tip="Call this Resident"
- left_pad="0"
+ left_pad="1"
pad_left="1"
pad_right="1"
top="5"
use_ellipses="true"
- width="48" />
- <button
- enabled="false"
- follows="bottom|left"
- height="23"
- label="Map"
- layout="topleft"
- name="show_on_map_btn"
- pad_left="1"
- pad_right="1"
- tool_tip="Show the Resident on the map"
- top="5"
- left_pad="0"
- use_ellipses="true"
- width="33" />
+ width="51" />
<button
follows="bottom|left"
height="23"
@@ -364,12 +350,12 @@
layout="topleft"
name="teleport"
tool_tip="Offer teleport"
- left_pad="0"
+ left_pad="1"
pad_left="1"
pad_right="1"
top="5"
use_ellipses="true"
- width="81" />
+ width="92" />
<button
follows="bottom|right"
height="23"