summaryrefslogtreecommitdiff
path: root/indra/newview/llpanellandaudio.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2011-07-15 12:14:34 -0600
committerXiaohong Bao <bao@lindenlab.com>2011-07-15 12:14:34 -0600
commitd9512674678bbb80b8d0d9c5105f56dbd1b2252b (patch)
treec3c8d64c683cd46d9d1e5d953dc6caca22213db4 /indra/newview/llpanellandaudio.cpp
parentd31e6735370711088f01cff448aa22f71c4c10c4 (diff)
parent44c7c6feaa824f4049d326965cb066e76ebefee3 (diff)
Merge from viewer-development
Diffstat (limited to 'indra/newview/llpanellandaudio.cpp')
-rw-r--r--indra/newview/llpanellandaudio.cpp35
1 files changed, 21 insertions, 14 deletions
diff --git a/indra/newview/llpanellandaudio.cpp b/indra/newview/llpanellandaudio.cpp
index 5a943bc61d..e7bdc51b4a 100644
--- a/indra/newview/llpanellandaudio.cpp
+++ b/indra/newview/llpanellandaudio.cpp
@@ -91,8 +91,11 @@ BOOL LLPanelLandAudio::postBuild()
mMusicURLEdit = getChild<LLLineEditor>("music_url");
childSetCommitCallback("music_url", onCommitAny, this);
- mMusicUrlCheck = getChild<LLCheckBoxCtrl>("hide_music_url");
- childSetCommitCallback("hide_music_url", onCommitAny, this);
+ mCheckAVSoundAny = getChild<LLCheckBoxCtrl>("all av sound check");
+ childSetCommitCallback("all av sound check", onCommitAny, this);
+
+ mCheckAVSoundGroup = getChild<LLCheckBoxCtrl>("group av sound check");
+ childSetCommitCallback("group av sound check", onCommitAny, this);
return TRUE;
}
@@ -117,9 +120,6 @@ void LLPanelLandAudio::refresh()
mCheckSoundLocal->set( parcel->getSoundLocal() );
mCheckSoundLocal->setEnabled( can_change_media );
- mMusicUrlCheck->set( parcel->getObscureMusic() );
- mMusicUrlCheck->setEnabled( can_change_media );
-
bool allow_voice = parcel->getParcelFlagAllowVoice();
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
@@ -148,15 +148,15 @@ void LLPanelLandAudio::refresh()
mCheckParcelEnableVoice->set(allow_voice);
mCheckParcelVoiceLocal->set(!parcel->getParcelFlagUseEstateVoiceChannel());
- // don't display urls if you're not able to change it
- // much requested change in forums so people can't 'steal' urls
- // NOTE: bug#2009 means this is still vunerable - however, bug
- // should be closed since this bug opens up major security issues elsewhere.
- bool obscure_music = ! can_change_media && parcel->getObscureMusic();
-
- mMusicURLEdit->setDrawAsterixes(obscure_music);
mMusicURLEdit->setText(parcel->getMusicURL());
mMusicURLEdit->setEnabled( can_change_media );
+
+ BOOL can_change_av_sounds = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_OPTIONS) && parcel->getHaveNewParcelLimitData();
+ mCheckAVSoundAny->set(parcel->getAllowAnyAVSounds());
+ mCheckAVSoundAny->setEnabled(can_change_av_sounds);
+
+ mCheckAVSoundGroup->set(parcel->getAllowGroupAVSounds() || parcel->getAllowAnyAVSounds()); // On if "Everyone" is on
+ mCheckAVSoundGroup->setEnabled(can_change_av_sounds && !parcel->getAllowAnyAVSounds()); // Enabled if "Everyone" is off
}
}
// static
@@ -173,11 +173,17 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata)
// Extract data from UI
BOOL sound_local = self->mCheckSoundLocal->get();
std::string music_url = self->mMusicURLEdit->getText();
- U8 obscure_music = self->mMusicUrlCheck->get();
BOOL voice_enabled = self->mCheckParcelEnableVoice->get();
BOOL voice_estate_chan = !self->mCheckParcelVoiceLocal->get();
+ BOOL any_av_sound = self->mCheckAVSoundAny->get();
+ BOOL group_av_sound = TRUE; // If set to "Everyone" then group is checked as well
+ if (!any_av_sound)
+ { // If "Everyone" is off, use the value from the checkbox
+ group_av_sound = self->mCheckAVSoundGroup->get();
+ }
+
// Remove leading/trailing whitespace (common when copying/pasting)
LLStringUtil::trim(music_url);
@@ -186,7 +192,8 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata)
parcel->setParcelFlag(PF_USE_ESTATE_VOICE_CHAN, voice_estate_chan);
parcel->setParcelFlag(PF_SOUND_LOCAL, sound_local);
parcel->setMusicURL(music_url);
- parcel->setObscureMusic(obscure_music);
+ parcel->setAllowAnyAVSounds(any_av_sound);
+ parcel->setAllowGroupAVSounds(group_av_sound);
// Send current parcel data upstream to server
LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel );