aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--linden/indra/newview/app_settings/settings.xml11
-rw-r--r--linden/indra/newview/panelradar.cpp33
-rw-r--r--linden/indra/newview/panelradar.h3
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_radar.xml14
4 files changed, 54 insertions, 7 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index f0d6376..c8a247f 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -524,6 +524,17 @@
524 <key>Value</key> 524 <key>Value</key>
525 <integer>0</integer> 525 <integer>0</integer>
526 </map> 526 </map>
527 <key>RadarSimWide</key>
528 <map>
529 <key>Comment</key>
530 <string>If true, radar shows everyone in the sim</string>
531 <key>Persist</key>
532 <integer>1</integer>
533 <key>Type</key>
534 <string>Boolean</string>
535 <key>Value</key>
536 <integer>0</integer>
537 </map>
527 <key>SavedRenderFarClip</key> 538 <key>SavedRenderFarClip</key>
528 <map> 539 <map>
529 <key>Comment</key> 540 <key>Comment</key>
diff --git a/linden/indra/newview/panelradar.cpp b/linden/indra/newview/panelradar.cpp
index ce91da2..cfaffde 100644
--- a/linden/indra/newview/panelradar.cpp
+++ b/linden/indra/newview/panelradar.cpp
@@ -29,6 +29,7 @@
29 29
30#include "panelradar.h" 30#include "panelradar.h"
31 31
32#include "hippoLimits.h"
32#include "llagent.h" 33#include "llagent.h"
33#include "llchat.h" 34#include "llchat.h"
34#include "llfloateravatarinfo.h" 35#include "llfloateravatarinfo.h"
@@ -45,6 +46,7 @@
45#include "llregionposition.h" 46#include "llregionposition.h"
46#include "roles_constants.h" 47#include "roles_constants.h"
47#include "llscrolllistctrl.h" 48#include "llscrolllistctrl.h"
49#include "llspinctrl.h"
48#include "lltracker.h" 50#include "lltracker.h"
49#include "lluictrlfactory.h" 51#include "lluictrlfactory.h"
50#include "llviewercontrol.h" 52#include "llviewercontrol.h"
@@ -77,6 +79,11 @@ BOOL PanelRadar::postBuild()
77 childSetCommitCallback("RadarList", onUseRadarList, this); 79 childSetCommitCallback("RadarList", onUseRadarList, this);
78 mRadarList->setDoubleClickCallback(onClickIM); 80 mRadarList->setDoubleClickCallback(onClickIM);
79 81
82 childSetCommitCallback("simwide_checkbox", onCheckSimWide, this);
83
84 // Set max range to max height
85 getChild<LLSpinCtrl>("near_me_range")->setMaxValue(gHippoLimits->getMaxHeight());
86
80 childSetAction("im_btn", onClickIM, this); 87 childSetAction("im_btn", onClickIM, this);
81 childSetAction("profile_btn", onClickProfile, this); 88 childSetAction("profile_btn", onClickProfile, this);
82 childSetAction("offer_teleport_btn", onClickOfferTeleport, this); 89 childSetAction("offer_teleport_btn", onClickOfferTeleport, this);
@@ -216,8 +223,6 @@ void PanelRadar::updateRadarDisplay()
216 F32 range = gSavedSettings.getF32("NearMeRange"); 223 F32 range = gSavedSettings.getF32("NearMeRange");
217 bool notify_chat = gSavedSettings.getBOOL("MiniMapNotifyChatRange"); 224 bool notify_chat = gSavedSettings.getBOOL("MiniMapNotifyChatRange");
218 bool notify_sim = gSavedSettings.getBOOL("MiniMapNotifySimRange"); 225 bool notify_sim = gSavedSettings.getBOOL("MiniMapNotifySimRange");
219 // We show avatars outside the estate even if you can't manage it in case griefers are lying on the border
220 bool is_manager = gAgent.getRegion()->canManageEstate();
221// [RLVa:KB] - Alternate: Imprudence-1.2.0 226// [RLVa:KB] - Alternate: Imprudence-1.2.0
222 if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) 227 if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES))
223 { 228 {
@@ -286,7 +291,7 @@ void PanelRadar::updateRadarDisplay()
286 } 291 }
287 292
288 // Only display avatars in range 293 // Only display avatars in range
289 if (is_manager || entry->getDistance() <= range) 294 if (mSimWide || entry->getDistance() <= range)
290 { 295 {
291 // Append typing string 296 // Append typing string
292 std::string typing = ""; 297 std::string typing = "";
@@ -549,6 +554,28 @@ void PanelRadar::onUseRadarList(LLUICtrl* ctrl, void* user_data)
549} 554}
550 555
551 556
557// static
558void PanelRadar::onCheckSimWide(LLUICtrl* ctrl, void* user_data)
559{
560 PanelRadar* self = (PanelRadar*)user_data;
561 if (self)
562 {
563 self->updateRangeControls();
564 }
565}
566
567
568void PanelRadar::updateRangeControls()
569{
570 LLSpinCtrl* near_me = getChild<LLSpinCtrl>("near_me_range");
571 if (near_me)
572 {
573 near_me->setEnabled(!gSavedSettings.getBOOL("RadarSimWide"));
574 }
575 mSimWide = gSavedSettings.getBOOL("RadarSimWide");
576}
577
578
552bool PanelRadar::visibleItemsSelected() const 579bool PanelRadar::visibleItemsSelected() const
553{ 580{
554 return (mRadarList->getFirstSelectedIndex() >= 0); 581 return (mRadarList->getFirstSelectedIndex() >= 0);
diff --git a/linden/indra/newview/panelradar.h b/linden/indra/newview/panelradar.h
index 59e6aff..4d53b56 100644
--- a/linden/indra/newview/panelradar.h
+++ b/linden/indra/newview/panelradar.h
@@ -77,6 +77,7 @@ private:
77 LLScrollListCtrl* mRadarList; 77 LLScrollListCtrl* mRadarList;
78 LLUUID mSelectedAvatar; 78 LLUUID mSelectedAvatar;
79 F32 mSelectedDistance; 79 F32 mSelectedDistance;
80 bool mSimWide;
80 81
81 bool visibleItemsSelected() const; 82 bool visibleItemsSelected() const;
82 bool isKickable(const LLUUID& agent_id); 83 bool isKickable(const LLUUID& agent_id);
@@ -88,6 +89,8 @@ private:
88 89
89 static void onUseRadarList(LLUICtrl* ctrl, void* user_data); 90 static void onUseRadarList(LLUICtrl* ctrl, void* user_data);
90 static void onRangeChange(LLFocusableElement* focus, void* user_data); 91 static void onRangeChange(LLFocusableElement* focus, void* user_data);
92 static void onCheckSimWide(LLUICtrl* ctrl, void* user_data);
93 void updateRangeControls();
91 94
92 static void onClickProfile(void* user_data); 95 static void onClickProfile(void* user_data);
93 static void onClickIM(void* user_data); 96 static void onClickIM(void* user_data);
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_radar.xml b/linden/indra/newview/skins/default/xui/en-us/panel_radar.xml
index 603f2d8..d02ff0d 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_radar.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_radar.xml
@@ -40,13 +40,13 @@
40 0 avatars in 40 0 avatars in
41 </text> 41 </text>
42 42
43 <slider name="near_me_range" label="" control_name="NearMeRange" 43 <spinner name="near_me_range" label="" control_name="NearMeRange"
44 bottom_delta="0" left_delta="62" width="110" height="15" 44 bottom_delta="0" left_delta="66" width="60" height="15"
45 follows="left|top" min_val="5" max_val="512" increment="1" 45 follows="left|top" min_val="5" increment="15"
46 initial_val="96" decimal_digits="0" /> 46 initial_val="96" decimal_digits="0" />
47 47
48 <text name="meters" 48 <text name="meters"
49 bottom_delta="0" left="180" height="15" width="40" 49 bottom_delta="0" left="140" height="15" width="40"
50 h_pad="0" halign="left" v_pad="0" follows="left|top" 50 h_pad="0" halign="left" v_pad="0" follows="left|top"
51 bg_visible="false" border_drop_shadow_visible="false" 51 bg_visible="false" border_drop_shadow_visible="false"
52 border_visible="false" drop_shadow_visible="true" 52 border_visible="false" drop_shadow_visible="true"
@@ -54,6 +54,12 @@
54 m 54 m
55 </text> 55 </text>
56 56
57 <check_box bottom_delta="-1" enabled="true" follows="left|top"
58 font="SansSerifSmall" height="16" initial_value="false"
59 label="Sim-wide" left_delta="20" mouse_opaque="true"
60 name="simwide_checkbox" control_name="RadarSimWide"
61 radio_style="false" width="100" />
62
57 <tab_container name="radar_tab_container" 63 <tab_container name="radar_tab_container"
58 bottom="1" left="0" right="0" height="172" 64 bottom="1" left="0" right="0" height="172"
59 follows="left|right|bottom" border="false" 65 follows="left|right|bottom" border="false"