diff options
author | Eugene Sandulenko | 2010-07-24 22:29:17 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2010-07-24 22:29:17 +0000 |
commit | 7457011a87cb54c4d6b7cc6bc7b4719b1c9a2b99 (patch) | |
tree | 566aecb167303e1f0e6f2a94bbc0a6ae89221008 /gui/launcher.cpp | |
parent | adf4195e0b47b2b80b612e4b96b9b42f9be45d1e (diff) | |
download | scummvm-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.cpp | 34 |
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(); |