From a5261a5fa8fad810ecb5c260d92c3e771822bf58 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Tue, 20 Feb 2024 23:46:23 +0100 Subject: Convert BOOL to bool in llui --- indra/newview/llfloaterbump.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llfloaterbump.cpp') diff --git a/indra/newview/llfloaterbump.cpp b/indra/newview/llfloaterbump.cpp index 307ab8c4d1..707557d23d 100644 --- a/indra/newview/llfloaterbump.cpp +++ b/indra/newview/llfloaterbump.cpp @@ -77,7 +77,7 @@ LLFloaterBump::~LLFloaterBump() } } -BOOL LLFloaterBump::postBuild() +bool LLFloaterBump::postBuild() { mList = getChild("bump_list"); mList->setAllowMultipleSelection(false); @@ -93,7 +93,7 @@ BOOL LLFloaterBump::postBuild() menu->setItemVisible(std::string("Impostor seperator"), false); } - return TRUE; + return true; } // virtual void LLFloaterBump::onOpen(const LLSD& key) -- cgit v1.2.3 From e2e37cced861b98de8c1a7c9c0d3a50d2d90e433 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 22 May 2024 21:25:21 +0200 Subject: Fix line endlings --- indra/newview/llfloaterbump.cpp | 548 ++++++++++++++++++++-------------------- 1 file changed, 274 insertions(+), 274 deletions(-) (limited to 'indra/newview/llfloaterbump.cpp') diff --git a/indra/newview/llfloaterbump.cpp b/indra/newview/llfloaterbump.cpp index f3c1b1eea5..162ad5e108 100644 --- a/indra/newview/llfloaterbump.cpp +++ b/indra/newview/llfloaterbump.cpp @@ -1,274 +1,274 @@ -/** - * @file llfloaterbump.cpp - * @brief Floater showing recent bumps, hits with objects, pushes, etc. - * @author Cory Ondrejka, James Cook - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llsd.h" -#include "mean_collision_data.h" - -#include "llavataractions.h" -#include "llfloaterbump.h" -#include "llfloaterreg.h" -#include "llfloaterreporter.h" -#include "llmutelist.h" -#include "llpanelblockedlist.h" -#include "llscrolllistctrl.h" -#include "lltrans.h" -#include "lluictrlfactory.h" -#include "llviewermessage.h" -#include "llviewermenu.h" -#include "llviewerobjectlist.h" - -///---------------------------------------------------------------------------- -/// Class LLFloaterBump -///---------------------------------------------------------------------------- - -// Default constructor -LLFloaterBump::LLFloaterBump(const LLSD& key) -: LLFloater(key) -{ - mCommitCallbackRegistrar.add("Avatar.SendIM", boost::bind(&LLFloaterBump::startIM, this)); - mCommitCallbackRegistrar.add("Avatar.ReportAbuse", boost::bind(&LLFloaterBump::reportAbuse, this)); - mCommitCallbackRegistrar.add("ShowAgentProfile", boost::bind(&LLFloaterBump::showProfile, this)); - mCommitCallbackRegistrar.add("Avatar.InviteToGroup", boost::bind(&LLFloaterBump::inviteToGroup, this)); - mCommitCallbackRegistrar.add("Avatar.Call", boost::bind(&LLFloaterBump::startCall, this)); - mEnableCallbackRegistrar.add("Avatar.EnableCall", boost::bind(&LLAvatarActions::canCall)); - mCommitCallbackRegistrar.add("Avatar.AddFriend", boost::bind(&LLFloaterBump::addFriend, this)); - mEnableCallbackRegistrar.add("Avatar.EnableAddFriend", boost::bind(&LLFloaterBump::enableAddFriend, this)); - mCommitCallbackRegistrar.add("Avatar.Mute", boost::bind(&LLFloaterBump::muteAvatar, this)); - mEnableCallbackRegistrar.add("Avatar.EnableMute", boost::bind(&LLFloaterBump::enableMute, this)); - mCommitCallbackRegistrar.add("PayObject", boost::bind(&LLFloaterBump::payAvatar, this)); - mCommitCallbackRegistrar.add("Tools.LookAtSelection", boost::bind(&LLFloaterBump::zoomInAvatar, this)); -} - - -// Destroys the object -LLFloaterBump::~LLFloaterBump() -{ - auto menu = mPopupMenuHandle.get(); - if (menu) - { - menu->die(); - mPopupMenuHandle.markDead(); - } -} - -bool LLFloaterBump::postBuild() -{ - mList = getChild("bump_list"); - mList->setAllowMultipleSelection(false); - mList->setRightMouseDownCallback(boost::bind(&LLFloaterBump::onScrollListRightClicked, this, _1, _2, _3)); - - LLContextMenu* menu = LLUICtrlFactory::getInstance()->createFromFile("menu_avatar_other.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); - if (menu) - { - mPopupMenuHandle = menu->getHandle(); - menu->setItemVisible(std::string("Normal"), false); - menu->setItemVisible(std::string("Always use impostor"), false); - menu->setItemVisible(std::string("Never use impostor"), false); - menu->setItemVisible(std::string("Impostor seperator"), false); - } - - return true; -} -// virtual -void LLFloaterBump::onOpen(const LLSD& key) -{ - if (gMeanCollisionList.empty()) - { - mNames.clear(); - mList->deleteAllItems(); - - std::string none_detected = getString("none_detected"); - LLSD row; - row["columns"][0]["value"] = none_detected; - row["columns"][0]["font"] = "SansSerifBold"; - mList->addElement(row); - } - else - { - populateCollisionList(); - } -} - -void LLFloaterBump::populateCollisionList() -{ - mNames.clear(); - mList->deleteAllItems(); - - for (mean_collision_list_t::iterator iter = gMeanCollisionList.begin(); - iter != gMeanCollisionList.end(); ++iter) - { - LLMeanCollisionData *mcd = *iter; - add(mList, mcd); - } -} - -void LLFloaterBump::add(LLScrollListCtrl* list, LLMeanCollisionData* mcd) -{ - if (mcd->mFullName.empty() || list->getItemCount() >= 20) - { - return; - } - - std::string timeStr = getString ("timeStr"); - LLSD substitution; - - substitution["datetime"] = (S32) mcd->mTime; - LLStringUtil::format (timeStr, substitution); - - std::string action; - switch(mcd->mType) - { - case MEAN_BUMP: - action = "bump"; - break; - case MEAN_LLPUSHOBJECT: - action = "llpushobject"; - break; - case MEAN_SELECTED_OBJECT_COLLIDE: - action = "selected_object_collide"; - break; - case MEAN_SCRIPTED_OBJECT_COLLIDE: - action = "scripted_object_collide"; - break; - case MEAN_PHYSICAL_OBJECT_COLLIDE: - action = "physical_object_collide"; - break; - default: - LL_INFOS() << "LLFloaterBump::add unknown mean collision type " - << mcd->mType << LL_ENDL; - return; - } - - // All above action strings are in XML file - LLUIString text = getString(action); - text.setArg("[TIME]", timeStr); - text.setArg("[NAME]", mcd->mFullName); - - LLSD row; - row["id"] = mcd->mPerp; - row["columns"][0]["value"] = text; - row["columns"][0]["font"] = "SansSerifBold"; - list->addElement(row); - - - mNames[mcd->mPerp] = mcd->mFullName; -} - - -void LLFloaterBump::onScrollListRightClicked(LLUICtrl* ctrl, S32 x, S32 y) -{ - if (!gMeanCollisionList.empty()) - { - LLScrollListItem* item = mList->hitItem(x, y); - auto menu = mPopupMenuHandle.get(); - if (item && menu) - { - mItemUUID = item->getUUID(); - menu->buildDrawLabels(); - menu->updateParent(LLMenuGL::sMenuContainer); - - std::string mute_msg = (LLMuteList::getInstance()->isMuted(mItemUUID, mNames[mItemUUID])) ? "UnmuteAvatar" : "MuteAvatar"; - menu->getChild("Avatar Mute")->setValue(LLTrans::getString(mute_msg)); - menu->setItemEnabled(std::string("Zoom In"), bool(gObjectList.findObject(mItemUUID))); - - menu->show(x, y); - LLMenuGL::showPopup(ctrl, menu, x, y); - } - } -} - - -void LLFloaterBump::startIM() -{ - LLAvatarActions::startIM(mItemUUID); -} - -void LLFloaterBump::startCall() -{ - LLAvatarActions::startCall(mItemUUID); -} - -void LLFloaterBump::reportAbuse() -{ - LLFloaterReporter::showFromAvatar(mItemUUID, "av_name"); -} - -void LLFloaterBump::showProfile() -{ - LLAvatarActions::showProfile(mItemUUID); -} - -void LLFloaterBump::addFriend() -{ - LLAvatarActions::requestFriendshipDialog(mItemUUID); -} - -bool LLFloaterBump::enableAddFriend() -{ - return !LLAvatarActions::isFriend(mItemUUID); -} - -void LLFloaterBump::muteAvatar() -{ - LLMute mute(mItemUUID, mNames[mItemUUID], LLMute::AGENT); - if (LLMuteList::getInstance()->isMuted(mute.mID)) - { - LLMuteList::getInstance()->remove(mute); - } - else - { - LLMuteList::getInstance()->add(mute); - LLPanelBlockedList::showPanelAndSelect(mute.mID); - } -} - -void LLFloaterBump::payAvatar() -{ - LLAvatarActions::pay(mItemUUID); -} - -void LLFloaterBump::zoomInAvatar() -{ - handle_zoom_to_object(mItemUUID); -} - -bool LLFloaterBump::enableMute() -{ - return LLAvatarActions::canBlock(mItemUUID); -} - -void LLFloaterBump::inviteToGroup() -{ - LLAvatarActions::inviteToGroup(mItemUUID); -} - -LLFloaterBump* LLFloaterBump::getInstance() -{ - return LLFloaterReg::getTypedInstance("bumps"); -} +/** + * @file llfloaterbump.cpp + * @brief Floater showing recent bumps, hits with objects, pushes, etc. + * @author Cory Ondrejka, James Cook + * + * $LicenseInfo:firstyear=2003&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llsd.h" +#include "mean_collision_data.h" + +#include "llavataractions.h" +#include "llfloaterbump.h" +#include "llfloaterreg.h" +#include "llfloaterreporter.h" +#include "llmutelist.h" +#include "llpanelblockedlist.h" +#include "llscrolllistctrl.h" +#include "lltrans.h" +#include "lluictrlfactory.h" +#include "llviewermessage.h" +#include "llviewermenu.h" +#include "llviewerobjectlist.h" + +///---------------------------------------------------------------------------- +/// Class LLFloaterBump +///---------------------------------------------------------------------------- + +// Default constructor +LLFloaterBump::LLFloaterBump(const LLSD& key) +: LLFloater(key) +{ + mCommitCallbackRegistrar.add("Avatar.SendIM", boost::bind(&LLFloaterBump::startIM, this)); + mCommitCallbackRegistrar.add("Avatar.ReportAbuse", boost::bind(&LLFloaterBump::reportAbuse, this)); + mCommitCallbackRegistrar.add("ShowAgentProfile", boost::bind(&LLFloaterBump::showProfile, this)); + mCommitCallbackRegistrar.add("Avatar.InviteToGroup", boost::bind(&LLFloaterBump::inviteToGroup, this)); + mCommitCallbackRegistrar.add("Avatar.Call", boost::bind(&LLFloaterBump::startCall, this)); + mEnableCallbackRegistrar.add("Avatar.EnableCall", boost::bind(&LLAvatarActions::canCall)); + mCommitCallbackRegistrar.add("Avatar.AddFriend", boost::bind(&LLFloaterBump::addFriend, this)); + mEnableCallbackRegistrar.add("Avatar.EnableAddFriend", boost::bind(&LLFloaterBump::enableAddFriend, this)); + mCommitCallbackRegistrar.add("Avatar.Mute", boost::bind(&LLFloaterBump::muteAvatar, this)); + mEnableCallbackRegistrar.add("Avatar.EnableMute", boost::bind(&LLFloaterBump::enableMute, this)); + mCommitCallbackRegistrar.add("PayObject", boost::bind(&LLFloaterBump::payAvatar, this)); + mCommitCallbackRegistrar.add("Tools.LookAtSelection", boost::bind(&LLFloaterBump::zoomInAvatar, this)); +} + + +// Destroys the object +LLFloaterBump::~LLFloaterBump() +{ + auto menu = mPopupMenuHandle.get(); + if (menu) + { + menu->die(); + mPopupMenuHandle.markDead(); + } +} + +bool LLFloaterBump::postBuild() +{ + mList = getChild("bump_list"); + mList->setAllowMultipleSelection(false); + mList->setRightMouseDownCallback(boost::bind(&LLFloaterBump::onScrollListRightClicked, this, _1, _2, _3)); + + LLContextMenu* menu = LLUICtrlFactory::getInstance()->createFromFile("menu_avatar_other.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); + if (menu) + { + mPopupMenuHandle = menu->getHandle(); + menu->setItemVisible(std::string("Normal"), false); + menu->setItemVisible(std::string("Always use impostor"), false); + menu->setItemVisible(std::string("Never use impostor"), false); + menu->setItemVisible(std::string("Impostor seperator"), false); + } + + return true; +} +// virtual +void LLFloaterBump::onOpen(const LLSD& key) +{ + if (gMeanCollisionList.empty()) + { + mNames.clear(); + mList->deleteAllItems(); + + std::string none_detected = getString("none_detected"); + LLSD row; + row["columns"][0]["value"] = none_detected; + row["columns"][0]["font"] = "SansSerifBold"; + mList->addElement(row); + } + else + { + populateCollisionList(); + } +} + +void LLFloaterBump::populateCollisionList() +{ + mNames.clear(); + mList->deleteAllItems(); + + for (mean_collision_list_t::iterator iter = gMeanCollisionList.begin(); + iter != gMeanCollisionList.end(); ++iter) + { + LLMeanCollisionData *mcd = *iter; + add(mList, mcd); + } +} + +void LLFloaterBump::add(LLScrollListCtrl* list, LLMeanCollisionData* mcd) +{ + if (mcd->mFullName.empty() || list->getItemCount() >= 20) + { + return; + } + + std::string timeStr = getString ("timeStr"); + LLSD substitution; + + substitution["datetime"] = (S32) mcd->mTime; + LLStringUtil::format (timeStr, substitution); + + std::string action; + switch(mcd->mType) + { + case MEAN_BUMP: + action = "bump"; + break; + case MEAN_LLPUSHOBJECT: + action = "llpushobject"; + break; + case MEAN_SELECTED_OBJECT_COLLIDE: + action = "selected_object_collide"; + break; + case MEAN_SCRIPTED_OBJECT_COLLIDE: + action = "scripted_object_collide"; + break; + case MEAN_PHYSICAL_OBJECT_COLLIDE: + action = "physical_object_collide"; + break; + default: + LL_INFOS() << "LLFloaterBump::add unknown mean collision type " + << mcd->mType << LL_ENDL; + return; + } + + // All above action strings are in XML file + LLUIString text = getString(action); + text.setArg("[TIME]", timeStr); + text.setArg("[NAME]", mcd->mFullName); + + LLSD row; + row["id"] = mcd->mPerp; + row["columns"][0]["value"] = text; + row["columns"][0]["font"] = "SansSerifBold"; + list->addElement(row); + + + mNames[mcd->mPerp] = mcd->mFullName; +} + + +void LLFloaterBump::onScrollListRightClicked(LLUICtrl* ctrl, S32 x, S32 y) +{ + if (!gMeanCollisionList.empty()) + { + LLScrollListItem* item = mList->hitItem(x, y); + auto menu = mPopupMenuHandle.get(); + if (item && menu) + { + mItemUUID = item->getUUID(); + menu->buildDrawLabels(); + menu->updateParent(LLMenuGL::sMenuContainer); + + std::string mute_msg = (LLMuteList::getInstance()->isMuted(mItemUUID, mNames[mItemUUID])) ? "UnmuteAvatar" : "MuteAvatar"; + menu->getChild("Avatar Mute")->setValue(LLTrans::getString(mute_msg)); + menu->setItemEnabled(std::string("Zoom In"), bool(gObjectList.findObject(mItemUUID))); + + menu->show(x, y); + LLMenuGL::showPopup(ctrl, menu, x, y); + } + } +} + + +void LLFloaterBump::startIM() +{ + LLAvatarActions::startIM(mItemUUID); +} + +void LLFloaterBump::startCall() +{ + LLAvatarActions::startCall(mItemUUID); +} + +void LLFloaterBump::reportAbuse() +{ + LLFloaterReporter::showFromAvatar(mItemUUID, "av_name"); +} + +void LLFloaterBump::showProfile() +{ + LLAvatarActions::showProfile(mItemUUID); +} + +void LLFloaterBump::addFriend() +{ + LLAvatarActions::requestFriendshipDialog(mItemUUID); +} + +bool LLFloaterBump::enableAddFriend() +{ + return !LLAvatarActions::isFriend(mItemUUID); +} + +void LLFloaterBump::muteAvatar() +{ + LLMute mute(mItemUUID, mNames[mItemUUID], LLMute::AGENT); + if (LLMuteList::getInstance()->isMuted(mute.mID)) + { + LLMuteList::getInstance()->remove(mute); + } + else + { + LLMuteList::getInstance()->add(mute); + LLPanelBlockedList::showPanelAndSelect(mute.mID); + } +} + +void LLFloaterBump::payAvatar() +{ + LLAvatarActions::pay(mItemUUID); +} + +void LLFloaterBump::zoomInAvatar() +{ + handle_zoom_to_object(mItemUUID); +} + +bool LLFloaterBump::enableMute() +{ + return LLAvatarActions::canBlock(mItemUUID); +} + +void LLFloaterBump::inviteToGroup() +{ + LLAvatarActions::inviteToGroup(mItemUUID); +} + +LLFloaterBump* LLFloaterBump::getInstance() +{ + return LLFloaterReg::getTypedInstance("bumps"); +} -- cgit v1.2.3 From ad608dbc5f0d57ad29ec3a15e4d0a434dfaa38d2 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Mon, 10 Jun 2024 14:29:22 +0300 Subject: Remove SharedCommitCallbackRegistry; add helpers CommitRegistrarHelper and ScopedRegistrarHelper --- indra/newview/llfloaterbump.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'indra/newview/llfloaterbump.cpp') diff --git a/indra/newview/llfloaterbump.cpp b/indra/newview/llfloaterbump.cpp index 8138a3c976..46a9ba0a12 100644 --- a/indra/newview/llfloaterbump.cpp +++ b/indra/newview/llfloaterbump.cpp @@ -51,18 +51,18 @@ LLFloaterBump::LLFloaterBump(const LLSD& key) : LLFloater(key) { - mCommitCallbackRegistrar.add("Avatar.SendIM", boost::bind(&LLFloaterBump::startIM, this)); - mCommitCallbackRegistrar.add("Avatar.ReportAbuse", boost::bind(&LLFloaterBump::reportAbuse, this)); - mCommitCallbackRegistrar.add("ShowAgentProfile", boost::bind(&LLFloaterBump::showProfile, this)); - mCommitCallbackRegistrar.add("Avatar.InviteToGroup", boost::bind(&LLFloaterBump::inviteToGroup, this)); - mCommitCallbackRegistrar.add("Avatar.Call", boost::bind(&LLFloaterBump::startCall, this)); + mCommitCallbackRegistrar.add("Avatar.SendIM", { boost::bind(&LLFloaterBump::startIM, this), cb_info::UNTRUSTED_THROTTLE }); + mCommitCallbackRegistrar.add("Avatar.ReportAbuse", { boost::bind(&LLFloaterBump::reportAbuse, this), cb_info::UNTRUSTED_THROTTLE }); + mCommitCallbackRegistrar.add("ShowAgentProfile", { boost::bind(&LLFloaterBump::showProfile, this), cb_info::UNTRUSTED_THROTTLE }); + mCommitCallbackRegistrar.add("Avatar.InviteToGroup", { boost::bind(&LLFloaterBump::inviteToGroup, this), cb_info::UNTRUSTED_THROTTLE }); + mCommitCallbackRegistrar.add("Avatar.Call", { boost::bind(&LLFloaterBump::startCall, this), cb_info::UNTRUSTED_BLOCK }); mEnableCallbackRegistrar.add("Avatar.EnableCall", boost::bind(&LLAvatarActions::canCall)); - mCommitCallbackRegistrar.add("Avatar.AddFriend", boost::bind(&LLFloaterBump::addFriend, this)); + mCommitCallbackRegistrar.add("Avatar.AddFriend", { boost::bind(&LLFloaterBump::addFriend, this), cb_info::UNTRUSTED_THROTTLE }); mEnableCallbackRegistrar.add("Avatar.EnableAddFriend", boost::bind(&LLFloaterBump::enableAddFriend, this)); - mCommitCallbackRegistrar.add("Avatar.Mute", boost::bind(&LLFloaterBump::muteAvatar, this)); + mCommitCallbackRegistrar.add("Avatar.Mute", { boost::bind(&LLFloaterBump::muteAvatar, this), cb_info::UNTRUSTED_BLOCK }); mEnableCallbackRegistrar.add("Avatar.EnableMute", boost::bind(&LLFloaterBump::enableMute, this)); - mCommitCallbackRegistrar.add("PayObject", boost::bind(&LLFloaterBump::payAvatar, this)); - mCommitCallbackRegistrar.add("Tools.LookAtSelection", boost::bind(&LLFloaterBump::zoomInAvatar, this)); + mCommitCallbackRegistrar.add("PayObject", { boost::bind(&LLFloaterBump::payAvatar, this), cb_info::UNTRUSTED_BLOCK }); + mCommitCallbackRegistrar.add("Tools.LookAtSelection", { boost::bind(&LLFloaterBump::zoomInAvatar, this) }); } -- cgit v1.2.3