diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfloaterregioninfo.cpp | 21 | ||||
-rw-r--r-- | indra/newview/llfloaterregioninfo.h | 8 |
2 files changed, 24 insertions, 5 deletions
diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 4babff69c2..da90108186 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -276,11 +276,6 @@ void LLFloaterRegionInfo::onOpen(const LLSD& key) requestRegionInfo(); requestMeshRezInfo(); - LLPanelEstateAccess* panel_access = LLFloaterRegionInfo::getPanelAccess(); - if (panel_access) - { - panel_access->updateLists(); - } } // static @@ -713,6 +708,11 @@ void LLPanelRegionInfo::disableButton(const std::string& btn_name) void LLPanelRegionInfo::initCtrl(const std::string& name) { getChild<LLUICtrl>(name)->setCommitCallback(boost::bind(&LLPanelRegionInfo::onChangeAnything, this)); + + if (!mGodLevelChangeSlot.connected()) + { + mGodLevelChangeSlot = gAgent.registerGodLevelChanageListener(boost::bind(&LLPanelRegionInfo::onGodLevelChange, this, _1)); + } } void LLPanelRegionInfo::onClickManageTelehub() @@ -721,6 +721,11 @@ void LLPanelRegionInfo::onClickManageTelehub() LLFloaterReg::showInstance("telehubs"); } +void LLPanelRegionInfo::onGodLevelChange(U8 god_level) +{ + refreshFromRegion(gAgent.getRegion()); +} + ///////////////////////////////////////////////////////////////////////////// // LLPanelRegionGeneralInfo // @@ -4109,3 +4114,9 @@ void LLPanelEstateAccess::searchAgent(LLNameListCtrl* listCtrl, const std::strin } } +bool LLPanelEstateAccess::refreshFromRegion(LLViewerRegion* region) +{ + updateLists(); + return true; +} + 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 <vector> +#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(); |