[Issue 662] Plug in LLPanelEstateInfo::updateEstate* functions

This commit is contained in:
Lirusaito
2013-03-01 19:31:18 -05:00
parent bbe81a86f5
commit ab21a74bfc
3 changed files with 37 additions and 24 deletions

View File

@@ -1909,6 +1909,26 @@ void LLPanelEstateInfo::sendEstateAccessDelta(U32 flags, const LLUUID& agent_or_
gAgent.sendReliableMessage();
}
// static
void LLPanelEstateInfo::updateEstateOwnerName(const std::string& name)
{
LLPanelEstateInfo* panelp = LLFloaterRegionInfo::getPanelEstate();
if (panelp)
{
panelp->setOwnerName(name);
}
}
// static
void LLPanelEstateInfo::updateEstateName(const std::string& name)
{
LLPanelEstateInfo* panelp = LLFloaterRegionInfo::getPanelEstate();
if (panelp)
{
panelp->getChildRef<LLTextBox>("estate_name").setText(name);
}
}
void LLPanelEstateInfo::updateControls(LLViewerRegion* region)
{
BOOL god = gAgent.isGodlike();
@@ -2078,14 +2098,7 @@ void LLPanelEstateInfo::refreshFromEstate()
const LLEstateInfoModel& estate_info = LLEstateInfoModel::instance();
getChild<LLUICtrl>("estate_name")->setValue(estate_info.getName());
const LLUUID& owner_id = estate_info.getOwnerID();
std::string owner_name;
if (!LLAvatarNameCache::getPNSName(owner_id, owner_name))
{
llwarns << "Failed to getPNSName for " << owner_id << ". Falling back to legacy." << llendl;
gCacheName->getFullName(owner_id, owner_name);
}
setOwnerName(owner_name);
LLAvatarNameCache::get(estate_info.getOwnerID(), boost::bind(&LLPanelEstateInfo::setOwnerPNSName, this, _1, _2));
getChild<LLUICtrl>("externally_visible_check")->setValue(estate_info.getIsExternallyVisible());
getChild<LLUICtrl>("voice_chat_check")->setValue(estate_info.getAllowVoiceChat());
@@ -2227,6 +2240,13 @@ void LLPanelEstateInfo::setOwnerName(const std::string& name)
getChild<LLUICtrl>("estate_owner")->setValue(LLSD(name));
}
void LLPanelEstateInfo::setOwnerPNSName(const LLUUID& agent_id, const LLAvatarName& av_name)
{
std::string name;
LLAvatarNameCache::getPNSName(av_name, name);
setOwnerName(name);
}
void LLPanelEstateInfo::clearAccessLists()
{
LLNameListCtrl* name_list = getChild<LLNameListCtrl>("allowed_avatar_name_list");

View File

@@ -316,6 +316,7 @@ public:
const std::string getOwnerName() const;
void setOwnerName(const std::string& name);
void setOwnerPNSName(const LLUUID& agent_id, const LLAvatarName& av_name);
protected:
virtual BOOL sendUpdate();

View File

@@ -212,7 +212,7 @@ extern bool gShiftFrame;
// function prototypes
bool check_offer_throttle(const std::string& from_name, bool check_only);
void callbackCacheEstateOwnerName(const LLUUID& id, const std::string& full_name, bool is_group);
void callbackCacheEstateOwnerName(const LLUUID& id, const LLAvatarName& av_name);
static void process_money_balance_reply_extended(LLMessageSystem* msg);
//inventory offer throttle globals
@@ -7652,8 +7652,11 @@ void process_covenant_reply(LLMessageSystem* msg, void**)
LLPanelEstateCovenant::updateEstateName(estate_name);
LLPanelLandCovenant::updateEstateName(estate_name);
LLPanelEstateInfo::updateEstateName(estate_name);
LLFloaterBuyLand::updateEstateName(estate_name);
LLAvatarNameCache::get(estate_owner_id, boost::bind(&callbackCacheEstateOwnerName, _1, _2));
// standard message, not from system
std::string last_modified;
if (covenant_timestamp == 0)
@@ -7668,9 +7671,6 @@ void process_covenant_reply(LLMessageSystem* msg, void**)
LLPanelEstateCovenant::updateLastModified(last_modified);
LLPanelLandCovenant::updateLastModified(last_modified);
LLFloaterBuyLand::updateLastModified(last_modified);
gCacheName->get(estate_owner_id, false,
boost::bind(&callbackCacheEstateOwnerName, _1, _2, _3));
// load the actual covenant asset data
const BOOL high_priority = TRUE;
@@ -7704,22 +7704,14 @@ void process_covenant_reply(LLMessageSystem* msg, void**)
}
}
void callbackCacheEstateOwnerName(const LLUUID& id,
const std::string& full_name,
bool is_group)
void callbackCacheEstateOwnerName(const LLUUID& id, const LLAvatarName& av_name)
{
std::string name;
if (id.isNull())
{
name = "(none)";
}
else
{
name = full_name;
}
LLAvatarNameCache::getPNSName(av_name, name);
LLPanelEstateCovenant::updateEstateOwnerName(name);
LLPanelLandCovenant::updateEstateOwnerName(name);
LLPanelEstateInfo::updateEstateOwnerName(name);
LLFloaterBuyLand::updateEstateOwnerName(name);
}