diff options
author | Lynx Linden <lynx@lindenlab.com> | 2009-12-15 11:11:28 +0000 |
---|---|---|
committer | Lynx Linden <lynx@lindenlab.com> | 2009-12-15 11:11:28 +0000 |
commit | d82f82d7965ec9360cb49ec7e6c1c2f984d4539b (patch) | |
tree | 2b49bd470e0ae2390b04e51aa3070e2967dea42d /indra/newview/llfloatervoicedevicesettings.cpp | |
parent | 77aa787c019615d2fe68d31aa07434301535c992 (diff) |
EXT-3394: Reverting removal of prefs volume slider.
This change reverts the code parts of e038c0211968 that relate to the
sound preferences slider. Lis has already re-enabled the slider in the
panel_preferences_sound.xml XUI file.
So the overall change for EXT-3394 is now:
- remove the volume slider from the Voice Controls panel
- make 50 be the default volume level, not 62
Diffstat (limited to 'indra/newview/llfloatervoicedevicesettings.cpp')
-rw-r--r-- | indra/newview/llfloatervoicedevicesettings.cpp | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/indra/newview/llfloatervoicedevicesettings.cpp b/indra/newview/llfloatervoicedevicesettings.cpp index 3951f4291f..43024a4bd0 100644 --- a/indra/newview/llfloatervoicedevicesettings.cpp +++ b/indra/newview/llfloatervoicedevicesettings.cpp @@ -40,6 +40,7 @@ #include "llcombobox.h" #include "llfocusmgr.h" #include "lliconctrl.h" +#include "llsliderctrl.h" #include "llviewercontrol.h" #include "llvoiceclient.h" #include "llvoicechannel.h" @@ -60,6 +61,9 @@ LLPanelVoiceDeviceSettings::LLPanelVoiceDeviceSettings() mOutputDevice = gSavedSettings.getString("VoiceOutputAudioDevice"); mDevicesUpdated = FALSE; + // grab "live" mic volume level + mMicVolume = gSavedSettings.getF32("AudioLevelMic"); + // ask for new device enumeration // now do this in onOpen() instead... //gVoiceClient->refreshDeviceLists(); @@ -71,6 +75,10 @@ LLPanelVoiceDeviceSettings::~LLPanelVoiceDeviceSettings() BOOL LLPanelVoiceDeviceSettings::postBuild() { + LLSlider* volume_slider = getChild<LLSlider>("mic_volume_slider"); + // set mic volume tuning slider based on last mic volume setting + volume_slider->setValue(mMicVolume); + childSetCommitCallback("voice_input_device", onCommitInputDevice, this); childSetCommitCallback("voice_output_device", onCommitOutputDevice, this); @@ -149,6 +157,15 @@ void LLPanelVoiceDeviceSettings::apply() gSavedSettings.setString("VoiceOutputAudioDevice", s); mOutputDevice = s; } + + // assume we are being destroyed by closing our embedding window + LLSlider* volume_slider = getChild<LLSlider>("mic_volume_slider"); + if(volume_slider) + { + F32 slider_value = (F32)volume_slider->getValue().asReal(); + gSavedSettings.setF32("AudioLevelMic", slider_value); + mMicVolume = slider_value; + } } void LLPanelVoiceDeviceSettings::cancel() @@ -161,12 +178,22 @@ void LLPanelVoiceDeviceSettings::cancel() if(mCtrlOutputDevices) mCtrlOutputDevices->setSimple(mOutputDevice); + + gSavedSettings.setF32("AudioLevelMic", mMicVolume); + LLSlider* volume_slider = getChild<LLSlider>("mic_volume_slider"); + if(volume_slider) + { + volume_slider->setValue(mMicVolume); + } } void LLPanelVoiceDeviceSettings::refresh() { - // update the live input level display - gVoiceClient->tuningSetMicVolume(); + //grab current volume + LLSlider* volume_slider = getChild<LLSlider>("mic_volume_slider"); + // set mic volume tuning slider based on last mic volume setting + F32 current_volume = (F32)volume_slider->getValue().asReal(); + gVoiceClient->tuningSetMicVolume(current_volume); // Fill in popup menus mCtrlInputDevices = getChild<LLComboBox>("voice_input_device"); @@ -236,6 +263,7 @@ void LLPanelVoiceDeviceSettings::initialize() { mInputDevice = gSavedSettings.getString("VoiceInputAudioDevice"); mOutputDevice = gSavedSettings.getString("VoiceOutputAudioDevice"); + mMicVolume = gSavedSettings.getF32("AudioLevelMic"); mDevicesUpdated = FALSE; // ask for new device enumeration |