Skip to content

Commit 6c5e313

Browse files
committed
CSettings: master checkbox toggles enabled state
1 parent 74a5523 commit 6c5e313

File tree

2 files changed

+72
-15
lines changed

2 files changed

+72
-15
lines changed

Client/core/CSettings.cpp

Lines changed: 67 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1187,6 +1187,11 @@ void CSettings::CreateGUI(void)
11871187
m_pAudioSFXVolume->SetOnScrollHandler(GUI_CALLBACK(&CSettings::OnSFXVolumeChanged, this));
11881188
m_pAudioMTAVolume->SetOnScrollHandler(GUI_CALLBACK(&CSettings::OnMTAVolumeChanged, this));
11891189
m_pAudioVoiceVolume->SetOnScrollHandler(GUI_CALLBACK(&CSettings::OnVoiceVolumeChanged, this));
1190+
m_pCheckBoxMuteMaster->SetClickHandler(GUI_CALLBACK(&CSettings::OnMasterMuteMinimizedChanged, this));
1191+
m_pCheckBoxMuteRadio->SetClickHandler(GUI_CALLBACK(&CSettings::OnRadioMuteMinimizedChanged, this));
1192+
m_pCheckBoxMuteSFX->SetClickHandler(GUI_CALLBACK(&CSettings::OnSFXMuteMinimizedChanged, this));
1193+
m_pCheckBoxMuteMTA->SetClickHandler(GUI_CALLBACK(&CSettings::OnMTAMuteMinimizedChanged, this));
1194+
m_pCheckBoxMuteVoice->SetClickHandler(GUI_CALLBACK(&CSettings::OnVoiceMuteMinimizedChanged, this));
11901195
m_pFieldOfView->SetOnScrollHandler(GUI_CALLBACK(&CSettings::OnFieldOfViewChanged, this));
11911196
m_pDrawDistance->SetOnScrollHandler(GUI_CALLBACK(&CSettings::OnDrawDistanceChanged, this));
11921197
m_pBrightness->SetOnScrollHandler(GUI_CALLBACK(&CSettings::OnBrightnessChanged, this));
@@ -1382,16 +1387,22 @@ void CSettings::UpdateAudioTab()
13821387
m_pCheckBoxUserAutoscan->SetSelected(gameSettings->IsUsertrackAutoScan());
13831388

13841389
CVARS_GET("mute_master_when_minimized", m_bMuteMaster);
1385-
CVARS_GET("mute_sfx_when_minimized", m_bMuteSFX);
13861390
CVARS_GET("mute_radio_when_minimized", m_bMuteRadio);
1391+
CVARS_GET("mute_sfx_when_minimized", m_bMuteSFX);
13871392
CVARS_GET("mute_mta_when_minimized", m_bMuteMTA);
13881393
CVARS_GET("mute_voice_when_minimized", m_bMuteVoice);
1394+
13891395
m_pCheckBoxMuteMaster->SetSelected(m_bMuteMaster);
1390-
m_pCheckBoxMuteSFX->SetSelected(m_bMuteSFX);
13911396
m_pCheckBoxMuteRadio->SetSelected(m_bMuteRadio);
1397+
m_pCheckBoxMuteSFX->SetSelected(m_bMuteSFX);
13921398
m_pCheckBoxMuteMTA->SetSelected(m_bMuteMTA);
13931399
m_pCheckBoxMuteVoice->SetSelected(m_bMuteVoice);
13941400

1401+
m_pCheckBoxMuteRadio->SetEnabled(!m_bMuteMaster);
1402+
m_pCheckBoxMuteSFX->SetEnabled(!m_bMuteMaster);
1403+
m_pCheckBoxMuteMTA->SetEnabled(!m_bMuteMaster);
1404+
m_pCheckBoxMuteVoice->SetEnabled(!m_bMuteMaster);
1405+
13951406
m_pComboUsertrackMode->SetSelectedItemByIndex(gameSettings->GetUsertrackMode());
13961407
}
13971408

