diff options
| author | HadetTheUndying <hadet@protonmail.com> | 2026-06-04 14:58:38 -0500 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2026-06-05 10:03:41 +0800 |
| commit | b5c4fec2c0065311508aa1a268a8a4e510674dc5 (patch) | |
| tree | efc0a0a692b48830124b205ee9b467521bbcdb8b /indra/newview/llviewermenu.cpp | |
| parent | 4a48c18093f164ac741664554323dccccc213719 (diff) | |
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 833a3cde6f..1b1d703f38 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4065,6 +4065,44 @@ void handle_avatar_eject(const LLSD& avatar_id) } } +void handle_avatar_estate_kick(const LLSD& avatar_id) +{ + LLUUID id = avatar_id.asUUID(); + if (id.isNull()) + { + LLVOAvatar* avatar = find_avatar_from_object( + LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); + if (avatar) id = avatar->getID(); + } + if (id.notNull()) + { + LLAvatarActions::estateKickAvatar(id); + } +} + +void handle_avatar_estate_ban(const LLSD& avatar_id) +{ + LLUUID id = avatar_id.asUUID(); + if (id.isNull()) + { + LLVOAvatar* avatar = find_avatar_from_object( + LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); + if (avatar) id = avatar->getID(); + } + if (id.notNull()) + { + LLAvatarActions::estateBanAvatar(id); + } +} + +bool enable_estate_eject_ban(const LLSD& avatar_id) +{ + LLViewerRegion* region = gAgent.getRegion(); + if (!region) return false; + if (gAgent.isGodlike()) return true; + return region->getOwner() == gAgent.getID() || region->isEstateManager(); +} + bool my_profile_visible() { LLFloater* floaterp = LLAvatarActions::getProfileFloater(gAgentID); @@ -10358,6 +10396,9 @@ void initialize_menus() view_listener_t::addMenu(new LLAvatarVisibleDebug(), "Avatar.VisibleDebug"); view_listener_t::addMenu(new LLAvatarInviteToGroup(), "Avatar.InviteToGroup"); commit.add("Avatar.Eject", boost::bind(&handle_avatar_eject, LLSD())); + commit.add("Avatar.EstateKick", boost::bind(&handle_avatar_estate_kick, _2)); + commit.add("Avatar.EstateBan", boost::bind(&handle_avatar_estate_ban, _2)); + enable.add("Avatar.EnableEstateEjectBan", boost::bind(&enable_estate_eject_ban, _2)); commit.add("Avatar.ShowInspector", boost::bind(&handle_avatar_show_inspector)); view_listener_t::addMenu(new LLAvatarSendIM(), "Avatar.SendIM"); view_listener_t::addMenu(new LLAvatarCall(), "Avatar.Call"); |
