diff options
-rw-r--r-- | gui/launcher.cpp | 6 | ||||
-rw-r--r-- | gui/options.cpp | 21 |
2 files changed, 24 insertions, 3 deletions
diff --git a/gui/launcher.cpp b/gui/launcher.cpp index 48148c13e6..19a8b3062f 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -392,6 +392,12 @@ void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat // User made this choice... FilesystemNode file(browser.getResult()); _soundFont->setLabel(file.path()); + + if (!file.path().empty() && (file.path() != "None")) + _soundFontClearButton->setEnabled(true); + else + _soundFontClearButton->setEnabled(false); + draw(); } break; diff --git a/gui/options.cpp b/gui/options.cpp index fb41c4bfcc..b05994c1ce 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -205,10 +205,13 @@ void OptionsDialog::open() { _enableGSCheckbox->setState(ConfMan.getBool("enable_gs", _domain)); String soundFont(ConfMan.get("soundfont", _domain)); - if (soundFont.empty() || !ConfMan.hasKey("soundfont", _domain)) + if (soundFont.empty() || !ConfMan.hasKey("soundfont", _domain)) { _soundFont->setLabel("None"); - else + _soundFontClearButton->setEnabled(false); + } else { _soundFont->setLabel(soundFont); + _soundFontClearButton->setEnabled(true); + } // MIDI gain setting char buf[10]; @@ -448,7 +451,12 @@ void OptionsDialog::setMIDISettingsState(bool enabled) { _soundFontButton->setEnabled(enabled); _soundFont->setEnabled(enabled); - _soundFontClearButton->setEnabled(enabled); + + if (enabled && !_soundFont->getLabel().empty() && (_soundFont->getLabel() != "None")) + _soundFontClearButton->setEnabled(enabled); + else + _soundFontClearButton->setEnabled(false); + _multiMidiCheckbox->setEnabled(enabled); _mt32Checkbox->setEnabled(enabled); _enableGSCheckbox->setEnabled(enabled); @@ -827,12 +835,19 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 // User made his choice... FilesystemNode file(browser.getResult()); _soundFont->setLabel(file.path()); + + if (!file.path().empty() && (file.path() != "None")) + _soundFontClearButton->setEnabled(true); + else + _soundFontClearButton->setEnabled(false); + draw(); } break; } case kClearSoundFontCmd: { _soundFont->setLabel("None"); + _soundFontClearButton->setEnabled(false); draw(); break; } |