@@ -2843,6 +2854,17 @@ bool CSettings::OnCancelButtonClick(CGUIElement* pElement)
28432854
CVARS_SET("mute_mta_when_minimized", m_bOldMuteMTA);
28442855
CVARS_SET("mute_voice_when_minimized", m_bOldMuteVoice);
28452856

2857+
m_pCheckBoxMuteMaster->SetSelected(m_bOldMuteMaster);
2858+
m_pCheckBoxMuteRadio->SetSelected(m_bOldMuteRadio);
2859+
m_pCheckBoxMuteSFX->SetSelected(m_bOldMuteSFX);
2860+
m_pCheckBoxMuteMTA->SetSelected(m_bOldMuteMTA);
2861+
m_pCheckBoxMuteVoice->SetSelected(m_bOldMuteVoice);
2862+
2863+
m_pCheckBoxMuteRadio->SetEnabled(!m_bOldMuteMaster);
2864+
m_pCheckBoxMuteSFX->SetEnabled(!m_bOldMuteMaster);
2865+
m_pCheckBoxMuteMTA->SetEnabled(!m_bOldMuteMaster);
2866+
m_pCheckBoxMuteVoice->SetEnabled(!m_bOldMuteMaster);
2867+
28462868
return true;
28472869
}
28482870

@@ -2895,16 +2917,22 @@ void CSettings::LoadData(void)
28952917
m_pCheckBoxUserAutoscan->SetSelected(gameSettings->IsUsertrackAutoScan());
28962918

28972919
CVARS_GET("mute_master_when_minimized", m_bOldMuteMaster);
2898-
CVARS_GET("mute_sfx_when_minimized", m_bOldMuteSFX);
28992920
CVARS_GET("mute_radio_when_minimized", m_bOldMuteRadio);
2921+
CVARS_GET("mute_sfx_when_minimized", m_bOldMuteSFX);
29002922
CVARS_GET("mute_mta_when_minimized", m_bOldMuteMTA);
29012923
CVARS_GET("mute_voice_when_minimized", m_bOldMuteVoice);
2924+
29022925
m_pCheckBoxMuteMaster->SetSelected(m_bOldMuteMaster);
2903-
m_pCheckBoxMuteSFX->SetSelected(m_bOldMuteSFX);
29042926
m_pCheckBoxMuteRadio->SetSelected(m_bOldMuteRadio);
2927+
m_pCheckBoxMuteSFX->SetSelected(m_bOldMuteSFX);
29052928
m_pCheckBoxMuteMTA->SetSelected(m_bOldMuteMTA);
29062929
m_pCheckBoxMuteVoice->SetSelected(m_bOldMuteVoice);
29072930

2931+
m_pCheckBoxMuteRadio->SetEnabled(!m_bOldMuteMaster);
2932+
m_pCheckBoxMuteSFX->SetEnabled(!m_bOldMuteMaster);
2933+
m_pCheckBoxMuteMTA->SetEnabled(!m_bOldMuteMaster);
2934+
m_pCheckBoxMuteVoice->SetEnabled(!m_bOldMuteMaster);
2935+
29082936
unsigned int uiUsertrackMode = gameSettings->GetUsertrackMode();
29092937
if (uiUsertrackMode == 0)
29102938
m_pComboUsertrackMode->SetText(_("Radio"));
@@ -3299,17 +3327,6 @@ void CSettings::SaveData(void)
32993327
gameSettings->SetRadioAutotuneEnabled(m_pCheckBoxAudioAutotune->GetSelected());
33003328
gameSettings->SetUsertrackAutoScan(m_pCheckBoxUserAutoscan->GetSelected());
33013329

