diff options
Diffstat (limited to 'indra/newview/llpanelpick.cpp')
-rw-r--r-- | indra/newview/llpanelpick.cpp | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/indra/newview/llpanelpick.cpp b/indra/newview/llpanelpick.cpp index cda1a9e7e7..f7ca54c732 100644 --- a/indra/newview/llpanelpick.cpp +++ b/indra/newview/llpanelpick.cpp @@ -66,7 +66,7 @@ LLPanelPick::LLPanelPick(BOOL edit_mode/* = FALSE */) -: LLPanel(), LLAvatarPropertiesObserver(), +: LLPanel(), LLAvatarPropertiesObserver(), LLRemoteParcelInfoObserver(), mEditMode(edit_mode), mSnapshotCtrl(NULL), mPickId(LLUUID::null), @@ -111,6 +111,8 @@ void LLPanelPick::reset() mDataReceived = FALSE; mPosGlobal.clearVec(); + + childSetValue("maturity", ""); } BOOL LLPanelPick::postBuild() @@ -211,6 +213,12 @@ void LLPanelPick::createNewPick() init(pick_data); mDataReceived = TRUE; LLAvatarPropertiesProcessor::instance().removeObserver(mCreatorId, this); + + if (!mEditMode) + { + LLRemoteParcelInfoProcessor::getInstance()->addObserver(pick_data->parcel_id, this); + LLRemoteParcelInfoProcessor::getInstance()->sendParcelInfoRequest(pick_data->parcel_id); + } } @@ -450,3 +458,24 @@ void LLPanelPick::showOnMap(const LLVector3d& position) LLFloaterWorldMap::getInstance()->trackLocation(position); LLFloaterReg::showInstance("world_map", "center"); } + +void LLPanelPick::processParcelInfo(const LLParcelData& parcel_data) +{ + if (mEditMode) return; + + // HACK: Flag 0x2 == adult region, + // Flag 0x1 == mature region, otherwise assume PG + std::string rating_icon = "icon_event.tga"; + if (parcel_data.flags & 0x2) + { + rating_icon = "icon_event_adult.tga"; + } + else if (parcel_data.flags & 0x1) + { + rating_icon = "icon_event_mature.tga"; + } + + childSetValue("maturity", rating_icon); + + //*NOTE we don't removeObserver(...) ourselves cause LLRemoveParcelProcessor does it for us +} |