From d413799644b8e7fa943fa86c7798634a28ce335d Mon Sep 17 00:00:00 2001 From: Dave SIMmONs Date: Fri, 25 Feb 2011 11:33:20 -0800 Subject: ER-350: Viewer / sim camera positioning not working well on login. Viewer now sets the camera before calling send_agent_update(). Reviewed by Kelly. --- indra/newview/llviewermessage.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 103989ee80..4203ba74b2 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3761,10 +3761,22 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) } else { - // This is likely just the initial logging in phase. + // This is initial log-in or a region crossing gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); + + if(LLStartUp::getStartupState() < STATE_STARTED) + { // This is initial log-in, not a region crossing: + // Set the camera looking ahead of the AV so send_agent_update() below + // will report the correct location to the server. + LLVector3 look_at_point = look_at; + look_at_point = agent_pos + look_at_point.rotVec(gAgent.getQuat()); + + static LLVector3 up_direction(0.0f, 0.0f, 1.0f); + LLViewerCamera::getInstance()->lookAt(agent_pos, look_at_point, up_direction); + } } + if ( LLTracker::isTracking(NULL) ) { // Check distance to beacon, if < 5m, remove beacon -- cgit v1.2.3 From 9bfae21706288802f94d642eb252ac78b4d9e85c Mon Sep 17 00:00:00 2001 From: Dave SIMmONs Date: Mon, 2 May 2011 16:35:55 -0700 Subject: ER-858: Add viewer checkbox to toggle parcel privacy settings. Reviewed by Kelly --- indra/llinventory/llparcel.cpp | 10 +++++++++- indra/llinventory/llparcel.h | 12 +++++++++++- indra/llmessage/message_prehash.cpp | 1 + indra/llmessage/message_prehash.h | 1 + indra/newview/llfloaterland.cpp | 13 +++++++++++++ indra/newview/llfloaterland.h | 1 + .../newview/skins/default/xui/en/floater_about_land.xml | 17 +++++++++++++++-- 7 files changed, 51 insertions(+), 4 deletions(-) (limited to 'indra') diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp index 0a4cd51ea0..7562bb8320 100644 --- a/indra/llinventory/llparcel.cpp +++ b/indra/llinventory/llparcel.cpp @@ -702,7 +702,7 @@ void LLParcel::packMessage(LLSD& msg) msg["user_location"] = ll_sd_from_vector3(mUserLocation); msg["user_look_at"] = ll_sd_from_vector3(mUserLookAt); msg["landing_type"] = (U8)mLandingType; - + msg["privacy"] = (LLSD::Boolean) getPrivacy(); } @@ -721,6 +721,14 @@ void LLParcel::unpackMessage(LLMessageSystem* msg) msg->getStringFast( _PREHASH_ParcelData,_PREHASH_MediaURL, buffer ); setMediaURL(buffer); + BOOL private_parcel = FALSE; + bool have_privacy_data = (msg->getSizeFast(_PREHASH_ParcelData, _PREHASH_Privacy) > 0); + if (have_privacy_data) + { + msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_Privacy, private_parcel); + } + setPrivacy((bool) private_parcel); + // non-optimized version msg->getU8 ( "ParcelData", "MediaAutoScale", mMediaAutoScale ); diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h index 71b65d99ce..4d2236ec66 100644 --- a/indra/llinventory/llparcel.h +++ b/indra/llinventory/llparcel.h @@ -75,7 +75,7 @@ const U8 PARCEL_AUCTION = 0x05; // unused 0x06 // unused 0x07 // flag, unused 0x08 -// flag, unused 0x10 +const U8 PARCEL_PRIVATE = 0x10; const U8 PARCEL_SOUND_LOCAL = 0x20; const U8 PARCEL_WEST_LINE = 0x40; // flag, property line on west edge const U8 PARCEL_SOUTH_LINE = 0x80; // flag, property line on south edge @@ -130,6 +130,12 @@ class LLSD; class LLAccessEntry { public: + LLAccessEntry() + : mID(), + mTime(0), + mFlags(0) + {} + LLUUID mID; // Agent ID S32 mTime; // Time (unix seconds) when entry expires U32 mFlags; // Not used - currently should always be zero @@ -265,6 +271,7 @@ public: void setUserLocation(const LLVector3& pos) { mUserLocation = pos; } void setUserLookAt(const LLVector3& rot) { mUserLookAt = rot; } void setLandingType(const ELandingType type) { mLandingType = type; } + void setPrivacy(bool privacy) { mPrivacy = privacy; } void setAuctionID(U32 auction_id) { mAuctionID = auction_id;} @@ -367,6 +374,8 @@ public: const LLVector3& getUserLocation() const { return mUserLocation; } const LLVector3& getUserLookAt() const { return mUserLookAt; } ELandingType getLandingType() const { return mLandingType; } + bool getPrivacy() const { return mPrivacy; } + // User-specified snapshot const LLUUID& getSnapshotID() const { return mSnapshotID; } @@ -602,6 +611,7 @@ protected: LLVector3 mUserLocation; LLVector3 mUserLookAt; ELandingType mLandingType; + bool mPrivacy; LLTimer mSaleTimerExpires; LLTimer mMediaResetTimer; diff --git a/indra/llmessage/message_prehash.cpp b/indra/llmessage/message_prehash.cpp index 5d03615e53..020ece5414 100644 --- a/indra/llmessage/message_prehash.cpp +++ b/indra/llmessage/message_prehash.cpp @@ -1375,3 +1375,4 @@ char const* const _PREHASH_VCoord = LLMessageStringTable::getInstance()->getStri char const* const _PREHASH_FaceIndex = LLMessageStringTable::getInstance()->getString("FaceIndex"); char const* const _PREHASH_StatusData = LLMessageStringTable::getInstance()->getString("StatusData"); char const* const _PREHASH_ProductSKU = LLMessageStringTable::getInstance()->getString("ProductSKU"); +char const* const _PREHASH_Privacy = LLMessageStringTable::getInstance()->getString("Privacy"); diff --git a/indra/llmessage/message_prehash.h b/indra/llmessage/message_prehash.h index 8dc86601e6..32bf882d90 100644 --- a/indra/llmessage/message_prehash.h +++ b/indra/llmessage/message_prehash.h @@ -1375,4 +1375,5 @@ extern char const* const _PREHASH_VCoord; extern char const* const _PREHASH_FaceIndex; extern char const* const _PREHASH_StatusData; extern char const* const _PREHASH_ProductSKU; +extern char const* const _PREHASH_Privacy; #endif diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 7be4ebc690..1ebcae4e5c 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -1817,6 +1817,7 @@ LLPanelLandOptions::LLPanelLandOptions(LLParcelSelectionHandle& parcel) mClearBtn(NULL), mMatureCtrl(NULL), mPushRestrictionCtrl(NULL), + mPrivateParcelCtrl(NULL), mParcel(parcel) { } @@ -1859,6 +1860,9 @@ BOOL LLPanelLandOptions::postBuild() mPushRestrictionCtrl = getChild( "PushRestrictCheck"); childSetCommitCallback("PushRestrictCheck", onCommitAny, this); + mPrivateParcelCtrl = getChild( "PrivateParcelCheck"); + childSetCommitCallback("PrivateParcelCheck", onCommitAny, this); + mCheckShowDirectory = getChild( "ShowDirectoryCheck"); childSetCommitCallback("ShowDirectoryCheck", onCommitAny, this); @@ -1967,6 +1971,9 @@ void LLPanelLandOptions::refresh() mPushRestrictionCtrl->set(FALSE); mPushRestrictionCtrl->setEnabled(FALSE); + mPrivateParcelCtrl->set(FALSE); + mPrivateParcelCtrl->setEnabled(FALSE); + mLandingTypeCombo->setCurrentByIndex(0); mLandingTypeCombo->setEnabled(FALSE); @@ -2026,6 +2033,10 @@ void LLPanelLandOptions::refresh() mPushRestrictionCtrl->setEnabled(can_change_options); } + mPrivateParcelCtrl->set(parcel->getPrivacy()); + mPrivateParcelCtrl->setLabel(getString("private_parcel_text")); + mPrivateParcelCtrl->setEnabled(can_change_options); + BOOL can_change_landing_point = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_SET_LANDING_POINT); mLandingTypeCombo->setCurrentByIndex((S32)parcel->getLandingType()); @@ -2230,6 +2241,7 @@ void LLPanelLandOptions::onCommitAny(LLUICtrl *ctrl, void *userdata) BOOL allow_publish = FALSE; BOOL mature_publish = self->mMatureCtrl->get(); BOOL push_restriction = self->mPushRestrictionCtrl->get(); + BOOL private_parcel = self->mPrivateParcelCtrl->get(); BOOL show_directory = self->mCheckShowDirectory->get(); // we have to get the index from a lookup, not from the position in the dropdown! S32 category_index = LLParcel::getCategoryFromString(self->mCategoryCombo->getSelectedValue()); @@ -2263,6 +2275,7 @@ void LLPanelLandOptions::onCommitAny(LLUICtrl *ctrl, void *userdata) parcel->setCategory((LLParcel::ECategory)category_index); parcel->setLandingType((LLParcel::ELandingType)landing_type_index); parcel->setSnapshotID(snapshot_id); + parcel->setPrivacy(private_parcel); // Send current parcel data upstream to server LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel ); diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h index a096fb64cd..ff1fb62041 100644 --- a/indra/newview/llfloaterland.h +++ b/indra/newview/llfloaterland.h @@ -347,6 +347,7 @@ private: LLCheckBoxCtrl *mMatureCtrl; LLCheckBoxCtrl *mPushRestrictionCtrl; + LLCheckBoxCtrl *mPrivateParcelCtrl; LLSafeHandle& mParcel; }; diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 6e985e0476..d2567e8197 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1204,6 +1204,10 @@ Only large parcels can be listed in search. name="push_restrict_region_text"> No Pushing (Region Override) + + Private Parcel + + width="280" /> + width="280" /> + Date: Tue, 3 May 2011 13:14:00 -0700 Subject: Fix minor indentation issue --- indra/newview/llvoavatar.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra') diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index f1934933b5..1dde6fcac9 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6923,9 +6923,9 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys ) llinfos << "Re-requesting AvatarAppearance for object: " << getID() << llendl; LLAvatarPropertiesProcessor::getInstance()->sendAvatarTexturesRequest(getID()); mRuthTimer.reset(); - } - else - { + } + else + { llinfos << "That's okay, we already have a non-default shape for object: " << getID() << llendl; // we don't really care. } -- cgit v1.2.3 From 32d30f33be853c0e1e2fc7657c14cd4575b19db2 Mon Sep 17 00:00:00 2001 From: Dave SIMmONs Date: Tue, 3 May 2011 16:48:52 -0700 Subject: Manually fix missing python problem, using fix from mesh code. --- indra/cmake/LLTestCommand.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'indra') diff --git a/indra/cmake/LLTestCommand.cmake b/indra/cmake/LLTestCommand.cmake index 554559edbd..b5a0580a90 100644 --- a/indra/cmake/LLTestCommand.cmake +++ b/indra/cmake/LLTestCommand.cmake @@ -1,3 +1,4 @@ +include(Python) MACRO(LL_TEST_COMMAND OUTVAR LD_LIBRARY_PATH) # nat wonders how Kitware can use the term 'function' for a construct that # cannot return a value. And yet, variables you set inside a FUNCTION are -- cgit v1.2.3 From b43da6721e538290962cafa7ddd32a8f4c7e21db Mon Sep 17 00:00:00 2001 From: Dave SIMmONs Date: Fri, 6 May 2011 18:29:43 -0700 Subject: Viewer UI work to add icons for the nav bar and places profile to indicate parcel privacy settings. Using engineering art icons. --- indra/newview/lllocationinputctrl.cpp | 13 ++++++++ indra/newview/lllocationinputctrl.h | 16 +++++----- indra/newview/llpanelplaceprofile.cpp | 19 ++++++++++++ indra/newview/llpanelplaceprofile.h | 2 ++ indra/newview/llpaneltopinfobar.cpp | 8 +++++ indra/newview/llpaneltopinfobar.h | 13 ++++---- .../textures/icons/Parcel_PrivacyOff_Dark.png | Bin 0 -> 787 bytes .../textures/icons/Parcel_PrivacyOn_Dark.png | Bin 0 -> 833 bytes indra/newview/skins/default/textures/textures.xml | 4 ++- .../newview/skins/default/xui/en/notifications.xml | 11 +++++++ .../skins/default/xui/en/panel_place_profile.xml | 33 +++++++++++++++++++++ .../skins/default/xui/en/panel_topinfo_bar.xml | 10 +++++++ indra/newview/skins/default/xui/en/strings.xml | 1 + .../default/xui/en/widgets/location_input.xml | 9 ++++++ .../minimal/xui/en/widgets/location_input.xml | 9 ++++++ 15 files changed, 134 insertions(+), 14 deletions(-) create mode 100644 indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png create mode 100644 indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png (limited to 'indra') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 5c65dcec34..c68d1bb845 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -190,6 +190,7 @@ LLLocationInputCtrl::Params::Params() scripts_icon("scripts_icon"), damage_icon("damage_icon"), damage_text("damage_text"), + privacy_icon("privacy_icon"), maturity_help_topic("maturity_help_topic") { } @@ -342,6 +343,13 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) mDamageText = LLUICtrlFactory::create(damage_text); addChild(mDamageText); + LLIconCtrl::Params privacy_icon = p.privacy_icon; + privacy_icon.tool_tip = LLTrans::getString("LocationCtrlPrivacyTooltip"); + privacy_icon.mouse_opaque = true; + mParcelIcon[PRIVACY_ICON] = LLUICtrlFactory::create(privacy_icon); + mParcelIcon[PRIVACY_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, PRIVACY_ICON)); + addChild(mParcelIcon[PRIVACY_ICON]); + // Register callbacks and load the location field context menu (NB: the order matters). LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Navbar.Action", boost::bind(&LLLocationInputCtrl::onLocationContextMenuItemClicked, this, _2)); LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Navbar.EnableMenuItem", boost::bind(&LLLocationInputCtrl::onLocationContextMenuItemEnabled, this, _2)); @@ -810,6 +818,7 @@ void LLLocationInputCtrl::refreshParcelIcons() bool allow_build = vpm->allowAgentBuild(current_parcel); // true when anyone is allowed to build. See EXT-4610. bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); + bool privacy = current_parcel->getPrivacy(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -819,6 +828,7 @@ void LLLocationInputCtrl::refreshParcelIcons() mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); mDamageText->setVisible(allow_damage); + mParcelIcon[PRIVACY_ICON]->setVisible( privacy ); // Padding goes to left of both landmark star and for sale btn x -= mAddLandmarkHPad; @@ -1175,6 +1185,9 @@ void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon) case DAMAGE_ICON: LLNotificationsUtil::add("NotSafe"); break; + case PRIVACY_ICON: + LLNotificationsUtil::add("PrivateParcel"); + break; case ICON_COUNT: break; // no default to get compiler warning when a new icon gets added diff --git a/indra/newview/lllocationinputctrl.h b/indra/newview/lllocationinputctrl.h index 6368bf5cf2..ee4e55e829 100644 --- a/indra/newview/lllocationinputctrl.h +++ b/indra/newview/lllocationinputctrl.h @@ -77,7 +77,8 @@ public: push_icon, build_icon, scripts_icon, - damage_icon; + damage_icon, + privacy_icon; Optional damage_text; Params(); }; @@ -109,12 +110,13 @@ private: enum EParcelIcon { VOICE_ICON = 0, - FLY_ICON, - PUSH_ICON, - BUILD_ICON, - SCRIPTS_ICON, - DAMAGE_ICON, - ICON_COUNT + FLY_ICON, // 1 + PUSH_ICON, // 2 + BUILD_ICON, // 3 + SCRIPTS_ICON, // 4 + DAMAGE_ICON, // 5 + PRIVACY_ICON, // 6 + ICON_COUNT // 7 total }; friend class LLUICtrlFactory; diff --git a/indra/newview/llpanelplaceprofile.cpp b/indra/newview/llpanelplaceprofile.cpp index 68ecb0165c..da6a9fbbc6 100644 --- a/indra/newview/llpanelplaceprofile.cpp +++ b/indra/newview/llpanelplaceprofile.cpp @@ -70,6 +70,8 @@ static std::string icon_scripts; static std::string icon_scripts_no; static std::string icon_damage; static std::string icon_damage_no; +static std::string icon_privacy_on; +static std::string icon_privacy_off; LLPanelPlaceProfile::LLPanelPlaceProfile() : LLPanelPlaceInfo(), @@ -114,6 +116,8 @@ BOOL LLPanelPlaceProfile::postBuild() mScriptsText = getChild("scripts_value"); mDamageIcon = getChild("damage_icon"); mDamageText = getChild("damage_value"); + mPrivacyIcon = getChild("privacy_icon"); + mPrivacyText = getChild("privacy_value"); mRegionNameText = getChild("region_name"); mRegionTypeText = getChild("region_type"); @@ -153,6 +157,8 @@ BOOL LLPanelPlaceProfile::postBuild() icon_scripts_no = getString("icon_ScriptsNo"); icon_damage = getString("icon_Damage"); icon_damage_no = getString("icon_DamageNo"); + icon_privacy_on = getString("icon_PrivacyOn"); + icon_privacy_off = getString("icon_PrivacyOff"); return TRUE; } @@ -182,6 +188,8 @@ void LLPanelPlaceProfile::resetLocation() mScriptsText->setText(loading); mDamageIcon->setValue(loading); mDamageText->setText(loading); + mPrivacyIcon->setValue(loading); + mPrivacyText->setText(loading); mRegionNameText->setValue(loading); mRegionTypeText->setValue(loading); @@ -414,6 +422,17 @@ void LLPanelPlaceProfile::displaySelectedParcelInfo(LLParcel* parcel, mDamageText->setText(off); } + if (parcel->getPrivacy()) + { + mPrivacyIcon->setValue(icon_privacy_on); + mPrivacyText->setText(on); + } + else + { + mPrivacyIcon->setValue(icon_privacy_off); + mPrivacyText->setText(off); + } + mRegionNameText->setText(region->getName()); mRegionTypeText->setText(region->getSimProductName()); diff --git a/indra/newview/llpanelplaceprofile.h b/indra/newview/llpanelplaceprofile.h index f28b3b3832..b20107dc4b 100644 --- a/indra/newview/llpanelplaceprofile.h +++ b/indra/newview/llpanelplaceprofile.h @@ -91,6 +91,8 @@ private: LLTextBox* mScriptsText; LLIconCtrl* mDamageIcon; LLTextBox* mDamageText; + LLIconCtrl* mPrivacyIcon; + LLTextBox* mPrivacyText; LLTextBox* mRegionNameText; LLTextBox* mRegionTypeText; diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp index 30949f8f02..c2359b8b23 100644 --- a/indra/newview/llpaneltopinfobar.cpp +++ b/indra/newview/llpaneltopinfobar.cpp @@ -102,6 +102,7 @@ void LLPanelTopInfoBar::initParcelIcons() mParcelIcon[BUILD_ICON] = getChild("build_icon"); mParcelIcon[SCRIPTS_ICON] = getChild("scripts_icon"); mParcelIcon[DAMAGE_ICON] = getChild("damage_icon"); + mParcelIcon[PRIVACY_ICON] = getChild("privacy_icon"); mParcelIcon[VOICE_ICON]->setToolTip(LLTrans::getString("LocationCtrlVoiceTooltip")); mParcelIcon[FLY_ICON]->setToolTip(LLTrans::getString("LocationCtrlFlyTooltip")); @@ -109,6 +110,7 @@ void LLPanelTopInfoBar::initParcelIcons() mParcelIcon[BUILD_ICON]->setToolTip(LLTrans::getString("LocationCtrlBuildTooltip")); mParcelIcon[SCRIPTS_ICON]->setToolTip(LLTrans::getString("LocationCtrlScriptsTooltip")); mParcelIcon[DAMAGE_ICON]->setToolTip(LLTrans::getString("LocationCtrlDamageTooltip")); + mParcelIcon[PRIVACY_ICON]->setToolTip(LLTrans::getString("LocationCtrlPrivacyTooltip")); mParcelIcon[VOICE_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, VOICE_ICON)); mParcelIcon[FLY_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, FLY_ICON)); @@ -116,6 +118,7 @@ void LLPanelTopInfoBar::initParcelIcons() mParcelIcon[BUILD_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, BUILD_ICON)); mParcelIcon[SCRIPTS_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, SCRIPTS_ICON)); mParcelIcon[DAMAGE_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, DAMAGE_ICON)); + mParcelIcon[PRIVACY_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, PRIVACY_ICON)); mDamageText->setText(LLStringExplicit("100%")); } @@ -295,6 +298,7 @@ void LLPanelTopInfoBar::updateParcelIcons() bool allow_build = vpm->allowAgentBuild(current_parcel); // true when anyone is allowed to build. See EXT-4610. bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); + bool privacy = current_parcel->getPrivacy(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -304,6 +308,7 @@ void LLPanelTopInfoBar::updateParcelIcons() mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); mDamageText->setVisible(allow_damage); + mParcelIcon[PRIVACY_ICON]->setVisible( privacy ); layoutParcelIcons(); } @@ -409,6 +414,9 @@ void LLPanelTopInfoBar::onParcelIconClick(EParcelIcon icon) case DAMAGE_ICON: LLNotificationsUtil::add("NotSafe"); break; + case PRIVACY_ICON: + LLNotificationsUtil::add("PrivateParcel"); + break; case ICON_COUNT: break; // no default to get compiler warning when a new icon gets added diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h index db922ef424..f497ce9633 100644 --- a/indra/newview/llpaneltopinfobar.h +++ b/indra/newview/llpaneltopinfobar.h @@ -65,12 +65,13 @@ private: enum EParcelIcon { VOICE_ICON = 0, - FLY_ICON, - PUSH_ICON, - BUILD_ICON, - SCRIPTS_ICON, - DAMAGE_ICON, - ICON_COUNT + FLY_ICON, // 1 + PUSH_ICON, // 2 + BUILD_ICON, // 3 + SCRIPTS_ICON, // 4 + DAMAGE_ICON, // 5 + PRIVACY_ICON, // 6 + ICON_COUNT // 7 total }; /** diff --git a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png new file mode 100644 index 0000000000..5f9fba4447 Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png new file mode 100644 index 0000000000..ad93163a85 Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png differ diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 1ca48b01a8..93dab65bcd 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -1,4 +1,4 @@ - diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml index 37d60f1671..c818cdfaeb 100644 --- a/indra/newview/skins/default/xui/en/widgets/location_input.xml +++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml @@ -123,6 +123,15 @@ font="SansSerifSmall" text_color="TextFgColor" /> + + Date: Mon, 9 May 2011 11:00:54 -0700 Subject: Clean up parcel privacy icons and locations --- .../default/textures/icons/Parcel_PrivacyOff_Dark.png | Bin 787 -> 730 bytes .../default/textures/icons/Parcel_PrivacyOn_Dark.png | Bin 833 -> 814 bytes .../skins/default/xui/en/widgets/location_input.xml | 7 +++---- .../skins/minimal/xui/en/widgets/location_input.xml | 9 ++++----- 4 files changed, 7 insertions(+), 9 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png index 5f9fba4447..8b3376e514 100644 Binary files a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png index ad93163a85..4e474d7f5a 100644 Binary files a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png differ diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml index c818cdfaeb..5a60576b4a 100644 --- a/indra/newview/skins/default/xui/en/widgets/location_input.xml +++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml @@ -125,10 +125,9 @@ /> diff --git a/indra/newview/skins/minimal/xui/en/widgets/location_input.xml b/indra/newview/skins/minimal/xui/en/widgets/location_input.xml index 1292b43605..531e378425 100644 --- a/indra/newview/skins/minimal/xui/en/widgets/location_input.xml +++ b/indra/newview/skins/minimal/xui/en/widgets/location_input.xml @@ -115,12 +115,11 @@ /> Date: Fri, 13 May 2011 13:56:49 -0700 Subject: ER-898: Modify llGetParcelDetails() on viewer to support parcel privacy. Reviewed by Kelly. --- indra/llinventory/llparcelflags.h | 2 ++ indra/lscript/lscript_compile/indra.l | 2 ++ indra/newview/app_settings/keywords.ini | 1 + indra/newview/skins/default/xui/en/strings.xml | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/llinventory/llparcelflags.h b/indra/llinventory/llparcelflags.h index a61130132a..a3d131c7a2 100644 --- a/indra/llinventory/llparcelflags.h +++ b/indra/llinventory/llparcelflags.h @@ -126,5 +126,7 @@ const S32 PARCEL_DETAILS_DESC = 1; const S32 PARCEL_DETAILS_OWNER = 2; const S32 PARCEL_DETAILS_GROUP = 3; const S32 PARCEL_DETAILS_AREA = 4; +const S32 PARCEL_DETAILS_ID = 5; +const S32 PARCEL_DETAILS_PRIVACY = 6; #endif diff --git a/indra/lscript/lscript_compile/indra.l b/indra/lscript/lscript_compile/indra.l index 188c9e1950..ee31510efb 100644 --- a/indra/lscript/lscript_compile/indra.l +++ b/indra/lscript/lscript_compile/indra.l @@ -603,6 +603,8 @@ extern "C" { int yyerror(const char *fmt, ...); } "PARCEL_DETAILS_OWNER" { count(); yylval.ival = PARCEL_DETAILS_OWNER; return(INTEGER_CONSTANT); } "PARCEL_DETAILS_GROUP" { count(); yylval.ival = PARCEL_DETAILS_GROUP; return(INTEGER_CONSTANT); } "PARCEL_DETAILS_AREA" { count(); yylval.ival = PARCEL_DETAILS_AREA; return(INTEGER_CONSTANT); } +"PARCEL_DETAILS_ID" { count(); yylval.ival = PARCEL_DETAILS_ID; return(INTEGER_CONSTANT); } +"PARCEL_DETAILS_PRIVACY" { count(); yylval.ival = PARCEL_DETAILS_PRIVACY; return(INTEGER_CONSTANT); } "STRING_TRIM_HEAD" { count(); yylval.ival = STRING_TRIM_HEAD; return(INTEGER_CONSTANT); } "STRING_TRIM_TAIL" { count(); yylval.ival = STRING_TRIM_TAIL; return(INTEGER_CONSTANT); } diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini index 263b73ba23..6426d5c2a8 100644 --- a/indra/newview/app_settings/keywords.ini +++ b/indra/newview/app_settings/keywords.ini @@ -498,6 +498,7 @@ PARCEL_DETAILS_OWNER Used with llGetParcelDetails to get the parcel owner id. PARCEL_DETAILS_GROUP Used with llGetParcelDetails to get the parcel group id. PARCEL_DETAILS_AREA Used with llGetParcelDetails to get the parcel area in square meters. PARCEL_DETAILS_ID Used with llGetParcelDetails to get the parcel id. +PARCEL_DETAILS_PRIVACY Used with llGetParcelDetails to get the parcel privacy setting. STRING_TRIM_HEAD Used with llStringTrim to trim leading spaces from a string. STRING_TRIM_TAIL Used with llStringTrim to trim trailing spaces from a string. diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 6658d6f683..92a2296740 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -1683,7 +1683,7 @@ Returns the maximum number of prims allowed on the parcel at pos list llGetParcelDetails(vector pos, list params) Returns the parcel details specified in params for the parcel at pos. -Params is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA +Params is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _PRIVACY llSetLinkPrimitiveParams(integer linknumber, list rules) -- cgit v1.2.3 From 1a5b3b0a9091a72fd5e5fb395f7f0c97b0fd502c Mon Sep 17 00:00:00 2001 From: Dave SIMmONs Date: Tue, 24 May 2011 10:44:27 -0700 Subject: ER-914: Disable Parcel Privacy UI in viewer if on older sim --- indra/llinventory/llparcel.cpp | 4 ++++ indra/llinventory/llparcel.h | 4 +++- indra/newview/llfloaterland.cpp | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp index 7562bb8320..6236c0df6b 100644 --- a/indra/llinventory/llparcel.cpp +++ b/indra/llinventory/llparcel.cpp @@ -226,6 +226,9 @@ void LLParcel::init(const LLUUID &owner_id, setPreviousOwnerID(LLUUID::null); setPreviouslyGroupOwned(FALSE); + + setPrivacy(false); + setHavePrivacyData(false); } void LLParcel::overrideOwner(const LLUUID& owner_id, BOOL is_group_owned) @@ -728,6 +731,7 @@ void LLParcel::unpackMessage(LLMessageSystem* msg) msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_Privacy, private_parcel); } setPrivacy((bool) private_parcel); + setHavePrivacyData(have_privacy_data); // non-optimized version msg->getU8 ( "ParcelData", "MediaAutoScale", mMediaAutoScale ); diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h index 4d2236ec66..1b2f372888 100644 --- a/indra/llinventory/llparcel.h +++ b/indra/llinventory/llparcel.h @@ -272,6 +272,7 @@ public: void setUserLookAt(const LLVector3& rot) { mUserLookAt = rot; } void setLandingType(const ELandingType type) { mLandingType = type; } void setPrivacy(bool privacy) { mPrivacy = privacy; } + void setHavePrivacyData(bool have_privacy_data) { mHavePrivacyData = have_privacy_data; } // Remove this once parcel privacy is fully available grid-wide void setAuctionID(U32 auction_id) { mAuctionID = auction_id;} @@ -375,7 +376,7 @@ public: const LLVector3& getUserLookAt() const { return mUserLookAt; } ELandingType getLandingType() const { return mLandingType; } bool getPrivacy() const { return mPrivacy; } - + bool getHavePrivacyData() const { return mHavePrivacyData; } // User-specified snapshot const LLUUID& getSnapshotID() const { return mSnapshotID; } @@ -612,6 +613,7 @@ protected: LLVector3 mUserLookAt; ELandingType mLandingType; bool mPrivacy; + bool mHavePrivacyData; // Remove once parcel privacy is grid-wide LLTimer mSaleTimerExpires; LLTimer mMediaResetTimer; diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index d9d2c3d5a6..8de93a385f 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -2036,7 +2036,7 @@ void LLPanelLandOptions::refresh() mPrivateParcelCtrl->set(parcel->getPrivacy()); mPrivateParcelCtrl->setLabel(getString("private_parcel_text")); - mPrivateParcelCtrl->setEnabled(can_change_options); + mPrivateParcelCtrl->setEnabled(can_change_options && parcel->getHavePrivacyData()); BOOL can_change_landing_point = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_SET_LANDING_POINT); -- cgit v1.2.3 From 50393788693578a2fe3a934faa04b382d75f1657 Mon Sep 17 00:00:00 2001 From: Dave SIMmONs Date: Thu, 9 Jun 2011 13:46:19 -0700 Subject: ER-910: Parcel Privacy. Rename things in code to reflect feature name change to "hidden avatars" --- indra/llinventory/llparcel.cpp | 18 +++++++------- indra/llinventory/llparcel.h | 14 +++++------ indra/llinventory/llparcelflags.h | 2 +- indra/llmessage/message_prehash.cpp | 2 +- indra/llmessage/message_prehash.h | 2 +- indra/lscript/lscript_compile/indra.l | 2 +- indra/newview/app_settings/keywords.ini | 2 +- indra/newview/llfloaterland.cpp | 10 ++++---- indra/newview/lllocationinputctrl.cpp | 22 ++++++++--------- indra/newview/lllocationinputctrl.h | 4 ++-- indra/newview/llpanelplaceprofile.cpp | 26 ++++++++++----------- indra/newview/llpanelplaceprofile.h | 4 ++-- indra/newview/llpaneltopinfobar.cpp | 14 +++++------ indra/newview/llpaneltopinfobar.h | 2 +- .../textures/icons/Parcel_HiddenAVsOff_Dark.png | Bin 0 -> 730 bytes .../textures/icons/Parcel_HiddenAVsOn_Dark.png | Bin 0 -> 814 bytes .../textures/icons/Parcel_PrivacyOff_Dark.png | Bin 730 -> 0 bytes .../textures/icons/Parcel_PrivacyOn_Dark.png | Bin 814 -> 0 bytes indra/newview/skins/default/textures/textures.xml | 4 ++-- .../skins/default/xui/en/floater_about_land.xml | 4 ++-- .../newview/skins/default/xui/en/notifications.xml | 8 +++---- .../skins/default/xui/en/panel_place_profile.xml | 20 ++++++++-------- .../skins/default/xui/en/panel_topinfo_bar.xml | 4 ++-- indra/newview/skins/default/xui/en/strings.xml | 10 ++++---- .../default/xui/en/widgets/location_input.xml | 6 ++--- .../minimal/xui/en/widgets/location_input.xml | 4 ++-- 26 files changed, 91 insertions(+), 93 deletions(-) create mode 100644 indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOff_Dark.png create mode 100644 indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOn_Dark.png delete mode 100644 indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png delete mode 100644 indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png (limited to 'indra') diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp index c79d410ade..b388d34580 100644 --- a/indra/llinventory/llparcel.cpp +++ b/indra/llinventory/llparcel.cpp @@ -227,8 +227,8 @@ void LLParcel::init(const LLUUID &owner_id, setPreviousOwnerID(LLUUID::null); setPreviouslyGroupOwned(FALSE); - setPrivacy(false); - setHavePrivacyData(false); + setHiddenAVs(false); + setHaveHiddenAVsData(false); } void LLParcel::overrideOwner(const LLUUID& owner_id, BOOL is_group_owned) @@ -705,7 +705,7 @@ void LLParcel::packMessage(LLSD& msg) msg["user_location"] = ll_sd_from_vector3(mUserLocation); msg["user_look_at"] = ll_sd_from_vector3(mUserLookAt); msg["landing_type"] = (U8)mLandingType; - msg["privacy"] = (LLSD::Boolean) getPrivacy(); + msg["hidden_avs"] = (LLSD::Boolean) getHiddenAVs(); } @@ -724,14 +724,14 @@ void LLParcel::unpackMessage(LLMessageSystem* msg) msg->getStringFast( _PREHASH_ParcelData,_PREHASH_MediaURL, buffer ); setMediaURL(buffer); - BOOL private_parcel = FALSE; - bool have_privacy_data = (msg->getSizeFast(_PREHASH_ParcelData, _PREHASH_Privacy) > 0); - if (have_privacy_data) + BOOL hidden_avs = FALSE; + bool have_hidden_av_data = (msg->getSizeFast(_PREHASH_ParcelData, _PREHASH_HiddenAVs) > 0); + if (have_hidden_av_data) { - msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_Privacy, private_parcel); + msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_HiddenAVs, hidden_avs); } - setPrivacy((bool) private_parcel); - setHavePrivacyData(have_privacy_data); + setHiddenAVs((bool) hidden_avs); + setHaveHiddenAVsData(have_hidden_av_data); // non-optimized version msg->getU8 ( "ParcelData", "MediaAutoScale", mMediaAutoScale ); diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h index edf1e9d4fd..e785dba91b 100644 --- a/indra/llinventory/llparcel.h +++ b/indra/llinventory/llparcel.h @@ -75,7 +75,7 @@ const U8 PARCEL_AUCTION = 0x05; // unused 0x06 // unused 0x07 // flag, unused 0x08 -const U8 PARCEL_PRIVATE = 0x10; +const U8 PARCEL_HIDDENAVS = 0x10; // avatars not visible outside of parcel const U8 PARCEL_SOUND_LOCAL = 0x20; const U8 PARCEL_WEST_LINE = 0x40; // flag, property line on west edge const U8 PARCEL_SOUTH_LINE = 0x80; // flag, property line on south edge @@ -271,8 +271,8 @@ public: void setUserLocation(const LLVector3& pos) { mUserLocation = pos; } void setUserLookAt(const LLVector3& rot) { mUserLookAt = rot; } void setLandingType(const ELandingType type) { mLandingType = type; } - void setPrivacy(bool privacy) { mPrivacy = privacy; } - void setHavePrivacyData(bool have_privacy_data) { mHavePrivacyData = have_privacy_data; } // Remove this once parcel privacy is fully available grid-wide + void setHiddenAVs(bool hidden_avs) { mHiddenAVs = hidden_avs; } + void setHaveHiddenAVsData(bool have_hidden_av_data) { mHaveHiddenAVData = have_hidden_av_data; } // Remove this once hidden AV feature is fully available grid-wide void setAuctionID(U32 auction_id) { mAuctionID = auction_id;} @@ -375,8 +375,8 @@ public: const LLVector3& getUserLocation() const { return mUserLocation; } const LLVector3& getUserLookAt() const { return mUserLookAt; } ELandingType getLandingType() const { return mLandingType; } - bool getPrivacy() const { return mPrivacy; } - bool getHavePrivacyData() const { return mHavePrivacyData; } + bool getHiddenAVs() const { return mHiddenAVs; } + bool getHaveHiddenAVsData() const { return mHaveHiddenAVData; } // User-specified snapshot const LLUUID& getSnapshotID() const { return mSnapshotID; } @@ -616,8 +616,8 @@ protected: LLVector3 mUserLocation; LLVector3 mUserLookAt; ELandingType mLandingType; - bool mPrivacy; - bool mHavePrivacyData; // Remove once parcel privacy is grid-wide + bool mHiddenAVs; // Avatars are hidden on this parcel from outside it + bool mHaveHiddenAVData; // Remove once hidden AV feature is grid-wide LLTimer mSaleTimerExpires; LLTimer mMediaResetTimer; diff --git a/indra/llinventory/llparcelflags.h b/indra/llinventory/llparcelflags.h index a3d131c7a2..a85a6a51b3 100644 --- a/indra/llinventory/llparcelflags.h +++ b/indra/llinventory/llparcelflags.h @@ -127,6 +127,6 @@ const S32 PARCEL_DETAILS_OWNER = 2; const S32 PARCEL_DETAILS_GROUP = 3; const S32 PARCEL_DETAILS_AREA = 4; const S32 PARCEL_DETAILS_ID = 5; -const S32 PARCEL_DETAILS_PRIVACY = 6; +const S32 PARCEL_DETAILS_HIDDEN_AVS = 6; #endif diff --git a/indra/llmessage/message_prehash.cpp b/indra/llmessage/message_prehash.cpp index 020ece5414..1248436f16 100644 --- a/indra/llmessage/message_prehash.cpp +++ b/indra/llmessage/message_prehash.cpp @@ -1375,4 +1375,4 @@ char const* const _PREHASH_VCoord = LLMessageStringTable::getInstance()->getStri char const* const _PREHASH_FaceIndex = LLMessageStringTable::getInstance()->getString("FaceIndex"); char const* const _PREHASH_StatusData = LLMessageStringTable::getInstance()->getString("StatusData"); char const* const _PREHASH_ProductSKU = LLMessageStringTable::getInstance()->getString("ProductSKU"); -char const* const _PREHASH_Privacy = LLMessageStringTable::getInstance()->getString("Privacy"); +char const* const _PREHASH_HiddenAVs = LLMessageStringTable::getInstance()->getString("HiddenAVs"); diff --git a/indra/llmessage/message_prehash.h b/indra/llmessage/message_prehash.h index 32bf882d90..f871caa3df 100644 --- a/indra/llmessage/message_prehash.h +++ b/indra/llmessage/message_prehash.h @@ -1375,5 +1375,5 @@ extern char const* const _PREHASH_VCoord; extern char const* const _PREHASH_FaceIndex; extern char const* const _PREHASH_StatusData; extern char const* const _PREHASH_ProductSKU; -extern char const* const _PREHASH_Privacy; +extern char const* const _PREHASH_HiddenAVs; #endif diff --git a/indra/lscript/lscript_compile/indra.l b/indra/lscript/lscript_compile/indra.l index ee31510efb..78e31ead1a 100644 --- a/indra/lscript/lscript_compile/indra.l +++ b/indra/lscript/lscript_compile/indra.l @@ -604,7 +604,7 @@ extern "C" { int yyerror(const char *fmt, ...); } "PARCEL_DETAILS_GROUP" { count(); yylval.ival = PARCEL_DETAILS_GROUP; return(INTEGER_CONSTANT); } "PARCEL_DETAILS_AREA" { count(); yylval.ival = PARCEL_DETAILS_AREA; return(INTEGER_CONSTANT); } "PARCEL_DETAILS_ID" { count(); yylval.ival = PARCEL_DETAILS_ID; return(INTEGER_CONSTANT); } -"PARCEL_DETAILS_PRIVACY" { count(); yylval.ival = PARCEL_DETAILS_PRIVACY; return(INTEGER_CONSTANT); } +"PARCEL_DETAILS_HIDDEN_AVS" { count(); yylval.ival = PARCEL_DETAILS_HIDDEN_AVS; return(INTEGER_CONSTANT); } "STRING_TRIM_HEAD" { count(); yylval.ival = STRING_TRIM_HEAD; return(INTEGER_CONSTANT); } "STRING_TRIM_TAIL" { count(); yylval.ival = STRING_TRIM_TAIL; return(INTEGER_CONSTANT); } diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini index 6426d5c2a8..4e8f90d901 100644 --- a/indra/newview/app_settings/keywords.ini +++ b/indra/newview/app_settings/keywords.ini @@ -498,7 +498,7 @@ PARCEL_DETAILS_OWNER Used with llGetParcelDetails to get the parcel owner id. PARCEL_DETAILS_GROUP Used with llGetParcelDetails to get the parcel group id. PARCEL_DETAILS_AREA Used with llGetParcelDetails to get the parcel area in square meters. PARCEL_DETAILS_ID Used with llGetParcelDetails to get the parcel id. -PARCEL_DETAILS_PRIVACY Used with llGetParcelDetails to get the parcel privacy setting. +PARCEL_DETAILS_HIDDEN_AVS Used with llGetParcelDetails to get the hidden avatars setting. STRING_TRIM_HEAD Used with llStringTrim to trim leading spaces from a string. STRING_TRIM_TAIL Used with llStringTrim to trim trailing spaces from a string. diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 8de93a385f..0300867363 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -2034,9 +2034,9 @@ void LLPanelLandOptions::refresh() mPushRestrictionCtrl->setEnabled(can_change_options); } - mPrivateParcelCtrl->set(parcel->getPrivacy()); - mPrivateParcelCtrl->setLabel(getString("private_parcel_text")); - mPrivateParcelCtrl->setEnabled(can_change_options && parcel->getHavePrivacyData()); + mPrivateParcelCtrl->set(parcel->getHiddenAVs()); + mPrivateParcelCtrl->setLabel(getString("hidden_avs_text")); + mPrivateParcelCtrl->setEnabled(can_change_options && parcel->getHaveHiddenAVsData()); BOOL can_change_landing_point = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_SET_LANDING_POINT); @@ -2242,7 +2242,7 @@ void LLPanelLandOptions::onCommitAny(LLUICtrl *ctrl, void *userdata) BOOL allow_publish = FALSE; BOOL mature_publish = self->mMatureCtrl->get(); BOOL push_restriction = self->mPushRestrictionCtrl->get(); - BOOL private_parcel = self->mPrivateParcelCtrl->get(); + BOOL hidden_avs = self->mPrivateParcelCtrl->get(); BOOL show_directory = self->mCheckShowDirectory->get(); // we have to get the index from a lookup, not from the position in the dropdown! S32 category_index = LLParcel::getCategoryFromString(self->mCategoryCombo->getSelectedValue()); @@ -2276,7 +2276,7 @@ void LLPanelLandOptions::onCommitAny(LLUICtrl *ctrl, void *userdata) parcel->setCategory((LLParcel::ECategory)category_index); parcel->setLandingType((LLParcel::ELandingType)landing_type_index); parcel->setSnapshotID(snapshot_id); - parcel->setPrivacy(private_parcel); + parcel->setHiddenAVs(hidden_avs); // Send current parcel data upstream to server LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel ); diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index c68d1bb845..7a988e95b9 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -190,7 +190,7 @@ LLLocationInputCtrl::Params::Params() scripts_icon("scripts_icon"), damage_icon("damage_icon"), damage_text("damage_text"), - privacy_icon("privacy_icon"), + hidden_av_icon("hidden_av_icon"), maturity_help_topic("maturity_help_topic") { } @@ -343,12 +343,12 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) mDamageText = LLUICtrlFactory::create(damage_text); addChild(mDamageText); - LLIconCtrl::Params privacy_icon = p.privacy_icon; - privacy_icon.tool_tip = LLTrans::getString("LocationCtrlPrivacyTooltip"); - privacy_icon.mouse_opaque = true; - mParcelIcon[PRIVACY_ICON] = LLUICtrlFactory::create(privacy_icon); - mParcelIcon[PRIVACY_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, PRIVACY_ICON)); - addChild(mParcelIcon[PRIVACY_ICON]); + LLIconCtrl::Params hidden_av_icon = p.hidden_av_icon; + hidden_av_icon.tool_tip = LLTrans::getString("LocationCtrlHiddenAVsTooltip"); + hidden_av_icon.mouse_opaque = true; + mParcelIcon[HIDDEN_AV_ICON] = LLUICtrlFactory::create(hidden_av_icon); + mParcelIcon[HIDDEN_AV_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, HIDDEN_AV_ICON)); + addChild(mParcelIcon[HIDDEN_AV_ICON]); // Register callbacks and load the location field context menu (NB: the order matters). LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Navbar.Action", boost::bind(&LLLocationInputCtrl::onLocationContextMenuItemClicked, this, _2)); @@ -818,7 +818,7 @@ void LLLocationInputCtrl::refreshParcelIcons() bool allow_build = vpm->allowAgentBuild(current_parcel); // true when anyone is allowed to build. See EXT-4610. bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); - bool privacy = current_parcel->getPrivacy(); + bool hidden_avs = current_parcel->getHiddenAVs(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -828,7 +828,7 @@ void LLLocationInputCtrl::refreshParcelIcons() mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); mDamageText->setVisible(allow_damage); - mParcelIcon[PRIVACY_ICON]->setVisible( privacy ); + mParcelIcon[HIDDEN_AV_ICON]->setVisible( hidden_avs ); // Padding goes to left of both landmark star and for sale btn x -= mAddLandmarkHPad; @@ -1185,8 +1185,8 @@ void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon) case DAMAGE_ICON: LLNotificationsUtil::add("NotSafe"); break; - case PRIVACY_ICON: - LLNotificationsUtil::add("PrivateParcel"); + case HIDDEN_AV_ICON: + LLNotificationsUtil::add("HiddenAVs"); break; case ICON_COUNT: break; diff --git a/indra/newview/lllocationinputctrl.h b/indra/newview/lllocationinputctrl.h index ee4e55e829..ead20efcb6 100644 --- a/indra/newview/lllocationinputctrl.h +++ b/indra/newview/lllocationinputctrl.h @@ -78,7 +78,7 @@ public: build_icon, scripts_icon, damage_icon, - privacy_icon; + hidden_av_icon; Optional damage_text; Params(); }; @@ -115,7 +115,7 @@ private: BUILD_ICON, // 3 SCRIPTS_ICON, // 4 DAMAGE_ICON, // 5 - PRIVACY_ICON, // 6 + HIDDEN_AV_ICON, // 6 ICON_COUNT // 7 total }; diff --git a/indra/newview/llpanelplaceprofile.cpp b/indra/newview/llpanelplaceprofile.cpp index da6a9fbbc6..1500ac5429 100644 --- a/indra/newview/llpanelplaceprofile.cpp +++ b/indra/newview/llpanelplaceprofile.cpp @@ -70,8 +70,8 @@ static std::string icon_scripts; static std::string icon_scripts_no; static std::string icon_damage; static std::string icon_damage_no; -static std::string icon_privacy_on; -static std::string icon_privacy_off; +static std::string icon_hidden_avs_on; +static std::string icon_hidden_avs_off; LLPanelPlaceProfile::LLPanelPlaceProfile() : LLPanelPlaceInfo(), @@ -116,8 +116,8 @@ BOOL LLPanelPlaceProfile::postBuild() mScriptsText = getChild("scripts_value"); mDamageIcon = getChild("damage_icon"); mDamageText = getChild("damage_value"); - mPrivacyIcon = getChild("privacy_icon"); - mPrivacyText = getChild("privacy_value"); + mHiddenAVsIcon = getChild("hidden_av_icon"); + mHiddenAVsText = getChild("hidden_av_value"); mRegionNameText = getChild("region_name"); mRegionTypeText = getChild("region_type"); @@ -157,8 +157,8 @@ BOOL LLPanelPlaceProfile::postBuild() icon_scripts_no = getString("icon_ScriptsNo"); icon_damage = getString("icon_Damage"); icon_damage_no = getString("icon_DamageNo"); - icon_privacy_on = getString("icon_PrivacyOn"); - icon_privacy_off = getString("icon_PrivacyOff"); + icon_hidden_avs_on = getString("icon_HiddenAVsOn"); + icon_hidden_avs_off = getString("icon_HiddenAVsOff"); return TRUE; } @@ -188,8 +188,8 @@ void LLPanelPlaceProfile::resetLocation() mScriptsText->setText(loading); mDamageIcon->setValue(loading); mDamageText->setText(loading); - mPrivacyIcon->setValue(loading); - mPrivacyText->setText(loading); + mHiddenAVsIcon->setValue(loading); + mHiddenAVsText->setText(loading); mRegionNameText->setValue(loading); mRegionTypeText->setValue(loading); @@ -422,15 +422,15 @@ void LLPanelPlaceProfile::displaySelectedParcelInfo(LLParcel* parcel, mDamageText->setText(off); } - if (parcel->getPrivacy()) + if (parcel->getHiddenAVs()) { - mPrivacyIcon->setValue(icon_privacy_on); - mPrivacyText->setText(on); + mHiddenAVsIcon->setValue(icon_hidden_avs_on); + mHiddenAVsText->setText(on); } else { - mPrivacyIcon->setValue(icon_privacy_off); - mPrivacyText->setText(off); + mHiddenAVsIcon->setValue(icon_hidden_avs_off); + mHiddenAVsText->setText(off); } mRegionNameText->setText(region->getName()); diff --git a/indra/newview/llpanelplaceprofile.h b/indra/newview/llpanelplaceprofile.h index b20107dc4b..6550dae06b 100644 --- a/indra/newview/llpanelplaceprofile.h +++ b/indra/newview/llpanelplaceprofile.h @@ -91,8 +91,8 @@ private: LLTextBox* mScriptsText; LLIconCtrl* mDamageIcon; LLTextBox* mDamageText; - LLIconCtrl* mPrivacyIcon; - LLTextBox* mPrivacyText; + LLIconCtrl* mHiddenAVsIcon; + LLTextBox* mHiddenAVsText; LLTextBox* mRegionNameText; LLTextBox* mRegionTypeText; diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp index c2359b8b23..d1d7c3e4b9 100644 --- a/indra/newview/llpaneltopinfobar.cpp +++ b/indra/newview/llpaneltopinfobar.cpp @@ -102,7 +102,7 @@ void LLPanelTopInfoBar::initParcelIcons() mParcelIcon[BUILD_ICON] = getChild("build_icon"); mParcelIcon[SCRIPTS_ICON] = getChild("scripts_icon"); mParcelIcon[DAMAGE_ICON] = getChild("damage_icon"); - mParcelIcon[PRIVACY_ICON] = getChild("privacy_icon"); + mParcelIcon[HIDDEN_AV_ICON] = getChild("hidden_av_icon"); mParcelIcon[VOICE_ICON]->setToolTip(LLTrans::getString("LocationCtrlVoiceTooltip")); mParcelIcon[FLY_ICON]->setToolTip(LLTrans::getString("LocationCtrlFlyTooltip")); @@ -110,7 +110,7 @@ void LLPanelTopInfoBar::initParcelIcons() mParcelIcon[BUILD_ICON]->setToolTip(LLTrans::getString("LocationCtrlBuildTooltip")); mParcelIcon[SCRIPTS_ICON]->setToolTip(LLTrans::getString("LocationCtrlScriptsTooltip")); mParcelIcon[DAMAGE_ICON]->setToolTip(LLTrans::getString("LocationCtrlDamageTooltip")); - mParcelIcon[PRIVACY_ICON]->setToolTip(LLTrans::getString("LocationCtrlPrivacyTooltip")); + mParcelIcon[HIDDEN_AV_ICON]->setToolTip(LLTrans::getString("LocationCtrlHiddenAVsTooltip")); mParcelIcon[VOICE_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, VOICE_ICON)); mParcelIcon[FLY_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, FLY_ICON)); @@ -118,7 +118,7 @@ void LLPanelTopInfoBar::initParcelIcons() mParcelIcon[BUILD_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, BUILD_ICON)); mParcelIcon[SCRIPTS_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, SCRIPTS_ICON)); mParcelIcon[DAMAGE_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, DAMAGE_ICON)); - mParcelIcon[PRIVACY_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, PRIVACY_ICON)); + mParcelIcon[HIDDEN_AV_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, HIDDEN_AV_ICON)); mDamageText->setText(LLStringExplicit("100%")); } @@ -298,7 +298,7 @@ void LLPanelTopInfoBar::updateParcelIcons() bool allow_build = vpm->allowAgentBuild(current_parcel); // true when anyone is allowed to build. See EXT-4610. bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); - bool privacy = current_parcel->getPrivacy(); + bool hidden_avs = current_parcel->getHiddenAVs(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -308,7 +308,7 @@ void LLPanelTopInfoBar::updateParcelIcons() mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); mDamageText->setVisible(allow_damage); - mParcelIcon[PRIVACY_ICON]->setVisible( privacy ); + mParcelIcon[HIDDEN_AV_ICON]->setVisible( hidden_avs ); layoutParcelIcons(); } @@ -414,8 +414,8 @@ void LLPanelTopInfoBar::onParcelIconClick(EParcelIcon icon) case DAMAGE_ICON: LLNotificationsUtil::add("NotSafe"); break; - case PRIVACY_ICON: - LLNotificationsUtil::add("PrivateParcel"); + case HIDDEN_AV_ICON: + LLNotificationsUtil::add("HiddenAVs"); break; case ICON_COUNT: break; diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h index f497ce9633..ffbd53fe29 100644 --- a/indra/newview/llpaneltopinfobar.h +++ b/indra/newview/llpaneltopinfobar.h @@ -70,7 +70,7 @@ private: BUILD_ICON, // 3 SCRIPTS_ICON, // 4 DAMAGE_ICON, // 5 - PRIVACY_ICON, // 6 + HIDDEN_AV_ICON, // 6 ICON_COUNT // 7 total }; diff --git a/indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOff_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOff_Dark.png new file mode 100644 index 0000000000..8b3376e514 Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOff_Dark.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOn_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOn_Dark.png new file mode 100644 index 0000000000..4e474d7f5a Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOn_Dark.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png deleted file mode 100644 index 8b3376e514..0000000000 Binary files a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOff_Dark.png and /dev/null differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png deleted file mode 100644 index 4e474d7f5a..0000000000 Binary files a/indra/newview/skins/default/textures/icons/Parcel_PrivacyOn_Dark.png and /dev/null differ diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index cb20cf3740..e8fe3cd82f 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -369,8 +369,8 @@ with the same filename but different name - - + + diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index d2567e8197..4ad42ea5bf 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1205,8 +1205,8 @@ Only large parcels can be listed in search. No Pushing (Region Override) - Private Parcel + name="hidden_avs_text"> + Hidden Avatars -This is a private parcel. You can't see -others outside the parcel, and those -outside are not able to see you. +This parcel hides avatars from view from another parcel. You can't see others outside the parcel, and those outside are not able to see you. + value="Parcel_HiddenAVsOff_Dark" /> + value="Parcel_HiddenAVsOn_Dark" />