3302-
m_bMuteMaster = m_pCheckBoxMuteMaster->GetSelected();
3303-
m_bMuteSFX = m_pCheckBoxMuteSFX->GetSelected();
3304-
m_bMuteRadio = m_pCheckBoxMuteRadio->GetSelected();
3305-
m_bMuteMTA = m_pCheckBoxMuteMTA->GetSelected();
3306-
m_bMuteVoice = m_pCheckBoxMuteVoice->GetSelected();
3307-
CVARS_SET("mute_master_when_minimized", m_bMuteMaster);
3308-
CVARS_SET("mute_sfx_when_minimized", m_bMuteSFX);
3309-
CVARS_SET("mute_radio_when_minimized", m_bMuteRadio);
3310-
CVARS_SET("mute_mta_when_minimized", m_bMuteMTA);
3311-
CVARS_SET("mute_voice_when_minimized", m_bMuteVoice);
3312-
33133330
if (CGUIListItem* pSelected = m_pComboUsertrackMode->GetSelectedItem())
33143331
{
33153332
gameSettings->SetUsertrackMode((int)pSelected->GetData());
@@ -4072,6 +4089,41 @@ bool CSettings::OnMTAVolumeChanged(CGUIElement* pElement)
40724089
return true;
40734090
}
40744091

4092+
bool CSettings::OnMasterMuteMinimizedChanged(CGUIElement* pElement)
4093+
{
4094+
bool bSelected = m_pCheckBoxMuteMaster->GetSelected();
4095+
m_pCheckBoxMuteRadio->SetEnabled(!bSelected);
4096+
m_pCheckBoxMuteSFX->SetEnabled(!bSelected);
4097+
m_pCheckBoxMuteMTA->SetEnabled(!bSelected);
4098+
m_pCheckBoxMuteVoice->SetEnabled(!bSelected);
4099+
CVARS_SET("mute_master_when_minimized", bSelected);
4100+
return true;
4101+
}
4102+
4103+
bool CSettings::OnRadioMuteMinimizedChanged(CGUIElement* pElement)
4104+
{
4105+
CVARS_SET("mute_radio_when_minimized", m_pCheckBoxMuteRadio->GetSelected());
4106+
return true;
4107+
}
4108+
4109+
bool CSettings::OnSFXMuteMinimizedChanged(CGUIElement* pElement)
4110+
{
4111+
CVARS_SET("mute_sfx_when_minimized", m_pCheckBoxMuteSFX->GetSelected());
4112+
return true;
4113+
}
4114+
4115+
bool CSettings::OnMTAMuteMinimizedChanged(CGUIElement* pElement)
4116+
{
4117+
CVARS_SET("mute_mta_when_minimized", m_pCheckBoxMuteMTA->GetSelected());
4118+
return true;
4119+
}
4120+
4121+
bool CSettings::OnVoiceMuteMinimizedChanged(CGUIElement* pElement)
4122+
{
4123+
CVARS_SET("mute_voice_when_minimized", m_pCheckBoxMuteVoice->GetSelected());
4124+
return true;
4125+
}
4126+
40754127
bool CSettings::OnVoiceVolumeChanged(CGUIElement* pElement)
40764128
{
40774129
int iVolume = m_pAudioVoiceVolume->GetScrollPosition() * 100.0f;

Client/core/CSettings.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,11 @@ class CSettings
347347
bool OnSFXVolumeChanged(CGUIElement* pElement);
348348
bool OnMTAVolumeChanged(CGUIElement* pElement);
349349
bool OnVoiceVolumeChanged(CGUIElement* pElement);
350+
bool OnMasterMuteMinimizedChanged(CGUIElement* pElement);
351+
bool OnRadioMuteMinimizedChanged(CGUIElement* pElement);
352+
bool OnSFXMuteMinimizedChanged(CGUIElement* pElement);
353+
bool OnMTAMuteMinimizedChanged(CGUIElement* pElement);
354+
bool OnVoiceMuteMinimizedChanged(CGUIElement* pElement);
350355
bool OnChatRedChanged(CGUIElement* pElement);
351356
bool OnChatGreenChanged(CGUIElement* pElement);
352357
bool OnChatBlueChanged(CGUIElement* pElement);

0 commit comments

Comments
 (0)