aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2007-02-13 19:55:20 +0000
committerEugene Sandulenko2007-02-13 19:55:20 +0000
commitd90fc8914cde2a7e359a01ade986f6a0cbca1c5d (patch)
treece7232066d4e13412a1e94f7b3941b81c3c16dab
parentd5b169d8a615791223fc336a39f424897311d521 (diff)
downloadscummvm-rg350-d90fc8914cde2a7e359a01ade986f6a0cbca1c5d.tar.gz
scummvm-rg350-d90fc8914cde2a7e359a01ade986f6a0cbca1c5d.tar.bz2
scummvm-rg350-d90fc8914cde2a7e359a01ade986f6a0cbca1c5d.zip
Implement FR#1600020: GUI: Select "No SoundFont"
svn-id: r25556
-rw-r--r--gui/options.cpp10
-rw-r--r--gui/options.h1
-rw-r--r--gui/theme-config.cpp3
-rw-r--r--gui/themes/modern.ini3
4 files changed, 15 insertions, 2 deletions
diff --git a/gui/options.cpp b/gui/options.cpp
index 9e6a28c034..aff32dbf4f 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -68,6 +68,7 @@ enum {
kSubtitleSpeedChanged = 'stsc',
kSpeechVolumeChanged = 'vcvc',
kChooseSoundFontCmd = 'chsf',
+ kClearSoundFontCmd = 'clsf',
kChooseSaveDirCmd = 'chos',
kChooseThemeDirCmd = 'chth',
kChooseExtraDirCmd = 'chex',
@@ -321,6 +322,8 @@ void OptionsDialog::close() {
String soundFont(_soundFont->getLabel());
if (!soundFont.empty() && (soundFont != "None"))
ConfMan.set("soundfont", soundFont, _domain);
+ else
+ ConfMan.removeKey("soundfont", _domain);
} else {
ConfMan.removeKey("multi_midi", _domain);
ConfMan.removeKey("native_mt32", _domain);
@@ -441,6 +444,7 @@ void OptionsDialog::setMIDISettingsState(bool enabled) {
_soundFontButton->setEnabled(enabled);
_soundFont->setEnabled(enabled);
+ _soundFontClearButton->setEnabled(enabled);
_multiMidiCheckbox->setEnabled(enabled);
_mt32Checkbox->setEnabled(enabled);
_enableGSCheckbox->setEnabled(enabled);
@@ -532,6 +536,7 @@ void OptionsDialog::addMIDIControls(GuiObject *boss, const String &prefix) {
// SoundFont
_soundFontButton = new ButtonWidget(boss, prefix + "mcFontButton", "SoundFont:", kChooseSoundFontCmd, 0);
_soundFont = new StaticTextWidget(boss, prefix + "mcFontPath", "None");
+ _soundFontClearButton = new ButtonWidget(boss, prefix + "mcFontClearButton", "C", kClearSoundFontCmd, 0);
// Multi midi setting
_multiMidiCheckbox = new CheckboxWidget(boss, prefix + "mcMixedCheckbox", "Mixed Adlib/MIDI mode", 0, 0);
@@ -804,6 +809,11 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3
}
break;
}
+ case kClearSoundFontCmd: {
+ _soundFont->setLabel("None");
+ draw();
+ break;
+ }
case kChooseThemeCmd: {
ThemeBrowser browser;
if (browser.runModal() > 0) {
diff --git a/gui/options.h b/gui/options.h
index 34ced65376..99dd50d368 100644
--- a/gui/options.h
+++ b/gui/options.h
@@ -62,6 +62,7 @@ protected:
ButtonWidget *_soundFontButton;
StaticTextWidget *_soundFont;
+ ButtonWidget *_soundFontClearButton;
void addGraphicControls(GuiObject *boss, const String &prefix);
void addAudioControls(GuiObject *boss, const String &prefix);
diff --git a/gui/theme-config.cpp b/gui/theme-config.cpp
index 253def8f60..524518a689 100644
--- a/gui/theme-config.cpp
+++ b/gui/theme-config.cpp
@@ -370,7 +370,8 @@ const char *Theme::_defaultConfigINI =
"[midiControls]\n"
"mcx=10\n"
"mcFontButton=mcx opYoffset buttonWidth buttonHeight\n"
-"mcFontPath=(prev.x2 + 20) (opYoffset + 3) (parent.w - (buttonWidth + 20) - 15) kLineHeight\n"
+"mcFontPath=(prev.x2 + 20) (opYoffset + 3) (parent.w - (buttonWidth + 20) - 15 - kLineHeight - 10) kLineHeight\n"
+"mcFontClearButton=(prev.x2 + 10) (opYoffset + 2) kLineHeight kLineHeight\n"
"opYoffset=(opYoffset + buttonHeight + 2 * midiControlsSpacing)\n"
"mcMixedCheckbox=mcx opYoffset (kFontHeight + 10 + 135) buttonHeight\n"
"opYoffset=(opYoffset + buttonHeight + midiControlsSpacing)\n"
diff --git a/gui/themes/modern.ini b/gui/themes/modern.ini
index 24b47c43e7..801994680b 100644
--- a/gui/themes/modern.ini
+++ b/gui/themes/modern.ini
@@ -489,7 +489,8 @@ opYoffset=(opYoffset + sliderHeight + 12)
mcx=(opXoffset + 10)
mcOff=((buttonHeight - kLineHeight) / 2 + 2)
mcFontButton=mcx opYoffset buttonWidth buttonHeight
-mcFontPath=(prev.x2 + 20) (opYoffset + mcOff) (parent.w - (buttonWidth + 20) - 10) kLineHeight
+mcFontPath=(prev.x2 + 20) (opYoffset + mcOff) (parent.w - (buttonWidth + 20) - 10 - kLineHeight - 20) kLineHeight
+mcFontClearButton=(prev.x2 + 10) (opYoffset + mcOff) kLineHeight kLineHeight
opYoffset=(opYoffset + buttonHeight + 6 * midiControlsSpacing)
mcMixedCheckbox=mcx opYoffset (kFontHeight + 10 + 135) buttonHeight
opYoffset=(opYoffset + buttonHeight + midiControlsSpacing)