summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorAndrew Polunin <apolunin@productengine.com>2009-11-26 19:30:41 +0200
committerAndrew Polunin <apolunin@productengine.com>2009-11-26 19:30:41 +0200
commit4fcf7569cd42bf5bae73f42119aabcaea356e251 (patch)
treee5f30d2d76452be8b2663d132779a1cb1e60bbb2 /indra/newview
parent0b129e6e3ecd1a59165604a09f180e4c8c79fc91 (diff)
Partial fix for normal bug EXT-2619 \"Invalid IM session is opened when resident ejects a member from group\": a toast was implemented, but adding a record to the Group Chat history was not because of known issue EXT-2884 \"Initiation of a voice call should not bring text chat (p2p, ad-hoc, group)\".
--HG-- branch : product-engine
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llpanelgrouproles.cpp23
-rw-r--r--indra/newview/llpanelgrouproles.h1
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml7
3 files changed, 31 insertions, 0 deletions
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp
index 020c25c8ac..70b4858a4b 100644
--- a/indra/newview/llpanelgrouproles.cpp
+++ b/indra/newview/llpanelgrouproles.cpp
@@ -1101,10 +1101,33 @@ void LLPanelGroupMembersSubTab::handleEjectMembers()
mMembersList->deleteSelectedItems();
+ sendEjectNotifications(mGroupID, selected_members);
+
LLGroupMgr::getInstance()->sendGroupMemberEjects(mGroupID,
selected_members);
}
+void LLPanelGroupMembersSubTab::sendEjectNotifications(const LLUUID& group_id, const std::vector<LLUUID>& selected_members)
+{
+ LLGroupMgrGroupData* group_data = LLGroupMgr::getInstance()->getGroupData(group_id);
+
+ if (group_data)
+ {
+ for (std::vector<LLUUID>::const_iterator i = selected_members.begin(); i != selected_members.end(); ++i)
+ {
+ LLSD args;
+ std::string name;
+
+ gCacheName->getFullName(*i, name);
+
+ args["AVATAR_NAME"] = name;
+ args["GROUP_NAME"] = group_data->mName;
+
+ LLNotifications::instance().add(LLNotification::Params("EjectAvatarFromGroup").substitutions(args));
+ }
+ }
+}
+
void LLPanelGroupMembersSubTab::handleRoleCheck(const LLUUID& role_id,
LLRoleMemberChangeType type)
{
diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h
index b6e2245e70..bb3c9096cf 100644
--- a/indra/newview/llpanelgrouproles.h
+++ b/indra/newview/llpanelgrouproles.h
@@ -170,6 +170,7 @@ public:
static void onEjectMembers(void*);
void handleEjectMembers();
+ void sendEjectNotifications(const LLUUID& group_id, const std::vector<LLUUID>& selected_members);
static void onRoleCheck(LLUICtrl* check, void* user_data);
void handleRoleCheck(const LLUUID& role_id,
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 6e178ad570..79ef1d104b 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -1172,6 +1172,13 @@ Eject [AVATAR_NAME] from your land?
<notification
icon="alertmodal.tga"
+ name="EjectAvatarFromGroup"
+ type="notify">
+You ejected [AVATAR_NAME] from group [GROUP_NAME]
+ </notification>
+
+ <notification
+ icon="alertmodal.tga"
name="AcquireErrorTooManyObjects"
type="alertmodal">
ACQUIRE ERROR: Too many objects selected.