From 6ef3c100fbc79ec106756f383f5df2be682d5409 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Sat, 14 Apr 2018 02:47:35 +0300 Subject: MAINT-8440 Create a tabbed panel for managing users for Region/Estate owners --- indra/newview/llfloaterregioninfo.h | 69 +++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 25 deletions(-) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index c9d0e51640..89bc7b7d92 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -64,6 +64,7 @@ class LLPanelEstateCovenant; class LLPanelExperienceListEditor; class LLPanelExperiences; class LLPanelRegionExperiences; +class LLPanelEstateAccess; class LLEventTimer; class LLEnvironmentSettings; @@ -92,6 +93,7 @@ public: //static void incrementSerial() { sRequestSerial++; } static LLPanelEstateInfo* getPanelEstate(); + static LLPanelEstateAccess* getPanelAccess(); static LLPanelEstateCovenant* getPanelCovenant(); static LLPanelRegionTerrainInfo* getPanelRegionTerrain(); static LLPanelRegionExperiences* getPanelExperiences(); @@ -281,35 +283,11 @@ public: void onClickEditDayCycle(); void onClickEditDayCycleHelp(); - void onClickAddAllowedAgent(); - void onClickRemoveAllowedAgent(); - void onClickAddAllowedGroup(); - void onClickRemoveAllowedGroup(); - void onClickAddBannedAgent(); - void onClickRemoveBannedAgent(); - void onClickAddEstateManager(); - void onClickRemoveEstateManager(); void onClickKickUser(); - // Group picker callback is different, can't use core methods below - bool addAllowedGroup(const LLSD& notification, const LLSD& response); - void addAllowedGroup2(LLUUID id); - - // Core methods for all above add/remove button clicks - static void accessAddCore(U32 operation_flag, const std::string& dialog_name); - static bool accessAddCore2(const LLSD& notification, const LLSD& response); - static void accessAddCore3(const uuid_vec_t& ids, void* data); - static void accessRemoveCore(U32 operation_flag, const std::string& dialog_name, const std::string& list_ctrl_name); - static bool accessRemoveCore2(const LLSD& notification, const LLSD& response); - - // used for both add and remove operations - static bool accessCoreConfirm(const LLSD& notification, const LLSD& response); bool kickUserConfirm(const LLSD& notification, const LLSD& response); - // Send the actual EstateOwnerRequest "estateaccessdelta" message - static void sendEstateAccessDelta(U32 flags, const LLUUID& agent_id); - void onKickUserCommit(const uuid_vec_t& ids); static void onClickMessageEstate(void* data); bool onMessageCommit(const LLSD& notification, const LLSD& response); @@ -345,7 +323,6 @@ protected: void commitEstateAccess(); void commitEstateManagers(); - void clearAccessLists(); BOOL checkSunHourSlider(LLUICtrl* child_ctrl); U32 mEstateID; @@ -507,4 +484,46 @@ private: LLUUID mDefaultExperience; }; + +class LLPanelEstateAccess : public LLPanelRegionInfo +{ + LOG_CLASS(LLPanelEnvironmentInfo); + +public: + virtual BOOL postBuild(); + virtual void updateChild(LLUICtrl* child_ctrl); + + void updateControls(LLViewerRegion* region); + + void onClickAddAllowedAgent(); + void onClickRemoveAllowedAgent(); + void onClickAddAllowedGroup(); + void onClickRemoveAllowedGroup(); + void onClickAddBannedAgent(); + void onClickRemoveBannedAgent(); + void onClickAddEstateManager(); + void onClickRemoveEstateManager(); + + // Group picker callback is different, can't use core methods below + bool addAllowedGroup(const LLSD& notification, const LLSD& response); + void addAllowedGroup2(LLUUID id); + + // Core methods for all above add/remove button clicks + static void accessAddCore(U32 operation_flag, const std::string& dialog_name); + static bool accessAddCore2(const LLSD& notification, const LLSD& response); + static void accessAddCore3(const uuid_vec_t& ids, void* data); + + static void accessRemoveCore(U32 operation_flag, const std::string& dialog_name, const std::string& list_ctrl_name); + static bool accessRemoveCore2(const LLSD& notification, const LLSD& response); + + // used for both add and remove operations + static bool accessCoreConfirm(const LLSD& notification, const LLSD& response); + + // Send the actual EstateOwnerRequest "estateaccessdelta" message + static void sendEstateAccessDelta(U32 flags, const LLUUID& agent_id); + + + void clearAccessLists(); +}; + #endif -- cgit v1.2.3 From bbb560bf8d99cc61f2f19f654322384458f82516 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Tue, 8 May 2018 01:18:20 +0300 Subject: MAINT-8592 EstateAccess capability support --- indra/newview/llfloaterregioninfo.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 89bc7b7d92..ee6db9a87b 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -112,6 +112,7 @@ private: LLFloaterRegionInfo(const LLSD& seed); ~LLFloaterRegionInfo(); + static void requestEstateGetAccessCoro(std::string url, LLHandle handle); protected: -- cgit v1.2.3 From 30df194a0a621aff57998a1cd7379e2a7f279acd Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Wed, 16 May 2018 19:07:41 +0300 Subject: MAINT-8592 EstateAccess capability support #2 --- indra/newview/llfloaterregioninfo.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index ee6db9a87b..20ba3a7d9c 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -112,9 +112,6 @@ private: LLFloaterRegionInfo(const LLSD& seed); ~LLFloaterRegionInfo(); - static void requestEstateGetAccessCoro(std::string url, LLHandle handle); - - protected: void onTabSelected(const LLSD& param); void disableTabCtrls(); @@ -495,7 +492,9 @@ public: virtual void updateChild(LLUICtrl* child_ctrl); void updateControls(LLViewerRegion* region); + void updateLists(); +private: void onClickAddAllowedAgent(); void onClickRemoveAllowedAgent(); void onClickAddAllowedGroup(); @@ -504,7 +503,7 @@ public: void onClickRemoveBannedAgent(); void onClickAddEstateManager(); void onClickRemoveEstateManager(); - + // Group picker callback is different, can't use core methods below bool addAllowedGroup(const LLSD& notification, const LLSD& response); void addAllowedGroup2(LLUUID id); @@ -523,8 +522,7 @@ public: // Send the actual EstateOwnerRequest "estateaccessdelta" message static void sendEstateAccessDelta(U32 flags, const LLUUID& agent_id); - - void clearAccessLists(); + static void requestEstateGetAccessCoro(std::string url); }; #endif -- cgit v1.2.3 From 00ae3be19f5f666b37c21d4b215e5158692a7cfd Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Mon, 2 Jul 2018 15:18:46 +0300 Subject: MAINT-8718 FIXED EAM can't add or remove agent to or from Allowed, Banned list for All Estates on the first try --- indra/newview/llfloaterregioninfo.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 20ba3a7d9c..941c81fbec 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -488,12 +488,17 @@ class LLPanelEstateAccess : public LLPanelRegionInfo LOG_CLASS(LLPanelEnvironmentInfo); public: + LLPanelEstateAccess(); + virtual BOOL postBuild(); virtual void updateChild(LLUICtrl* child_ctrl); void updateControls(LLViewerRegion* region); void updateLists(); + void setPendingUpdate(bool pending) { mPendingUpdate = pending; } + bool getPendingUpdate() { return mPendingUpdate; } + private: void onClickAddAllowedAgent(); void onClickRemoveAllowedAgent(); @@ -523,6 +528,8 @@ private: static void sendEstateAccessDelta(U32 flags, const LLUUID& agent_id); static void requestEstateGetAccessCoro(std::string url); + + bool mPendingUpdate; }; #endif -- cgit v1.2.3 From 28cdee4e0833c96f4b0c707092814f6ed0bbfd96 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Thu, 12 Jul 2018 20:35:01 +0300 Subject: MAINT-8566 Access lists search implementation --- indra/newview/llfloaterregioninfo.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 941c81fbec..70971c119f 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -508,6 +508,9 @@ private: void onClickRemoveBannedAgent(); void onClickAddEstateManager(); void onClickRemoveEstateManager(); + void onAllowedSearchEdit(const std::string& search_string); + void onAllowedGroupsSearchEdit(const std::string& search_string); + void onBannedSearchEdit(const std::string& search_string); // Group picker callback is different, can't use core methods below bool addAllowedGroup(const LLSD& notification, const LLSD& response); @@ -529,6 +532,8 @@ private: static void requestEstateGetAccessCoro(std::string url); + void searchAgent(LLNameListCtrl* listCtrl, const std::string& search_string); + bool mPendingUpdate; }; -- cgit v1.2.3 From 7cc989d83959a081821f57c2e960ea117bcbf091 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Tue, 24 Jul 2018 23:44:24 +0300 Subject: MAINT-8880 Added god mode callback/update to the Region/Estate floater --- indra/newview/llfloaterregioninfo.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 70971c119f..2732b3e5f9 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -29,6 +29,7 @@ #define LL_LLFLOATERREGIONINFO_H #include +#include "llagent.h" #include "llassettype.h" #include "llfloater.h" #include "llhost.h" @@ -163,8 +164,13 @@ protected: const LLUUID& invoice, const strings_t& strings); + void onGodLevelChange(U8 god_level); + // member data LLHost mHost; + +private: + LLAgent::god_level_change_slot_t mGodLevelChangeSlot; }; ///////////////////////////////////////////////////////////////////////////// @@ -499,6 +505,8 @@ public: void setPendingUpdate(bool pending) { mPendingUpdate = pending; } bool getPendingUpdate() { return mPendingUpdate; } + virtual bool refreshFromRegion(LLViewerRegion* region); + private: void onClickAddAllowedAgent(); void onClickRemoveAllowedAgent(); -- cgit v1.2.3 From 2964925fa295f455fca489edbcdbbc5365182308 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Wed, 25 Jul 2018 05:24:58 +0300 Subject: MAINT-8922 Crashfix --- indra/newview/llfloaterregioninfo.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 2732b3e5f9..5b4c81000e 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -81,6 +81,7 @@ public: /*virtual*/ void onOpen(const LLSD& key); + /*virtual*/ void onClose(bool app_quitting); /*virtual*/ BOOL postBuild(); static void processEstateOwnerRequest(LLMessageSystem* msg, void**); @@ -117,6 +118,7 @@ protected: void onTabSelected(const LLSD& param); void disableTabCtrls(); void refreshFromRegion(LLViewerRegion* region); + void onGodLevelChange(U8 god_level); // member data LLTabContainer* mTab; @@ -124,6 +126,10 @@ protected: info_panels_t mInfoPanels; //static S32 sRequestSerial; // serial # of last EstateOwnerRequest static LLUUID sRequestInvoice; + +private: + LLAgent::god_level_change_slot_t mGodLevelChangeSlot; + }; @@ -164,13 +170,9 @@ protected: const LLUUID& invoice, const strings_t& strings); - void onGodLevelChange(U8 god_level); // member data LLHost mHost; - -private: - LLAgent::god_level_change_slot_t mGodLevelChangeSlot; }; ///////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3 From 747eccd63faa8595803b253a2dcf4d1732d924ce Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Thu, 6 Sep 2018 03:24:06 +0300 Subject: MAINT-8777 added ability to copy access lists to clipboard --- indra/newview/llfloaterregioninfo.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 5b4c81000e..e2453181d2 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -512,10 +512,13 @@ public: private: void onClickAddAllowedAgent(); void onClickRemoveAllowedAgent(); + void onClickCopyAllowedList(); void onClickAddAllowedGroup(); void onClickRemoveAllowedGroup(); + void onClickCopyAllowedGroupList(); void onClickAddBannedAgent(); void onClickRemoveBannedAgent(); + void onClickCopyBannedList(); void onClickAddEstateManager(); void onClickRemoveEstateManager(); void onAllowedSearchEdit(const std::string& search_string); @@ -543,6 +546,7 @@ private: static void requestEstateGetAccessCoro(std::string url); void searchAgent(LLNameListCtrl* listCtrl, const std::string& search_string); + void copyListToClipboard(std::string list_name); bool mPendingUpdate; }; -- cgit v1.2.3 From 7621b342733d0d28c4bf4ca84f8a671b6a07b6bb Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Fri, 18 Jan 2019 18:19:27 +0200 Subject: SL-1942 Fixed the estate list change Confirmation messages to show agent names properly --- indra/newview/llfloaterregioninfo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index e2453181d2..d0b978e38e 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -532,7 +532,7 @@ private: // Core methods for all above add/remove button clicks static void accessAddCore(U32 operation_flag, const std::string& dialog_name); static bool accessAddCore2(const LLSD& notification, const LLSD& response); - static void accessAddCore3(const uuid_vec_t& ids, void* data); + static void accessAddCore3(const uuid_vec_t& ids, std::vector names, void* data); static void accessRemoveCore(U32 operation_flag, const std::string& dialog_name, const std::string& list_ctrl_name); static bool accessRemoveCore2(const LLSD& notification, const LLSD& response); -- cgit v1.2.3 From 3e0e141b7651a8ed20ec310fa4557d2a5c9fcd89 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Thu, 7 Feb 2019 21:59:13 +0200 Subject: SL-1036 Update estate access lists on the agent's access level change --- indra/newview/llfloaterregioninfo.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llfloaterregioninfo.h') diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index d0b978e38e..5d0f5fc6fc 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -549,6 +549,7 @@ private: void copyListToClipboard(std::string list_name); bool mPendingUpdate; + BOOL mCtrlsEnabled; }; #endif -- cgit v1.2.3