summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterregioninfo.h
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2019-04-17 11:24:08 -0700
committerGraham Linden <graham@lindenlab.com>2019-04-17 11:24:08 -0700
commit5f8cca95f8890d22496932827626f6c437d2b188 (patch)
tree716675dbd41416fd383568dfb47c5d3246f03423 /indra/newview/llfloaterregioninfo.h
parenta7e7d4a8185cd63c2f6f87fea992667912999426 (diff)
parent81dbd3663bdaff741e68de0ec4d4d35bedf6649d (diff)
Merge 6.2.1
Diffstat (limited to 'indra/newview/llfloaterregioninfo.h')
-rw-r--r--indra/newview/llfloaterregioninfo.h116
1 files changed, 87 insertions, 29 deletions
diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h
index e4687fff0c..0dda13cdc5 100644
--- a/indra/newview/llfloaterregioninfo.h
+++ b/indra/newview/llfloaterregioninfo.h
@@ -29,6 +29,7 @@
#define LL_LLFLOATERREGIONINFO_H
#include <vector>
+#include "llagent.h"
#include "llassettype.h"
#include "llfloater.h"
#include "llhost.h"
@@ -64,6 +65,7 @@ class LLPanelEstateCovenant;
class LLPanelExperienceListEditor;
class LLPanelExperiences;
class LLPanelRegionExperiences;
+class LLPanelEstateAccess;
class LLPanelRegionEnvironment;
class LLEventTimer;
@@ -75,15 +77,21 @@ public:
/*virtual*/ void onOpen(const LLSD& key);
+ /*virtual*/ void onClose(bool app_quitting);
/*virtual*/ BOOL postBuild();
+ static void processEstateOwnerRequest(LLMessageSystem* msg, void**);
+
// get and process region info if necessary.
static void processRegionInfo(LLMessageSystem* msg);
+ static const LLUUID& getLastInvoice() { return sRequestInvoice; }
+ static void nextInvoice() { sRequestInvoice.generate(); }
//static S32 getSerial() { return sRequestSerial; }
//static void incrementSerial() { sRequestSerial++; }
static LLPanelEstateInfo* getPanelEstate();
+ static LLPanelEstateAccess* getPanelAccess();
static LLPanelEstateCovenant* getPanelCovenant();
static LLPanelRegionTerrainInfo* getPanelRegionTerrain();
static LLPanelRegionExperiences* getPanelExperiences();
@@ -103,20 +111,22 @@ private:
LLFloaterRegionInfo(const LLSD& seed);
~LLFloaterRegionInfo();
-
-
protected:
void onTabSelected(const LLSD& param);
void disableTabCtrls();
void refreshFromRegion(LLViewerRegion* region);
+ void onGodLevelChange(U8 god_level);
// member data
LLTabContainer* mTab;
typedef std::vector<LLPanelRegionInfo*> info_panels_t;
info_panels_t mInfoPanels;
LLPanelRegionEnvironment *mEnvironmentPanel;
+ //static S32 sRequestSerial; // serial # of last EstateOwnerRequest
+ static LLUUID sRequestInvoice;
private:
+ LLAgent::god_level_change_slot_t mGodLevelChangeSlot;
boost::signals2::connection mRegionChangedCallback;
};
@@ -152,6 +162,15 @@ protected:
typedef std::vector<std::string> strings_t;
//typedef std::vector<U32> integers_t;
+ void sendEstateOwnerMessage(
+ LLMessageSystem* msg,
+ const std::string& request,
+ const LLUUID& invoice,
+ const strings_t& strings);
+
+
+ // member data
+ LLHost mHost;
};
/////////////////////////////////////////////////////////////////////////////
@@ -253,9 +272,12 @@ private:
};
/////////////////////////////////////////////////////////////////////////////
+
class LLPanelEstateInfo : public LLPanelRegionInfo
{
public:
+ static void initDispatch(LLDispatcher& dispatch);
+
void onChangeFixedSun();
void onChangeUseGlobalTime();
void onChangeAccessOverride();
@@ -265,35 +287,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);
@@ -315,7 +313,6 @@ public:
virtual void refresh();
void refreshFromEstate();
- void refreshAccessFromEstate(U32 flags);
static bool isLindenEstate();
@@ -330,7 +327,6 @@ protected:
void commitEstateAccess();
void commitEstateManagers();
- void clearAccessLists();
BOOL checkSunHourSlider(LLUICtrl* child_ctrl);
U32 mEstateID;
@@ -418,7 +414,7 @@ public:
void sendPurchaseRequest()const;
void processResponse( const LLSD& content );
private:
- void refreshExperiencesFromEstate();
+ void refreshRegionExperiences();
static std::string regionCapabilityQuery(LLViewerRegion* region, const std::string &cap);
@@ -433,4 +429,66 @@ private:
LLUUID mDefaultExperience;
};
+
+class LLPanelEstateAccess : public LLPanelRegionInfo
+{
+ LOG_CLASS(LLPanelEstateAccess);
+
+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; }
+
+ virtual bool refreshFromRegion(LLViewerRegion* region);
+
+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);
+ 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);
+ 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, std::vector<LLAvatarName> 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);
+
+ // 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);
+
+ static void requestEstateGetAccessCoro(std::string url);
+
+ void searchAgent(LLNameListCtrl* listCtrl, const std::string& search_string);
+ void copyListToClipboard(std::string list_name);
+
+ bool mPendingUpdate;
+ BOOL mCtrlsEnabled;
+};
+
#endif