fixed EXT-2295 "'Group Chat' btn makes chicklet appear only"

--HG--
branch : product-engine
master
Alexei Arabadji 2009-11-06 19:31:27 +02:00
parent 0260805259
commit 8a4e36a9bd
8 changed files with 57 additions and 9 deletions

View File

@ -178,7 +178,10 @@ void LLAvatarActions::startIM(const LLUUID& id)
std::string name;
gCacheName->getFullName(id, name);
LLUUID session_id = gIMMgr->addSession(name, IM_NOTHING_SPECIAL, id);
LLIMFloater::show(session_id);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
make_ui_sound("UISndStartIM");
}
@ -191,7 +194,11 @@ void LLAvatarActions::startConference(const std::vector<LLUUID>& ids)
{
id_array.push_back(*it);
}
gIMMgr->addSession("Friends Conference", IM_SESSION_CONFERENCE_START, ids[0], id_array);
LLUUID session_id = gIMMgr->addSession("Friends Conference", IM_SESSION_CONFERENCE_START, ids[0], id_array);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
make_ui_sound("UISndStartIM");
}

View File

@ -44,6 +44,7 @@
#include "llcachename.h"
#include "llagentdata.h"
#include "llimfloater.h"
#define MENU_ITEM_VIEW_PROFILE 0
#define MENU_ITEM_SEND_IM 1
@ -354,7 +355,11 @@ void LLAvatarIconCtrl::onAvatarIconContextMenuItemClicked(const LLSD& userdata)
name.append(" ");
name.append(getLastName());
gIMMgr->addSession(name, IM_NOTHING_SPECIAL, id);
LLUUID session_id = gIMMgr->addSession(name, IM_NOTHING_SPECIAL, id);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
}
else if (level == "add")
{

View File

@ -43,6 +43,7 @@
#include "llimview.h" // for gIMMgr
#include "llsidetray.h"
#include "llstatusbar.h" // can_afford_transaction()
#include "llimfloater.h"
//
// Globals
@ -279,10 +280,14 @@ void LLGroupActions::startChat(const LLUUID& group_id)
LLGroupData group_data;
if (gAgent.getGroupData(group_id, group_data))
{
gIMMgr->addSession(
LLUUID session_id = gIMMgr->addSession(
group_data.mName,
IM_SESSION_GROUP_START,
group_id);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
make_ui_sound("UISndStartIM");
}
else

View File

@ -1192,10 +1192,14 @@ void LLIncomingCallDialog::processCallResponse(S32 response)
}
else
{
gIMMgr->addSession(
LLUUID session_id = gIMMgr->addSession(
mPayload["session_name"].asString(),
type,
session_id);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
std::string url = gAgent.getRegion()->getCapability(
"ChatSessionRequest");
@ -1279,10 +1283,14 @@ bool inviteUserResponse(const LLSD& notification, const LLSD& response)
}
else
{
gIMMgr->addSession(
LLUUID session_id = gIMMgr->addSession(
payload["session_name"].asString(),
type,
session_id);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
std::string url = gAgent.getRegion()->getCapability(
"ChatSessionRequest");
@ -1555,6 +1563,10 @@ LLUUID LLIMMgr::addP2PSession(const std::string& name,
const std::string& caller_uri)
{
LLUUID session_id = addSession(name, IM_NOTHING_SPECIAL, other_participant_id);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(session_id);
if (speaker_mgr)

View File

@ -97,6 +97,7 @@
#include "llfloateropenobject.h"
#include "lltrans.h"
#include "llappearancemgr.h"
#include "llimfloater.h"
using namespace LLOldEvents;
@ -3347,7 +3348,11 @@ void LLCallingCardBridge::performAction(LLFolderView* folder, LLInventoryModel*
{
std::string callingcard_name;
gCacheName->getFullName(item->getCreatorUUID(), callingcard_name);
gIMMgr->addSession(callingcard_name, IM_NOTHING_SPECIAL, item->getCreatorUUID());
LLUUID session_id = gIMMgr->addSession(callingcard_name, IM_NOTHING_SPECIAL, item->getCreatorUUID());
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
}
}
else if ("lure" == action)

View File

@ -86,6 +86,7 @@
#include "llviewerwindow.h"
#include "llvoavatarself.h"
#include "llwearablelist.h"
#include "llimfloater.h"
static LLDefaultChildRegistry::Register<LLInventoryPanel> r("inventory_panel");
@ -800,7 +801,11 @@ bool LLInventoryPanel::beginIMSession()
name = llformat("Session %d", session_num++);
}
gIMMgr->addSession(name, type, members[0], members);
LLUUID session_id = gIMMgr->addSession(name, type, members[0], members);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
return true;
}

View File

@ -99,6 +99,10 @@ bool LLOfferHandler::processNotification(const LLSD& notify)
session_id = LLIMMgr::instance().addSession(
notification->getSubstitutions()["NAME"], IM_NOTHING_SPECIAL,
notification->getPayload()["from_id"]);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
}
LLIMMgr::instance().addMessage(session_id, LLUUID(),
notification->getSubstitutions()["NAME"],

View File

@ -210,6 +210,7 @@
#include "lltexlayer.h"
#include "llappearancemgr.h"
#include "llimfloater.h"
using namespace LLVOAvatarDefines;
@ -6265,9 +6266,13 @@ class LLAvatarSendIM : public view_listener_t
//EInstantMessage type = have_agent_callingcard(gLastHitObjectID)
// ? IM_SESSION_ADD : IM_SESSION_CARDLESS_START;
gIMMgr->addSession(name,
LLUUID session_id = gIMMgr->addSession(name,
IM_NOTHING_SPECIAL,
avatar->getID());
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
}
return true;
}