From 24dbd81763254178bfcdb15d1ee3e4be48032b4b Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Mon, 23 Nov 2009 13:23:54 -0500 Subject: EXT-829 share button in profile inactive refactored share code to all call LLAvatarActions::share. Function opens an IM window if one doesn't already exist and prints an appropriate message, as well as opening the inventory sidepanel. Verified working in IM window, people tab, and individual's profile. Will be post-reviewed before push. --HG-- branch : avatar-pipeline --- indra/newview/llavataractions.cpp | 17 ++++++++++++++++- indra/newview/llpanelimcontrolpanel.cpp | 8 +------- indra/newview/llpanelpeople.cpp | 2 +- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index a2beb6af93..89a774fd2b 100644 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -327,7 +327,22 @@ void LLAvatarActions::pay(const LLUUID& id) //static void LLAvatarActions::share(const LLUUID& id) { - // TODO: share items with selected avatar + LLSD key; + LLSideTray::getInstance()->showPanel("sidepanel_inventory", key); + + + LLUUID session_id = gIMMgr->computeSessionID(IM_NOTHING_SPECIAL,id); + + if (!gIMMgr->hasSession(session_id)) + { + startIM(id); + } + + if (gIMMgr->hasSession(session_id)) + { + // we should always get here, but check to verify anyways + LLIMModel::getInstance()->addMessage(session_id, SYSTEM_FROM, LLUUID::null, LLTrans::getString("share_alert"), false); + } } // static diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index 40319d949d..fa6d16cfb1 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -160,13 +160,7 @@ void LLPanelIMControlPanel::onAddFriendButtonClicked() void LLPanelIMControlPanel::onShareButtonClicked() { - LLSD key; - LLSideTray::getInstance()->showPanel("sidepanel_inventory", key); - - if (gIMMgr->hasSession(getSessionId())) - { - LLIMModel::getInstance()->addMessage(getSessionId(), SYSTEM_FROM, LLUUID::null, LLTrans::getString("share_alert"), false); - } + LLAvatarActions::share(mAvatarID); } void LLPanelIMControlPanel::setSessionId(const LLUUID& session_id) diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index d11ea69d78..c332776010 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -1211,7 +1211,7 @@ void LLPanelPeople::onTeleportButtonClicked() void LLPanelPeople::onShareButtonClicked() { - // *TODO: not implemented yet + LLAvatarActions::share(getCurrentItemID()); } void LLPanelPeople::onMoreButtonClicked() -- cgit v1.2.3