Skip to content
Snippets Groups Projects
Commit 4e23f4b7 authored by Vadim ProductEngine's avatar Vadim ProductEngine
Browse files

STORM-1405 WIP Localized the "No Device" and "Default System Device" strings...

STORM-1405 WIP Localized the "No Device" and "Default System Device" strings in the sound devices panel.

By the way, fixed improper localization of the "Default" device name
which caused saving a localized string in settings.
parent c7158f3b
No related branches found
No related tags found
No related merge requests found
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
static LLRegisterPanelClassWrapper<LLPanelVoiceDeviceSettings> t_panel_group_general("panel_voice_device_settings"); static LLRegisterPanelClassWrapper<LLPanelVoiceDeviceSettings> t_panel_group_general("panel_voice_device_settings");
static const std::string DEFAULT_DEVICE("Default");
LLPanelVoiceDeviceSettings::LLPanelVoiceDeviceSettings() LLPanelVoiceDeviceSettings::LLPanelVoiceDeviceSettings()
...@@ -75,6 +76,10 @@ BOOL LLPanelVoiceDeviceSettings::postBuild() ...@@ -75,6 +76,10 @@ BOOL LLPanelVoiceDeviceSettings::postBuild()
boost::bind(&LLPanelVoiceDeviceSettings::onCommitInputDevice, this)); boost::bind(&LLPanelVoiceDeviceSettings::onCommitInputDevice, this));
mCtrlOutputDevices->setCommitCallback( mCtrlOutputDevices->setCommitCallback(
boost::bind(&LLPanelVoiceDeviceSettings::onCommitOutputDevice, this)); boost::bind(&LLPanelVoiceDeviceSettings::onCommitOutputDevice, this));
mLocalizedDeviceNames[DEFAULT_DEVICE] = getString("default_text");
mLocalizedDeviceNames["No Device"] = getString("name_no_device");
mLocalizedDeviceNames["Default System Device"] = getString("name_default_system_device");
return TRUE; return TRUE;
} }
...@@ -141,14 +146,14 @@ void LLPanelVoiceDeviceSettings::apply() ...@@ -141,14 +146,14 @@ void LLPanelVoiceDeviceSettings::apply()
std::string s; std::string s;
if(mCtrlInputDevices) if(mCtrlInputDevices)
{ {
s = mCtrlInputDevices->getSimple(); s = mCtrlInputDevices->getValue().asString();
gSavedSettings.setString("VoiceInputAudioDevice", s); gSavedSettings.setString("VoiceInputAudioDevice", s);
mInputDevice = s; mInputDevice = s;
} }
if(mCtrlOutputDevices) if(mCtrlOutputDevices)
{ {
s = mCtrlOutputDevices->getSimple(); s = mCtrlOutputDevices->getValue().asString();
gSavedSettings.setString("VoiceOutputAudioDevice", s); gSavedSettings.setString("VoiceOutputAudioDevice", s);
mOutputDevice = s; mOutputDevice = s;
} }
...@@ -169,10 +174,10 @@ void LLPanelVoiceDeviceSettings::cancel() ...@@ -169,10 +174,10 @@ void LLPanelVoiceDeviceSettings::cancel()
gSavedSettings.setString("VoiceOutputAudioDevice", mOutputDevice); gSavedSettings.setString("VoiceOutputAudioDevice", mOutputDevice);
if(mCtrlInputDevices) if(mCtrlInputDevices)
mCtrlInputDevices->setSimple(mInputDevice); mCtrlInputDevices->setValue(mInputDevice);
if(mCtrlOutputDevices) if(mCtrlOutputDevices)
mCtrlOutputDevices->setSimple(mOutputDevice); mCtrlOutputDevices->setValue(mOutputDevice);
gSavedSettings.setF32("AudioLevelMic", mMicVolume); gSavedSettings.setF32("AudioLevelMic", mMicVolume);
LLSlider* volume_slider = getChild<LLSlider>("mic_volume_slider"); LLSlider* volume_slider = getChild<LLSlider>("mic_volume_slider");
...@@ -212,14 +217,14 @@ void LLPanelVoiceDeviceSettings::refresh() ...@@ -212,14 +217,14 @@ void LLPanelVoiceDeviceSettings::refresh()
if(mCtrlInputDevices) if(mCtrlInputDevices)
{ {
mCtrlInputDevices->removeall(); mCtrlInputDevices->removeall();
mCtrlInputDevices->add( mInputDevice, ADD_BOTTOM ); mCtrlInputDevices->add(getLocalizedDeviceName(mInputDevice), mInputDevice, ADD_BOTTOM);
mCtrlInputDevices->setSimple(mInputDevice); mCtrlInputDevices->setValue(mInputDevice);
} }
if(mCtrlOutputDevices) if(mCtrlOutputDevices)
{ {
mCtrlOutputDevices->removeall(); mCtrlOutputDevices->removeall();
mCtrlOutputDevices->add( mOutputDevice, ADD_BOTTOM ); mCtrlOutputDevices->add(getLocalizedDeviceName(mOutputDevice), mOutputDevice, ADD_BOTTOM);
mCtrlOutputDevices->setSimple(mOutputDevice); mCtrlOutputDevices->setValue(mOutputDevice);
} }
mDevicesUpdated = FALSE; mDevicesUpdated = FALSE;
} }
...@@ -230,35 +235,41 @@ void LLPanelVoiceDeviceSettings::refresh() ...@@ -230,35 +235,41 @@ void LLPanelVoiceDeviceSettings::refresh()
if(mCtrlInputDevices) if(mCtrlInputDevices)
{ {
mCtrlInputDevices->removeall(); mCtrlInputDevices->removeall();
mCtrlInputDevices->add( getString("default_text"), ADD_BOTTOM ); mCtrlInputDevices->add(getLocalizedDeviceName(DEFAULT_DEVICE), DEFAULT_DEVICE, ADD_BOTTOM);
for(iter=LLVoiceClient::getInstance()->getCaptureDevices().begin(); for(iter=LLVoiceClient::getInstance()->getCaptureDevices().begin();
iter != LLVoiceClient::getInstance()->getCaptureDevices().end(); iter != LLVoiceClient::getInstance()->getCaptureDevices().end();
iter++) iter++)
{ {
mCtrlInputDevices->add( *iter, ADD_BOTTOM ); mCtrlInputDevices->add(getLocalizedDeviceName(*iter), *iter, ADD_BOTTOM);
} }
if(!mCtrlInputDevices->setSimple(mInputDevice)) // Fix invalid input audio device preference.
if (!mCtrlInputDevices->setSelectedByValue(mInputDevice, TRUE))
{ {
mCtrlInputDevices->setSimple(getString("default_text")); mCtrlInputDevices->setValue(DEFAULT_DEVICE);
gSavedSettings.setString("VoiceInputAudioDevice", DEFAULT_DEVICE);
mInputDevice = DEFAULT_DEVICE;
} }
} }
if(mCtrlOutputDevices) if(mCtrlOutputDevices)
{ {
mCtrlOutputDevices->removeall(); mCtrlOutputDevices->removeall();
mCtrlOutputDevices->add( getString("default_text"), ADD_BOTTOM ); mCtrlOutputDevices->add(getLocalizedDeviceName(DEFAULT_DEVICE), DEFAULT_DEVICE, ADD_BOTTOM);
for(iter= LLVoiceClient::getInstance()->getRenderDevices().begin(); for(iter= LLVoiceClient::getInstance()->getRenderDevices().begin();
iter != LLVoiceClient::getInstance()->getRenderDevices().end(); iter++) iter != LLVoiceClient::getInstance()->getRenderDevices().end(); iter++)
{ {
mCtrlOutputDevices->add( *iter, ADD_BOTTOM ); mCtrlOutputDevices->add(getLocalizedDeviceName(*iter), *iter, ADD_BOTTOM);
} }
if(!mCtrlOutputDevices->setSimple(mOutputDevice)) // Fix invalid output audio device preference.
if (!mCtrlOutputDevices->setSelectedByValue(mOutputDevice, TRUE))
{ {
mCtrlOutputDevices->setSimple(getString("default_text")); mCtrlOutputDevices->setValue(DEFAULT_DEVICE);
gSavedSettings.setString("VoiceOutputAudioDevice", DEFAULT_DEVICE);
mOutputDevice = DEFAULT_DEVICE;
} }
} }
mDevicesUpdated = TRUE; mDevicesUpdated = TRUE;
...@@ -292,6 +303,13 @@ void LLPanelVoiceDeviceSettings::cleanup() ...@@ -292,6 +303,13 @@ void LLPanelVoiceDeviceSettings::cleanup()
} }
} }
// returns English name if no translation found
std::string LLPanelVoiceDeviceSettings::getLocalizedDeviceName(const std::string& en_dev_name)
{
std::map<std::string, std::string>::const_iterator it = mLocalizedDeviceNames.find(en_dev_name);
return it != mLocalizedDeviceNames.end() ? it->second : en_dev_name;
}
void LLPanelVoiceDeviceSettings::onCommitInputDevice() void LLPanelVoiceDeviceSettings::onCommitInputDevice()
{ {
if(LLVoiceClient::getInstance()) if(LLVoiceClient::getInstance())
......
...@@ -49,6 +49,8 @@ class LLPanelVoiceDeviceSettings : public LLPanel ...@@ -49,6 +49,8 @@ class LLPanelVoiceDeviceSettings : public LLPanel
void setUseTuningMode(bool use) { mUseTuningMode = use; }; void setUseTuningMode(bool use) { mUseTuningMode = use; };
protected: protected:
std::string getLocalizedDeviceName(const std::string& en_dev_name);
void onCommitInputDevice(); void onCommitInputDevice();
void onCommitOutputDevice(); void onCommitOutputDevice();
...@@ -59,6 +61,7 @@ class LLPanelVoiceDeviceSettings : public LLPanel ...@@ -59,6 +61,7 @@ class LLPanelVoiceDeviceSettings : public LLPanel
class LLComboBox *mCtrlOutputDevices; class LLComboBox *mCtrlOutputDevices;
BOOL mDevicesUpdated; BOOL mDevicesUpdated;
bool mUseTuningMode; bool mUseTuningMode;
std::map<std::string, std::string> mLocalizedDeviceNames;
}; };
#endif // LL_LLPANELVOICEDEVICESETTINGS_H #endif // LL_LLPANELVOICEDEVICESETTINGS_H
...@@ -11,6 +11,14 @@ ...@@ -11,6 +11,14 @@
name="default_text"> name="default_text">
Default Default
</panel.string> </panel.string>
<string
name="name_no_device">
No Device
</string>
<string
name="name_default_system_device">
Default System Device
</string>
<icon <icon
follows="left|top" follows="left|top"
height="18" height="18"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment