From 83b384ab97f405ca769f2ace856c0be68b6a1164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Liru=20F=C3=A6rs?= Date: Wed, 8 Jan 2020 15:54:43 -0500 Subject: [PATCH] Combine Marking from Minimap with Radar Mark Color people right from the Radar! Mark button on Radar now uses Red. Removes "Radar.Mark" and its associated code Thanks for the help on linux, Router! --- indra/newview/llfloateravatarlist.cpp | 25 ++++++++----------- indra/newview/llfloateravatarlist.h | 2 +- indra/newview/llnetmap.cpp | 10 ++++++++ .../skins/default/xui/en-us/menu_radar.xml | 4 --- .../skins/default/xui/es/menu_radar.xml | 1 - 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/indra/newview/llfloateravatarlist.cpp b/indra/newview/llfloateravatarlist.cpp index 5d1991e04..2c708204d 100644 --- a/indra/newview/llfloateravatarlist.cpp +++ b/indra/newview/llfloateravatarlist.cpp @@ -134,8 +134,9 @@ namespace } } //namespace +const LLColor4* mm_getMarkerColor(const LLUUID& id); LLAvatarListEntry::LLAvatarListEntry(const LLUUID& id, const std::string& name, const LLVector3d& position) : - mID(id), mName(name), mPosition(position), mMarked(false), mFocused(false), + mID(id), mName(name), mPosition(position), mMarked(mm_getMarkerColor(id)), mFocused(false), mStats(), mActivityType(ACTIVITY_NEW), mActivityTimer(), mIsInList(false), mAge(-1), mTime(time(NULL)) @@ -348,7 +349,14 @@ void track_av(const LLUUID& id) } static void cmd_profile(const LLAvatarListEntry* entry); -static void cmd_toggle_mark(LLAvatarListEntry* entry); +static void cmd_toggle_mark(LLAvatarListEntry* entry) +{ + bool mark = !entry->isMarked(); + void mm_setcolor(LLUUID key, LLColor4 col); + void mm_clearMark(const LLUUID & id); + mark ? mm_setcolor(entry->getID(), LLColor4::red) : mm_clearMark(entry->getID()); + entry->setMarked(mark); +} static void cmd_ar(const LLAvatarListEntry* entry); static void cmd_teleport(const LLAvatarListEntry* entry); @@ -364,15 +372,6 @@ namespace } }; - class RadarMark : public view_listener_t - { - bool handleEvent(LLPointer event, const LLSD& userdata) - { - LLFloaterAvatarList::instance().doCommand(cmd_toggle_mark); - return true; - } - }; - class RadarFocus : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) @@ -415,7 +414,6 @@ void addMenu(view_listener_t* menu, const std::string& name); void add_radar_listeners() { addMenu(new RadarTrack, "Radar.Track"); - addMenu(new RadarMark, "Radar.Mark"); addMenu(new RadarFocus, "Radar.Focus"); addMenu(new RadarFocusPrev, "Radar.FocusPrev"); addMenu(new RadarFocusNext, "Radar.FocusNext"); @@ -779,7 +777,7 @@ void LLFloaterAvatarList::refreshAvatarList() if (entry->isMarked()) { mark.value = "X"; - mark.color = LLColor4::blue; + mark.color = *mm_getMarkerColor(av_id); mark.font_style = "BOLD"; } element.columns.add(mark); @@ -1449,7 +1447,6 @@ void send_estate_message(const std::string request, const std::vectorgetName()); } -static void cmd_toggle_mark(LLAvatarListEntry* entry) { entry->toggleMark(); } static void cmd_ar(const LLAvatarListEntry* entry) { LLFloaterReporter::showFromObject(entry->getID()); } static void cmd_profile(const LLAvatarListEntry* entry) { LLAvatarActions::showProfile(entry->getID()); } static void cmd_teleport(const LLAvatarListEntry* entry) { gAgent.teleportViaLocation(entry->getPosition()); } diff --git a/indra/newview/llfloateravatarlist.h b/indra/newview/llfloateravatarlist.h index 480e52f52..5c8321987 100644 --- a/indra/newview/llfloateravatarlist.h +++ b/indra/newview/llfloateravatarlist.h @@ -124,7 +124,7 @@ enum ACTIVITY_TYPE bool isInList() const { return mIsInList; } - void toggleMark() { mMarked = !mMarked; } + void setMarked(bool marked) { mMarked = marked; } struct uuidMatch { diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp index 2e7143ad5..466554111 100644 --- a/indra/newview/llnetmap.cpp +++ b/indra/newview/llnetmap.cpp @@ -1508,8 +1508,13 @@ bool LLScaleMap::handleEvent(LLPointer event, const LLSD& userdata) //moymod - minimap color shit void markMassAgents(const LLColor4& color) { + auto radar = LLFloaterAvatarList::getInstance(); for (const auto& id : LFIDBearer::getActiveSelectedIDs()) + { mm_setcolor(id, color); + if (auto entry = radar ? radar->getAvatarEntry(id) : nullptr) + entry->setMarked(true); + } } bool mmsetred::handleEvent(LLPointer, const LLSD&) @@ -1539,8 +1544,13 @@ bool mmsetcustom::handleEvent(LLPointer, const LLSD&) } bool mmsetunmark::handleEvent(LLPointer, const LLSD&) { + auto radar = LLFloaterAvatarList::getInstance(); for (const auto& id : LFIDBearer::getActiveSelectedIDs()) + { mm_clearMark(id); + if (auto entry = radar ? radar->getAvatarEntry(id) : nullptr) + entry->setMarked(false); + } return true; } bool mmenableunmark::handleEvent(LLPointer, const LLSD& userdata) diff --git a/indra/newview/skins/default/xui/en-us/menu_radar.xml b/indra/newview/skins/default/xui/en-us/menu_radar.xml index c104d05e3..5a84524a4 100644 --- a/indra/newview/skins/default/xui/en-us/menu_radar.xml +++ b/indra/newview/skins/default/xui/en-us/menu_radar.xml @@ -210,10 +210,6 @@ - - - - diff --git a/indra/newview/skins/default/xui/es/menu_radar.xml b/indra/newview/skins/default/xui/es/menu_radar.xml index b3c6d1c28..d771ce2ad 100644 --- a/indra/newview/skins/default/xui/es/menu_radar.xml +++ b/indra/newview/skins/default/xui/es/menu_radar.xml @@ -24,7 +24,6 @@ -