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/llpanelgrouproles.h | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 78bb3c57a1..1695097fc5 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -172,6 +172,10 @@ public: void handleRoleCheck(const LLUUID& role_id, LLRoleMemberChangeType type); + static void onBanMember(void* user_data); + void handleBanMember(); + + void applyMemberChanges(); bool addOwnerCB(const LLSD& notification, const LLSD& response); @@ -205,6 +209,7 @@ protected: LLScrollListCtrl* mAssignedRolesList; LLScrollListCtrl* mAllowedActionsList; LLButton* mEjectBtn; + LLButton* mBanBtn; BOOL mChanged; BOOL mPendingMemberUpdate; @@ -305,5 +310,57 @@ protected: LLTextEditor* mActionDescription; }; +class LLPanelGroupBanListSubTab : public LLPanelGroupSubTab +{ +public: + LLPanelGroupBanListSubTab(); + virtual ~LLPanelGroupBanListSubTab() {} + + virtual BOOL postBuildSubTab(LLView* root); + + // Triggered when the tab becomes active. + virtual void activate(); + + // Triggered when the tab becomes inactive. + virtual void deactivate(); + + // Asks if something needs to be applied. + // If returning true, this function should modify the message to the user. + virtual bool needsApply(std::string& mesg); + + // Request to apply current data. + // If returning fail, this function should modify the message to the user. + virtual bool apply(std::string& mesg); + + // Triggered when group information changes in the group manager. + virtual void update(LLGroupChange gc); + + + static void onBanEntrySelect(LLUICtrl* ctrl, void* user_data); + void handleBanEntrySelect(); + + static void onBanGroupMember(void* user_data); + void handleBanGroupMember(); + + static void onCreateBanEntry(void* user_data); + void handleCreateBanEntry(); + + static void onDeleteBanEntry(void* user_data); + void handleDeleteBanEntry(); + + virtual void setGroupID(const LLUUID& id); + +protected: + void populateBanList(); + + +protected: + LLNameListCtrl* mBanList; + LLButton* mCreateBanButton; + LLButton* mDeleteBanButton; + + bool mUpdateBanList; + +}; #endif // LL_LLPANELGROUPROLES_H -- cgit v1.2.3 From 1299f6d63fbe313329e6e5ced7be797e2a23d6a7 Mon Sep 17 00:00:00 2001 From: Baker Linden Date: Fri, 30 Aug 2013 16:38:25 -0700 Subject: - Got all major functionality working - Changed PUT and DEL to POST which accepts an enum for a create or delete --- indra/newview/llpanelgrouproles.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 1695097fc5..01c1d8c16d 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -335,6 +335,8 @@ public: // Triggered when group information changes in the group manager. virtual void update(LLGroupChange gc); + // + virtual void draw(); static void onBanEntrySelect(LLUICtrl* ctrl, void* user_data); void handleBanEntrySelect(); @@ -358,8 +360,6 @@ protected: LLNameListCtrl* mBanList; LLButton* mCreateBanButton; LLButton* mDeleteBanButton; - - bool mUpdateBanList; }; -- cgit v1.2.3 From bf34eccf9c68f204c41d3daea791e50e87d868db Mon Sep 17 00:00:00 2001 From: Baker Linden Date: Mon, 9 Sep 2013 17:29:33 -0700 Subject: - Start of code cleanup - Added refresh button to ban list panel - Added an additional signal to LLNameListCtrl to indicate when the entire name cache is complete. --- indra/newview/llpanelgrouproles.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 01c1d8c16d..2f37805f48 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -335,7 +335,6 @@ public: // Triggered when group information changes in the group manager. virtual void update(LLGroupChange gc); - // virtual void draw(); static void onBanEntrySelect(LLUICtrl* ctrl, void* user_data); @@ -349,18 +348,24 @@ public: static void onDeleteBanEntry(void* user_data); void handleDeleteBanEntry(); - - virtual void setGroupID(const LLUUID& id); + + static void onRefreshBanList(void* user_data); + void handleRefreshBanList(); + + void onBanListCompleted(bool isComplete); protected: void populateBanList(); +public: + virtual void setGroupID(const LLUUID& id); protected: LLNameListCtrl* mBanList; LLButton* mCreateBanButton; LLButton* mDeleteBanButton; - + LLButton* mRefreshBanListButton; + }; #endif // LL_LLPANELGROUPROLES_H -- cgit v1.2.3 From 34f561db55868185f0a946009f41f4f212366484 Mon Sep 17 00:00:00 2001 From: Baker Linden Date: Fri, 13 Sep 2013 17:20:04 -0700 Subject: - Added ban date to ban list ui - Code cleanup --- indra/newview/llpanelgrouproles.h | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 2f37805f48..851f73bba0 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -39,11 +39,9 @@ class LLScrollListCtrl; class LLScrollListItem; class LLTextEditor; -// Forward declare for friend usage. -//virtual BOOL LLPanelGroupSubTab::postBuildSubTab(LLView*); - typedef std::map icon_map_t; + class LLPanelGroupRoles : public LLPanelGroupTab { public: @@ -92,6 +90,7 @@ protected: std::string mWantApplyMesg; }; + class LLPanelGroupSubTab : public LLPanelGroupTab { public: @@ -147,6 +146,7 @@ protected: void setOthersVisible(BOOL b); }; + class LLPanelGroupMembersSubTab : public LLPanelGroupSubTab { public: @@ -222,6 +222,7 @@ protected: boost::signals2::connection mAvatarNameCacheConnection; }; + class LLPanelGroupRolesSubTab : public LLPanelGroupSubTab { public: @@ -284,6 +285,7 @@ protected: std::string mRemoveEveryoneTxt; }; + class LLPanelGroupActionsSubTab : public LLPanelGroupSubTab { public: @@ -310,6 +312,7 @@ protected: LLTextEditor* mActionDescription; }; + class LLPanelGroupBanListSubTab : public LLPanelGroupSubTab { public: @@ -318,30 +321,12 @@ public: virtual BOOL postBuildSubTab(LLView* root); - // Triggered when the tab becomes active. virtual void activate(); - - // Triggered when the tab becomes inactive. - virtual void deactivate(); - - // Asks if something needs to be applied. - // If returning true, this function should modify the message to the user. - virtual bool needsApply(std::string& mesg); - - // Request to apply current data. - // If returning fail, this function should modify the message to the user. - virtual bool apply(std::string& mesg); - - // Triggered when group information changes in the group manager. virtual void update(LLGroupChange gc); - virtual void draw(); static void onBanEntrySelect(LLUICtrl* ctrl, void* user_data); void handleBanEntrySelect(); - - static void onBanGroupMember(void* user_data); - void handleBanGroupMember(); static void onCreateBanEntry(void* user_data); void handleCreateBanEntry(); -- cgit v1.2.3 From 25d0a3e029cb68a14cc7c3417cc43cb3ffa90925 Mon Sep 17 00:00:00 2001 From: Baker Linden Date: Thu, 6 Feb 2014 16:19:03 -0800 Subject: [GroupBan] When adding "Manage Ban List" ability additionally grant requisite abilities - Viewer side implementation for MAINT-3467 complete --- indra/newview/llpanelgrouproles.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index e74e4f746d..26f1dff007 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -142,7 +142,10 @@ protected: icon_map_t mActionIcons; bool mActivated; - + + bool mHasGroupBanPower; // Used to communicate between action sets due to the dependency between + // GP_GROUP_BAN_ACCESS and GP_EJECT_MEMBER and GP_ROLE_REMOVE_MEMBER + void setOthersVisible(BOOL b); }; @@ -246,7 +249,7 @@ public: static void onActionCheck(LLUICtrl*, void*); bool addActionCB(const LLSD& notification, const LLSD& response, LLCheckBoxCtrl* check); - + static void onPropertiesKey(LLLineEditor*, void*); void onDescriptionKeyStroke(LLTextEditor* caller); -- cgit v1.2.3 From 86676ec34be7be27f05460deb750d6eb334be0de Mon Sep 17 00:00:00 2001 From: Ansariel Date: Tue, 28 Jan 2014 19:45:50 +0100 Subject: STORM-2011: Group member lists not loading properly --- indra/newview/llpanelgrouproles.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 0cf272f3ee..baa2d40c7e 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -189,7 +189,7 @@ public: virtual void setGroupID(const LLUUID& id); void addMemberToList(LLGroupMemberData* data); - void onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLAvatarName& av_name); + void onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLAvatarName& av_name, const LLUUID& av_id); protected: typedef std::map role_change_data_map_t; @@ -215,7 +215,8 @@ protected: U32 mNumOwnerAdditions; LLGroupMgrGroupData::member_list_t::iterator mMemberProgress; - boost::signals2::connection mAvatarNameCacheConnection; + typedef std::map avatar_name_cache_connection_map_t; + avatar_name_cache_connection_map_t mAvatarNameCacheConnections; }; class LLPanelGroupRolesSubTab : public LLPanelGroupSubTab -- cgit v1.2.3 From 2b4d3fff706d098076bb6c0a7dce2ca35b83300f Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 10 Mar 2014 15:46:49 -0400 Subject: back out STORM-2011 due to conflict --- indra/newview/llpanelgrouproles.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index baa2d40c7e..0cf272f3ee 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -189,7 +189,7 @@ public: virtual void setGroupID(const LLUUID& id); void addMemberToList(LLGroupMemberData* data); - void onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLAvatarName& av_name, const LLUUID& av_id); + void onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLAvatarName& av_name); protected: typedef std::map role_change_data_map_t; @@ -215,8 +215,7 @@ protected: U32 mNumOwnerAdditions; LLGroupMgrGroupData::member_list_t::iterator mMemberProgress; - typedef std::map avatar_name_cache_connection_map_t; - avatar_name_cache_connection_map_t mAvatarNameCacheConnections; + boost::signals2::connection mAvatarNameCacheConnection; }; class LLPanelGroupRolesSubTab : public LLPanelGroupSubTab -- cgit v1.2.3 From 529edff468dff629455463d09c7db92f7dcd1a40 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 11 Mar 2014 14:03:38 -0400 Subject: restore the relevant fixes for STORM-2011 --- indra/newview/llpanelgrouproles.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 0cf272f3ee..baa2d40c7e 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -189,7 +189,7 @@ public: virtual void setGroupID(const LLUUID& id); void addMemberToList(LLGroupMemberData* data); - void onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLAvatarName& av_name); + void onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLAvatarName& av_name, const LLUUID& av_id); protected: typedef std::map role_change_data_map_t; @@ -215,7 +215,8 @@ protected: U32 mNumOwnerAdditions; LLGroupMgrGroupData::member_list_t::iterator mMemberProgress; - boost::signals2::connection mAvatarNameCacheConnection; + typedef std::map avatar_name_cache_connection_map_t; + avatar_name_cache_connection_map_t mAvatarNameCacheConnections; }; class LLPanelGroupRolesSubTab : public LLPanelGroupSubTab -- cgit v1.2.3 From e10d5238d651f46b6efbf6eb5dbee3e0a755adec Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Mon, 28 Apr 2014 11:48:11 +0300 Subject: MAINT-3957 FIXED Group owner issue --- indra/newview/llpanelgrouproles.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 26f1dff007..052f1d2071 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -268,6 +268,9 @@ public: void saveRoleChanges(bool select_saved_role); virtual void setGroupID(const LLUUID& id); + + BOOL mFirstOpen; + protected: void handleActionCheck(LLUICtrl* ctrl, bool force); LLSD createRoleItem(const LLUUID& role_id, std::string name, std::string title, S32 members); -- 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/llpanelgrouproles.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llpanelgrouproles.h') diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 052f1d2071..b9697a1d3a 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -347,6 +347,7 @@ public: void onBanListCompleted(bool isComplete); protected: + void setBanCount(U32 ban_count); void populateBanList(); public: @@ -357,6 +358,7 @@ protected: LLButton* mCreateBanButton; LLButton* mDeleteBanButton; LLButton* mRefreshBanListButton; + LLTextBase* mBanCountText; }; -- cgit v1.2.3