aboutsummaryrefslogtreecommitdiff
path: root/gui/launcher.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2010-07-24 22:29:17 +0000
committerEugene Sandulenko2010-07-24 22:29:17 +0000
commit7457011a87cb54c4d6b7cc6bc7b4719b1c9a2b99 (patch)
tree566aecb167303e1f0e6f2a94bbc0a6ae89221008 /gui/launcher.cpp
parentadf4195e0b47b2b80b612e4b96b9b42f9be45d1e (diff)
downloadscummvm-rg350-7457011a87cb54c4d6b7cc6bc7b4719b1c9a2b99.tar.gz
scummvm-rg350-7457011a87cb54c4d6b7cc6bc7b4719b1c9a2b99.tar.bz2
scummvm-rg350-7457011a87cb54c4d6b7cc6bc7b4719b1c9a2b99.zip
GUI: Fix bug #3027772 by adding MT-32 tab
Bug #3027772: "Can't switch between Text and Speech". The problem was in overcrowded Audio tab in any resolution with height < 480. Solved by adding new MT-32 tab and grouping all relevant widgets there. TODO: - The problem still exists for 320x200 resolution where Subtitle speed control is not accessible - Apparently nobody tested tab control scrolling after switching to new GUI, and now there are artifacts svn-id: r51265
Diffstat (limited to 'gui/launcher.cpp')
-rw-r--r--gui/launcher.cpp34
1 files changed, 27 insertions, 7 deletions
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 1daf9ffd50..d50e7ce578 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -72,6 +72,7 @@ enum {
kCmdGlobalGraphicsOverride = 'OGFX',
kCmdGlobalAudioOverride = 'OSFX',
kCmdGlobalMIDIOverride = 'OMID',
+ kCmdGlobalMT32Override = 'OM32',
kCmdGlobalVolumeOverride = 'OVOL',
kCmdChooseSoundFontCmd = 'chsf',
@@ -144,6 +145,7 @@ protected:
CheckboxWidget *_globalGraphicsOverride;
CheckboxWidget *_globalAudioOverride;
CheckboxWidget *_globalMIDIOverride;
+ CheckboxWidget *_globalMT32Override;
CheckboxWidget *_globalVolumeOverride;
};
@@ -199,7 +201,7 @@ EditGameDialog::EditGameDialog(const String &domain, const String &desc)
}
//
- // 3) The graphics tab
+ // 2) The graphics tab
//
_graphicsTabId = tab->addTab(g_system->getOverlayWidth() > 320 ? _("Graphics") : _("GFX"));
@@ -208,7 +210,7 @@ EditGameDialog::EditGameDialog(const String &domain, const String &desc)
addGraphicControls(tab, "GameOptions_Graphics.");
//
- // 4) The audio tab
+ // 3) The audio tab
//
tab->addTab(_("Audio"));
@@ -218,7 +220,7 @@ EditGameDialog::EditGameDialog(const String &domain, const String &desc)
addSubtitleControls(tab, "GameOptions_Audio.");
//
- // 5) The volume tab
+ // 4) The volume tab
//
tab->addTab(_("Volume"));
@@ -227,7 +229,7 @@ EditGameDialog::EditGameDialog(const String &domain, const String &desc)
addVolumeControls(tab, "GameOptions_Volume.");
//
- // 6) The MIDI tab
+ // 5) The MIDI tab
//
tab->addTab(_("MIDI"));
@@ -239,7 +241,19 @@ EditGameDialog::EditGameDialog(const String &domain, const String &desc)
addMIDIControls(tab, "GameOptions_MIDI.");
//
- // 2) The 'Path' tab
+ // 6) The MT-32 tab
+ //
+ tab->addTab(_("MT-32"));
+
+ _globalMT32Override = new CheckboxWidget(tab, "GameOptions_MT32.EnableTabCheckbox", _("Override global MT-32 settings"), 0, kCmdGlobalMT32Override);
+
+ //if (_guioptions & Common::GUIO_NOMIDI)
+ // _globalMT32Override->setEnabled(false);
+
+ addMT32Controls(tab, "GameOptions_MT32.");
+
+ //
+ // 7) The Paths tab
//
tab->addTab(_("Paths"));
@@ -305,11 +319,13 @@ void EditGameDialog::open() {
e = ConfMan.hasKey("soundfont", _domain) ||
ConfMan.hasKey("multi_midi", _domain) ||
- ConfMan.hasKey("native_mt32", _domain) ||
- ConfMan.hasKey("enable_gs", _domain) ||
ConfMan.hasKey("midi_gain", _domain);
_globalMIDIOverride->setState(e);
+ e = ConfMan.hasKey("native_mt32", _domain) ||
+ ConfMan.hasKey("enable_gs", _domain);
+ _globalMT32Override->setState(e);
+
// TODO: game path
const Common::Language lang = Common::parseLanguage(ConfMan.get("language", _domain));
@@ -383,6 +399,10 @@ void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
setMIDISettingsState(data != 0);
draw();
break;
+ case kCmdGlobalMT32Override:
+ setMT32SettingsState(data != 0);
+ draw();
+ break;
case kCmdGlobalVolumeOverride:
setVolumeSettingsState(data != 0);
draw();