[Scummvm-cvs-logs] SF.net SVN: scummvm:[43132] scummvm/branches/branch-1-0-0/gui/options.cpp

sev at users.sourceforge.net sev at users.sourceforge.net
Sat Aug 8 20:05:16 CEST 2009


Revision: 43132
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43132&view=rev
Author:   sev
Date:     2009-08-08 18:05:16 +0000 (Sat, 08 Aug 2009)

Log Message:
-----------
Backport implementation of FR#2821534: "GUI: Mute All disable volume sliders"

Modified Paths:
--------------
    scummvm/branches/branch-1-0-0/gui/options.cpp

Modified: scummvm/branches/branch-1-0-0/gui/options.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/gui/options.cpp	2009-08-08 18:01:44 UTC (rev 43131)
+++ scummvm/branches/branch-1-0-0/gui/options.cpp	2009-08-08 18:05:16 UTC (rev 43132)
@@ -48,6 +48,7 @@
 	kMidiGainChanged		= 'mgch',
 	kMusicVolumeChanged		= 'muvc',
 	kSfxVolumeChanged		= 'sfvc',
+	kMuteAllChanged			= 'mute',
 	kSubtitleToggle			= 'sttg',
 	kSubtitleSpeedChanged	= 'stsc',
 	kSpeechVolumeChanged	= 'vcvc',
@@ -454,6 +455,10 @@
 		_speechVolumeLabel->setValue(_speechVolumeSlider->getValue());
 		_speechVolumeLabel->draw();
 		break;
+	case kMuteAllChanged:
+		// 'true' because if control is disabled then event do not pass
+		setVolumeSettingsState(true);
+		break;
 	case kSubtitleToggle:
 		if (_subMode < 2)
 			_subMode++;
@@ -535,7 +540,7 @@
 
 	_enableVolumeSettings = enabled;
 
-	ena = enabled;
+	ena = enabled && !_muteCheckbox->getState();
 	if (_guioptions & Common::GUIO_NOMUSIC)
 		ena = false;
 
@@ -543,7 +548,7 @@
 	_musicVolumeSlider->setEnabled(ena);
 	_musicVolumeLabel->setEnabled(ena);
 
-	ena = enabled;
+	ena = enabled && !_muteCheckbox->getState();
 	if (_guioptions & Common::GUIO_NOSFX)
 		ena = false;
 
@@ -551,7 +556,7 @@
 	_sfxVolumeSlider->setEnabled(ena);
 	_sfxVolumeLabel->setEnabled(ena);
 
-	ena = enabled;
+	ena = enabled && !_muteCheckbox->getState();
 	if (_guioptions & Common::GUIO_NOSPEECH)
 		ena = false;
 
@@ -701,7 +706,7 @@
 	_musicVolumeSlider->setMaxValue(Audio::Mixer::kMaxMixerVolume);
 	_musicVolumeLabel->setFlags(WIDGET_CLEARBG);
 
-	_muteCheckbox = new CheckboxWidget(boss, prefix + "vcMuteCheckbox", "Mute All", 0, 0);
+	_muteCheckbox = new CheckboxWidget(boss, prefix + "vcMuteCheckbox", "Mute All", kMuteAllChanged, 0);
 
 
 	_sfxVolumeDesc = new StaticTextWidget(boss, prefix + "vcSfxText", "SFX volume:");


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list