diff options
Diffstat (limited to 'indra/newview/llavataractions.cpp')
-rw-r--r-- | indra/newview/llavataractions.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 1676bb1d44..92b2768f39 100644 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -39,16 +39,22 @@ #include "lldarray.h" #include "llnotifications.h" +#include "roles_constants.h" // for GP_MEMBER_INVITE + #include "llagent.h" #include "llappviewer.h" // for gLastVersionChannel #include "llcachename.h" #include "llcallingcard.h" // for LLAvatarTracker -#include "llgivemoney.h" // foe LLFloaterPay +#include "llfloatergroupinvite.h" +#include "llfloatergroups.h" +#include "llfloaterreg.h" +#include "llgivemoney.h" #include "llinventorymodel.h" // for gInventory.findCategoryUUIDForType #include "llimview.h" // for gIMMgr #include "llmutelist.h" #include "llrecentpeople.h" #include "llsidetray.h" +#include "llviewerobjectlist.h" #include "llviewermessage.h" // for handle_lure #include "llviewerregion.h" @@ -244,6 +250,17 @@ void LLAvatarActions::toggleBlock(const LLUUID& id) } } +void LLAvatarActions::inviteToGroup(const LLUUID& id) +{ + LLFloaterGroupPicker* widget = LLFloaterReg::showTypedInstance<LLFloaterGroupPicker>("group_picker", LLSD(id)); + if (widget) + { + widget->center(); + widget->setPowersMask(GP_MEMBER_INVITE); + widget->setSelectGroupCallback(boost::bind(callback_invite_to_group, _1, id)); + } +} + //== private methods ======================================================================================== // static @@ -294,6 +311,16 @@ bool LLAvatarActions::handlePay(const LLSD& notification, const LLSD& response, } // static +void LLAvatarActions::callback_invite_to_group(LLUUID group_id, LLUUID id) +{ + std::vector<LLUUID> agent_ids; + agent_ids.push_back(id); + + LLFloaterGroupInvite::showForGroup(group_id, &agent_ids); +} + + +// static bool LLAvatarActions::callbackAddFriendWithMessage(const LLSD& notification, const LLSD& response) { S32 option = LLNotification::getSelectedOption(notification, response); |