summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelpick.cpp
diff options
context:
space:
mode:
authorSteven Bennetts <steve@lindenlab.com>2009-08-26 20:47:27 +0000
committerSteven Bennetts <steve@lindenlab.com>2009-08-26 20:47:27 +0000
commitaf98aad98d43ec8b128ecac3089426d6ae6edc3f (patch)
tree5971f87afc04580df470a003793dcc8c974e29a7 /indra/newview/llpanelpick.cpp
parent6a364e6f32c12c1ab2c0f33e8ef07d885a8765a2 (diff)
svn merge https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1471 https://svn.aws.productengine.com/secondlife/pe/stable-1@1476 -> viewer-2.0.0-3
EXT-65 EXT-270 EXT-359 EXT-361 EXT-367 EXT-367 EXT-368 EXT-455 EXT-468 EXT-530 EXT-539 EXT-540 EXT-542 EXT-545 EXT-555 EXT-557 EXT-558 EXT-559 EXT-559 EXT-560 EXT-561 EXT-562 EXT-563 EXT-564 EXT-566 EXT-568 EXT-569 EXT-570 EXT-571 EXT-581 EXT-590 EXT-594 EXT-596 EXT-597 EXT-601 EXT-602 EXT-603 EXT-613 EXT-620 EXT-624 EXT-628 EXT-630 EXT-631 EXT-632 EXT-639 EXT-640 EXT-641 EXT-642 EXT-662 EXT-671 EXT-672 EXT-676 EXT-682 EXT-692 EXT-703 EXT-717
Diffstat (limited to 'indra/newview/llpanelpick.cpp')
-rw-r--r--indra/newview/llpanelpick.cpp31
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
+}