GroupActions fixup.

Missed a tiny spot for displaying group notifications in profile, slipped by me.
This commit is contained in:
Lirusaito
2013-05-31 21:04:14 -04:00
parent 9dc99d0b08
commit 9d6d82c4a0
3 changed files with 34 additions and 2 deletions

View File

@@ -38,6 +38,7 @@
#include "llimview.h" // for gIMMgr
#include "llnotificationsutil.h"
#include "llpanelgroup.h"
#include "llviewermessage.h"
#include "groupchatlistener.h"
#include "hippolimits.h" // for getMaxAgentGroups
// [RLVa:KB] - Checked: 2011-03-28 (RLVa-1.3.0f)
@@ -45,8 +46,6 @@
#include "rlvhandler.h"
// [/RLVa:KB]
BOOL can_afford_transaction(S32 cost);
//
// Globals
//
@@ -311,6 +310,23 @@ void LLGroupActions::showTab(const LLUUID& group_id, const std::string& tab_name
openGroupProfile(group_id)->selectTabByName(tab_name);
}
// static
void LLGroupActions::showNotice(const std::string& subj, const std::string& mes, const LLUUID& group_id, const bool& has_inventory, const std::string& item_name, LLOfferInfo* info)
{
if (LLFloaterGroupInfo* fgi = LLFloaterGroupInfo::getInstance(group_id))
{
fgi->mPanelGroupp->showNotice(subj, mes, has_inventory, item_name, info);
}
else
{
// We need to clean up that inventory offer.
if (info)
{
info->forceResponse(IOR_DECLINE);
}
}
}
/* Singu Note: How could this ever work with a null id, it's only used by llnotificationgrouphandler.cpp which we don't have
void LLGroupActions::refresh_notices()
{

View File

@@ -28,6 +28,7 @@
#define LL_LLGROUPACTIONS_H
class LLFloaterGroupInfo;
class LLOfferInfo;
/**
* Group-related actions (join, leave, new, delete, etc)
@@ -63,6 +64,11 @@ public:
*/
static void showTab(const LLUUID& group_id, const std::string& tab_name);
/**
* Show group notice that has come in.
*/
static void showNotice(const std::string& subj, const std::string& mes, const LLUUID& group_id, const bool& has_inventory, const std::string& item_name, LLOfferInfo* info);
/**
* Show group inspector floater.
*/

View File

@@ -2529,6 +2529,16 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
args["MESSAGE"] = mes;
LLNotifications::instance().add(LLNotification::Params("GroupNotice").substitutions(args).payload(payload).timestamp(timestamp));
}
// Also send down the old path for now.
if (IM_GROUP_NOTICE_REQUESTED == dialog)
{
LLGroupActions::showNotice(subj,mes,group_id,has_inventory,item_name,info);
}
else
{
delete info;
}
}
break;
case IM_GROUP_INVITATION: