diff options
| author | Brad Linden <brad@lindenlab.com> | 2024-05-23 11:31:19 -0700 | 
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2024-05-23 11:31:19 -0700 | 
| commit | a1f49564d670a2c41bfa25c833bba2564b9b7f48 (patch) | |
| tree | 1d205e51bc37621916a17d459ad83782fe41f975 /indra/newview/llfloaterbump.cpp | |
| parent | 6af5db09faf5ea33a2d4c47b64e76f42edae178a (diff) | |
| parent | 6377610f6587989c126b00f490dfc8d527a1c2ce (diff) | |
Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into brad/merge-maint-a-to-dev
Diffstat (limited to 'indra/newview/llfloaterbump.cpp')
| -rw-r--r-- | indra/newview/llfloaterbump.cpp | 304 | 
1 files changed, 152 insertions, 152 deletions
diff --git a/indra/newview/llfloaterbump.cpp b/indra/newview/llfloaterbump.cpp index 707557d23d..162ad5e108 100644 --- a/indra/newview/llfloaterbump.cpp +++ b/indra/newview/llfloaterbump.cpp @@ -1,4 +1,4 @@ -/**  +/**   * @file llfloaterbump.cpp   * @brief Floater showing recent bumps, hits with objects, pushes, etc.   * @author Cory Ondrejka, James Cook @@ -6,25 +6,25 @@   * $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" @@ -48,227 +48,227 @@  ///----------------------------------------------------------------------------  // Default constructor -LLFloaterBump::LLFloaterBump(const LLSD& key)  -:	LLFloater(key) +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)); +    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(); -	} +    auto menu = mPopupMenuHandle.get(); +    if (menu) +    { +        menu->die(); +        mPopupMenuHandle.markDead(); +    }  }  bool LLFloaterBump::postBuild()  { -	mList = getChild<LLScrollListCtrl>("bump_list"); -	mList->setAllowMultipleSelection(false); -	mList->setRightMouseDownCallback(boost::bind(&LLFloaterBump::onScrollListRightClicked, this, _1, _2, _3)); - -	LLContextMenu* menu = LLUICtrlFactory::getInstance()->createFromFile<LLContextMenu>("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; +    mList = getChild<LLScrollListCtrl>("bump_list"); +    mList->setAllowMultipleSelection(false); +    mList->setRightMouseDownCallback(boost::bind(&LLFloaterBump::onScrollListRightClicked, this, _1, _2, _3)); + +    LLContextMenu* menu = LLUICtrlFactory::getInstance()->createFromFile<LLContextMenu>("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(); -	} +    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); -	} +    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; +    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<LLUICtrl>("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); -		} -	} +    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<LLUICtrl>("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); +    LLAvatarActions::startIM(mItemUUID);  }  void LLFloaterBump::startCall()  { -	LLAvatarActions::startCall(mItemUUID); +    LLAvatarActions::startCall(mItemUUID);  }  void LLFloaterBump::reportAbuse()  { -	LLFloaterReporter::showFromAvatar(mItemUUID, "av_name"); +    LLFloaterReporter::showFromAvatar(mItemUUID, "av_name");  }  void LLFloaterBump::showProfile()  { -	LLAvatarActions::showProfile(mItemUUID); +    LLAvatarActions::showProfile(mItemUUID);  }  void LLFloaterBump::addFriend()  { -	LLAvatarActions::requestFriendshipDialog(mItemUUID); +    LLAvatarActions::requestFriendshipDialog(mItemUUID);  }  bool LLFloaterBump::enableAddFriend()  { -	return !LLAvatarActions::isFriend(mItemUUID); +    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); -	} +    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); +    LLAvatarActions::pay(mItemUUID);  }  void LLFloaterBump::zoomInAvatar()  { -	handle_zoom_to_object(mItemUUID); +    handle_zoom_to_object(mItemUUID);  }  bool LLFloaterBump::enableMute()  { -	return LLAvatarActions::canBlock(mItemUUID); +    return LLAvatarActions::canBlock(mItemUUID);  }  void LLFloaterBump::inviteToGroup()  { -	LLAvatarActions::inviteToGroup(mItemUUID); +    LLAvatarActions::inviteToGroup(mItemUUID);  }  LLFloaterBump* LLFloaterBump::getInstance()  { -	return LLFloaterReg::getTypedInstance<LLFloaterBump>("bumps"); +    return LLFloaterReg::getTypedInstance<LLFloaterBump>("bumps");  }  | 
