From 4945ae17d3692f089ce6c996f6585a5e5b308e4d Mon Sep 17 00:00:00 2001 From: Baker Linden Date: Thu, 29 Aug 2013 11:36:45 -0700 Subject: Initial commit for GroupBan - Lots of crap isn't working as intended yet. --- indra/newview/llpanelgroupbulkimpl.h | 87 ++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 indra/newview/llpanelgroupbulkimpl.h (limited to 'indra/newview/llpanelgroupbulkimpl.h') diff --git a/indra/newview/llpanelgroupbulkimpl.h b/indra/newview/llpanelgroupbulkimpl.h new file mode 100644 index 0000000000..74da542eb8 --- /dev/null +++ b/indra/newview/llpanelgroupbulkimpl.h @@ -0,0 +1,87 @@ +/** +* @file llpanelgroupbulkimpl.h +* @brief Header file for llpanelgroupbulkimpl +* @author Baker@lindenlab.com +* +* $LicenseInfo:firstyear=2013&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2013, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ +#ifndef LL_LLPANELGROUPBULKIMPL_H +#define LL_LLPANELGROUPBULKIMPL_H + +#include "llpanel.h" +#include "lluuid.h" + +class LLAvatarName; +class LLNameListCtrl; +class LLTextBox; +class LLComboBox; + +class LLPanelGroupBulkImpl +{ +public: + LLPanelGroupBulkImpl(const LLUUID& group_id); + ~LLPanelGroupBulkImpl(); + + static void callbackClickAdd(void* userdata); + static void callbackClickRemove(void* userdata); + + static void callbackClickCancel(void* userdata); + + static void callbackSelect(LLUICtrl* ctrl, void* userdata); + static void callbackAddUsers(const uuid_vec_t& agent_ids, void* user_data); + + static void onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name, void* user_data); + + void handleRemove(); + void handleSelection(); + + void addUsers(const std::vector& names, const uuid_vec_t& agent_ids); + void setGroupName(std::string name); + + +public: + LLUUID mGroupID; + + LLNameListCtrl* mBulkAgentList; + LLButton* mOKButton; + LLButton* mRemoveButton; + LLTextBox* mGroupName; + + std::string mLoadingText; + std::string mTooManySelected; + + void (*mCloseCallback)(void* data); + void* mCloseCallbackUserData; + boost::signals2::connection mAvatarNameCacheConnection; + + // The following are for the LLPanelGroupInvite subclass only. + // These aren't needed for LLPanelGroupBulkBan, but if we have to add another + // group bulk floater for some reason, we'll have these objects too. +public: + LLComboBox* mRoleNames; + std::string mOwnerWarning; + std::string mAlreadyInGroup; + bool mConfirmedOwnerInvite; +}; + +#endif // LL_LLPANELGROUPBULKIMPL_H + -- cgit v1.2.3 From 8bf4760552b61808d403885b6f9d562b1b8f7e6c Mon Sep 17 00:00:00 2001 From: Baker Linden Date: Tue, 1 Oct 2013 15:58:39 -0700 Subject: Hand-merge of some viewer-release code --- indra/newview/llpanelgroupbulkimpl.h | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'indra/newview/llpanelgroupbulkimpl.h') diff --git a/indra/newview/llpanelgroupbulkimpl.h b/indra/newview/llpanelgroupbulkimpl.h index 74da542eb8..3241c019de 100644 --- a/indra/newview/llpanelgroupbulkimpl.h +++ b/indra/newview/llpanelgroupbulkimpl.h @@ -1,6 +1,6 @@ /** * @file llpanelgroupbulkimpl.h -* @brief Header file for llpanelgroupbulkimpl +* @brief Class definition for implementation class of LLPanelGroupBulk * @author Baker@lindenlab.com * * $LicenseInfo:firstyear=2013&license=viewerlgpl$ @@ -35,6 +35,9 @@ class LLNameListCtrl; class LLTextBox; class LLComboBox; +////////////////////////////////////////////////////////////////////////// +// Implementation found in llpanelgroupbulk.cpp +////////////////////////////////////////////////////////////////////////// class LLPanelGroupBulkImpl { public: @@ -59,15 +62,19 @@ public: public: - LLUUID mGroupID; + static const S32 MAX_GROUP_INVITES = 100; // Max invites per request. 100 to match server cap. - LLNameListCtrl* mBulkAgentList; - LLButton* mOKButton; - LLButton* mRemoveButton; - LLTextBox* mGroupName; + LLUUID mGroupID; - std::string mLoadingText; - std::string mTooManySelected; + LLNameListCtrl* mBulkAgentList; + LLButton* mOKButton; + LLButton* mRemoveButton; + LLTextBox* mGroupName; + + std::string mLoadingText; + std::string mTooManySelected; + + std::set mInviteeIDs; void (*mCloseCallback)(void* data); void* mCloseCallbackUserData; -- cgit v1.2.3 From bfc274741ad97a2885a26ae35108e158aeb9525e Mon Sep 17 00:00:00 2001 From: Baker Linden Date: Tue, 6 May 2014 11:01:59 -0700 Subject: [MAINT-3834] Banning more than 100 residents causes multiple floaters - Removed superfluous floater dialogs from displaying Reviewer: Simon --- indra/newview/llpanelgroupbulkimpl.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llpanelgroupbulkimpl.h') diff --git a/indra/newview/llpanelgroupbulkimpl.h b/indra/newview/llpanelgroupbulkimpl.h index 3241c019de..0bc834d67e 100644 --- a/indra/newview/llpanelgroupbulkimpl.h +++ b/indra/newview/llpanelgroupbulkimpl.h @@ -63,6 +63,7 @@ public: public: static const S32 MAX_GROUP_INVITES = 100; // Max invites per request. 100 to match server cap. + LLUUID mGroupID; @@ -88,6 +89,7 @@ public: std::string mOwnerWarning; std::string mAlreadyInGroup; bool mConfirmedOwnerInvite; + bool mListFullNotificationSent; }; #endif // LL_LLPANELGROUPBULKIMPL_H -- cgit v1.2.3 From be2f4ecdb4135256e3e513370614c1626e5a1354 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Mon, 23 Jun 2014 18:39:53 +0300 Subject: MAINT-4175 FIXED [Group Bans] When banning a list of multiple avatars, if an already banned avatar is included in the list, no avatars are added to the ban list and those avatars already group members are not ejected from the group. --- indra/newview/llpanelgroupbulkimpl.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llpanelgroupbulkimpl.h') diff --git a/indra/newview/llpanelgroupbulkimpl.h b/indra/newview/llpanelgroupbulkimpl.h index 0bc834d67e..585b48c68f 100644 --- a/indra/newview/llpanelgroupbulkimpl.h +++ b/indra/newview/llpanelgroupbulkimpl.h @@ -74,6 +74,8 @@ public: std::string mLoadingText; std::string mTooManySelected; + std::string mBanNotPermitted; + std::string mCannotBanYourself; std::set mInviteeIDs; -- cgit v1.2.3 From 854c251feffe9bf194bc4e63fd0de28bd20ff995 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 25 Jun 2014 20:09:33 +0300 Subject: MAINT-4178 FIXED [Group Bans] The viewer allows you to attempt to ban when the ban list already contains 500 entries, which fails. --- indra/newview/llpanelgroupbulkimpl.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llpanelgroupbulkimpl.h') diff --git a/indra/newview/llpanelgroupbulkimpl.h b/indra/newview/llpanelgroupbulkimpl.h index 585b48c68f..d3a48e5a9a 100644 --- a/indra/newview/llpanelgroupbulkimpl.h +++ b/indra/newview/llpanelgroupbulkimpl.h @@ -75,6 +75,7 @@ public: std::string mLoadingText; std::string mTooManySelected; std::string mBanNotPermitted; + std::string mBanLimitFail; std::string mCannotBanYourself; std::set mInviteeIDs; -- cgit v1.2.3