aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/launcher.cpp6
-rw-r--r--gui/options.cpp21
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;
}