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 "llimview.h" // for gIMMgr
#include "llnotificationsutil.h" #include "llnotificationsutil.h"
#include "llpanelgroup.h" #include "llpanelgroup.h"
#include "llviewermessage.h"
#include "groupchatlistener.h" #include "groupchatlistener.h"
#include "hippolimits.h" // for getMaxAgentGroups #include "hippolimits.h" // for getMaxAgentGroups
// [RLVa:KB] - Checked: 2011-03-28 (RLVa-1.3.0f) // [RLVa:KB] - Checked: 2011-03-28 (RLVa-1.3.0f)
@@ -45,8 +46,6 @@
#include "rlvhandler.h" #include "rlvhandler.h"
// [/RLVa:KB] // [/RLVa:KB]
BOOL can_afford_transaction(S32 cost);
// //
// Globals // Globals
// //
@@ -311,6 +310,23 @@ void LLGroupActions::showTab(const LLUUID& group_id, const std::string& tab_name
openGroupProfile(group_id)->selectTabByName(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 /* 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() void LLGroupActions::refresh_notices()
{ {

View File

@@ -28,6 +28,7 @@
#define LL_LLGROUPACTIONS_H #define LL_LLGROUPACTIONS_H
class LLFloaterGroupInfo; class LLFloaterGroupInfo;
class LLOfferInfo;
/** /**
* Group-related actions (join, leave, new, delete, etc) * 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); 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. * Show group inspector floater.
*/ */

View File

@@ -2529,6 +2529,16 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
args["MESSAGE"] = mes; args["MESSAGE"] = mes;
LLNotifications::instance().add(LLNotification::Params("GroupNotice").substitutions(args).payload(payload).timestamp(timestamp)); 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; break;
case IM_GROUP_INVITATION: case IM_GROUP_INVITATION: