summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterpreference.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterpreference.cpp')
-rw-r--r--indra/newview/llfloaterpreference.cpp47
1 files changed, 37 insertions, 10 deletions
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 87ee7b8498..ef444c8ba4 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -326,6 +326,8 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
mCommitCallbackRegistrar.add("Pref.UpdateSliderText", boost::bind(&LLFloaterPreference::onUpdateSliderText,this, _1,_2));
mCommitCallbackRegistrar.add("Pref.AutoDetectAspect", boost::bind(&LLFloaterPreference::onCommitAutoDetectAspect, this));
mCommitCallbackRegistrar.add("Pref.ParcelMediaAutoPlayEnable", boost::bind(&LLFloaterPreference::onCommitParcelMediaAutoPlayEnable, this));
+ mCommitCallbackRegistrar.add("Pref.MediaEnabled", boost::bind(&LLFloaterPreference::onCommitMediaEnabled, this));
+ mCommitCallbackRegistrar.add("Pref.MusicEnabled", boost::bind(&LLFloaterPreference::onCommitMusicEnabled, this));
mCommitCallbackRegistrar.add("Pref.onSelectAspectRatio", boost::bind(&LLFloaterPreference::onKeystrokeAspectRatio, this));
mCommitCallbackRegistrar.add("Pref.QualityPerformance", boost::bind(&LLFloaterPreference::onChangeQuality, this, _2));
mCommitCallbackRegistrar.add("Pref.applyUIColor", boost::bind(&LLFloaterPreference::applyUIColor, this ,_1, _2));
@@ -994,16 +996,20 @@ void LLFloaterPreference::onCommitParcelMediaAutoPlayEnable()
gSavedSettings.setBOOL(LLViewerMedia::AUTO_PLAY_MEDIA_SETTING, autoplay);
lldebugs << "autoplay now = " << int(autoplay) << llendl;
+}
- if (autoplay)
- {
- // autoplay toggle has gone from FALSE to TRUE; ensure that
- // the media system is thus actually turned on too.
- gSavedSettings.setBOOL("AudioStreamingVideo", TRUE);
- gSavedSettings.setBOOL("AudioStreamingMusic", TRUE);
- gSavedSettings.setBOOL("AudioStreamingMedia", TRUE);
- llinfos << "autoplay turned on, turned all media subsystems on" << llendl;
- }
+void LLFloaterPreference::onCommitMediaEnabled()
+{
+ LLCheckBoxCtrl *media_enabled_ctrl = getChild<LLCheckBoxCtrl>("media_enabled");
+ bool enabled = media_enabled_ctrl->get();
+ gSavedSettings.setBOOL("AudioStreamingMedia", enabled);
+}
+
+void LLFloaterPreference::onCommitMusicEnabled()
+{
+ LLCheckBoxCtrl *music_enabled_ctrl = getChild<LLCheckBoxCtrl>("music_enabled");
+ bool enabled = music_enabled_ctrl->get();
+ gSavedSettings.setBOOL("AudioStreamingMusic", enabled);
}
void LLFloaterPreference::refresh()
@@ -1201,7 +1207,7 @@ void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im
childEnable("log_nearby_chat");
childEnable("log_instant_messages");
childEnable("show_timestamps_check_im");
- childEnable("log_path_string");
+ childDisable("log_path_string");// LineEditor becomes readonly in this case.
childEnable("log_path_button");
std::string display_email(email);
@@ -1420,6 +1426,19 @@ BOOL LLPanelPreference::postBuild()
refresh();
}
+ //////////////////////PanelPrivacy ///////////////////
+ if (hasChild("media_enabled"))
+ {
+ bool media_enabled = gSavedSettings.getBOOL("AudioStreamingMedia");
+ getChild<LLCheckBoxCtrl>("voice_call_friends_only_check")->setCommitCallback(boost::bind(&showFriendsOnlyWarning, _1, _2));
+ getChild<LLCheckBoxCtrl>("media_enabled")->set(media_enabled);
+ getChild<LLCheckBoxCtrl>("autoplay_enabled")->setEnabled(media_enabled);
+ }
+ if (hasChild("music_enabled"))
+ {
+ getChild<LLCheckBoxCtrl>("music_enabled")->set(gSavedSettings.getBOOL("AudioStreamingMusic"));
+ }
+
apply();
return true;
}
@@ -1468,6 +1487,14 @@ void LLPanelPreference::saveSettings()
}
}
+void LLPanelPreference::showFriendsOnlyWarning(LLUICtrl* checkbox, const LLSD& value)
+{
+ if (checkbox && checkbox->getValue())
+ {
+ LLNotificationsUtil::add("FriendsAndGroupsOnly");
+ }
+}
+
void LLPanelPreference::cancel()
{
for (control_values_map_t::iterator iter = mSavedValues.begin();