aboutsummaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
Diffstat (limited to 'gui')
-rw-r--r--gui/Key.cpp34
-rw-r--r--gui/Key.h17
-rw-r--r--gui/KeysDialog.cpp11
-rw-r--r--gui/ListWidget.cpp19
-rw-r--r--gui/PopUpWidget.cpp15
-rw-r--r--gui/TabWidget.cpp32
-rw-r--r--gui/TabWidget.h29
-rw-r--r--gui/about.cpp28
-rw-r--r--gui/console.cpp38
-rw-r--r--gui/credits.h4
-rw-r--r--gui/dialog.cpp3
-rw-r--r--gui/editable.cpp19
-rw-r--r--gui/launcher.cpp25
-rw-r--r--gui/massadd.cpp5
-rw-r--r--gui/message.cpp5
-rw-r--r--gui/newgui.cpp3
-rw-r--r--gui/options.cpp14
-rw-r--r--gui/theme-config.cpp39
-rw-r--r--gui/theme.h2
-rw-r--r--gui/themes/classic080.ini154
-rw-r--r--gui/themes/modern.ini67
21 files changed, 290 insertions, 273 deletions
diff --git a/gui/Key.cpp b/gui/Key.cpp
index 3d6fe9f05b..92c703ef09 100644
--- a/gui/Key.cpp
+++ b/gui/Key.cpp
@@ -32,34 +32,40 @@ Key::Key() :
_ascii(0), _keycode(0), _flags(0) {
}
+Key::Key(int ascii) :
+_ascii(ascii), _keycode(ascii), _flags(0) {
+}
+
Key::Key(int ascii, int keycode, int flags) :
_ascii(ascii), _keycode(keycode), _flags(flags) {
}
-int Key::ascii() {
- return _ascii;
+void Key::setKey(int ascii) {
+ _ascii = ascii;
+ _keycode = ascii;
}
-int Key::keycode() {
- return _keycode;
+void Key::setKey(int ascii, int keycode) {
+ _ascii = ascii;
+ _keycode = keycode;
}
-int Key::flags() {
- return _flags;
+void Key::setKey(int ascii, int keycode, int flags) {
+ _ascii = ascii;
+ _keycode = keycode;
+ _flags = flags;
}
-
-void Key::setAscii(int ascii) {
- _ascii = ascii;
- _keycode = ascii; // default
+int Key::ascii() {
+ return _ascii;
}
-void Key::setKeycode(int keycode) {
- _keycode = keycode;
+int Key::keycode() {
+ return _keycode;
}
-void Key::setFlags(int flags) {
- _flags = flags;
+int Key::flags() {
+ return _flags;
}
} // namespace GUI
diff --git a/gui/Key.h b/gui/Key.h
index 5b7db903ba..663293886b 100644
--- a/gui/Key.h
+++ b/gui/Key.h
@@ -32,13 +32,22 @@
namespace GUI {
+// TODO/FIXME: Make use of Common::KeyState from common/keyboard.h,
+// or even better, just completely replace this by it.
+// To be able to do that, though, the code using GUI::Key would need to
+// be adopted -- right now it uses SDL keycodes, and uses SDL_PushEvent
+// to generated fake events.
+
class Key {
public:
- Key(int ascii, int keycode = 0, int flags = 0);
+ Key(int ascii);
+ Key(int ascii, int keycode, int flags = 0);
Key();
- void setAscii(int ascii);
- void setKeycode(int keycode);
- void setFlags(int flags);
+
+ void setKey(int ascii);
+ void setKey(int ascii, int keycode);
+ void setKey(int ascii, int keycode, int flags);
+
int ascii();
int keycode();
int flags();
diff --git a/gui/KeysDialog.cpp b/gui/KeysDialog.cpp
index 6093af684d..33d09e4e69 100644
--- a/gui/KeysDialog.cpp
+++ b/gui/KeysDialog.cpp
@@ -77,8 +77,8 @@ void KeysDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
uint16 key = Actions::Instance()->getMapping(_actionsList->getSelected());
#ifdef __SYMBIAN32__
// ScummVM mappings for F1-F9 are different from SDL so remap back to sdl
- if (key >= 315 && key <= 323)
- key = key - 315 + SDLK_F1;
+ if (key >= Common::ASCII_F1 && key <= Common::ASCII_F9)
+ key = key - Common::ASCII_F1 + SDLK_F1;
#endif
if (key != 0)
sprintf(selection, "Associated key : %s", SDL_GetKeyName((SDLKey)key));
@@ -92,16 +92,15 @@ void KeysDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
case kMapCmd:
if (_actionsList->getSelected() < 0) {
_actionTitle->setLabel("Please select an action");
- }
- else {
+ } else {
char selection[100];
_actionSelected = _actionsList->getSelected();
uint16 key = Actions::Instance()->getMapping(_actionSelected);
#ifdef __SYMBIAN32__
// ScummVM mappings for F1-F9 are different from SDL so remap back to sdl
- if (key >= 315 && key <= 323)
- key = key - 315 + SDLK_F1;
+ if (key >= Common::ASCII_F1 && key <= Common::ASCII_F9)
+ key = key - Common::ASCII_F1 + SDLK_F1;
#endif
if (key != 0)
sprintf(selection, "Associated key : %s", SDL_GetKeyName((SDLKey)key));
diff --git a/gui/ListWidget.cpp b/gui/ListWidget.cpp
index 9d7494115b..271cbccd94 100644
--- a/gui/ListWidget.cpp
+++ b/gui/ListWidget.cpp
@@ -24,6 +24,7 @@
#include "common/stdafx.h"
#include "common/system.h"
+#include "common/events.h"
#include "gui/ListWidget.h"
#include "gui/ScrollBarWidget.h"
#include "gui/dialog.h"
@@ -231,39 +232,39 @@ bool ListWidget::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
// not editmode
switch (keycode) {
- case '\n': // enter/return
- case '\r':
+ case Common::KEYCODE_RETURN:
+ case Common::KEYCODE_KP_ENTER:
if (_selectedItem >= 0) {
// override continuous enter keydown
- if (_editable && (_currentKeyDown != '\n' && _currentKeyDown != '\r')) {
+ if (_editable && (_currentKeyDown != Common::KEYCODE_RETURN && _currentKeyDown != Common::KEYCODE_KP_ENTER)) {
dirty = true;
startEditMode();
} else
sendCommand(kListItemActivatedCmd, _selectedItem);
}
break;
- case 256+17: // up arrow
+ case Common::KEYCODE_UP:
if (_selectedItem > 0)
_selectedItem--;
break;
- case 256+18: // down arrow
+ case Common::KEYCODE_DOWN:
if (_selectedItem < (int)_list.size() - 1)
_selectedItem++;
break;
- case 256+24: // pageup
+ case Common::KEYCODE_PAGEUP:
_selectedItem -= _entriesPerPage - 1;
if (_selectedItem < 0)
_selectedItem = 0;
break;
- case 256+25: // pagedown
+ case Common::KEYCODE_PAGEDOWN:
_selectedItem += _entriesPerPage - 1;
if (_selectedItem >= (int)_list.size() )
_selectedItem = _list.size() - 1;
break;
- case 256+22: // home
+ case Common::KEYCODE_HOME:
_selectedItem = 0;
break;
- case 256+23: // end
+ case Common::KEYCODE_END:
_selectedItem = _list.size() - 1;
break;
default:
diff --git a/gui/PopUpWidget.cpp b/gui/PopUpWidget.cpp
index 1bdce8a24e..d40a01c981 100644
--- a/gui/PopUpWidget.cpp
+++ b/gui/PopUpWidget.cpp
@@ -24,6 +24,7 @@
#include "common/stdafx.h"
#include "common/system.h"
+#include "common/events.h"
#include "gui/dialog.h"
#include "gui/eval.h"
#include "gui/newgui.h"
@@ -210,7 +211,7 @@ void PopUpDialog::handleMouseMoved(int x, int y, int button) {
}
void PopUpDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
- if (keycode == 27) { // escape
+ if (keycode == Common::KEYCODE_ESCAPE) {
// Don't change the previous selection
setResult(-1);
close();
@@ -221,21 +222,21 @@ void PopUpDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
return;
switch (keycode) {
- case '\n': // enter/return
- case '\r':
+ case Common::KEYCODE_RETURN:
+ case Common::KEYCODE_KP_ENTER:
setResult(_selection);
close();
break;
- case 256+17: // up arrow
+ case Common::KEYCODE_UP:
moveUp();
break;
- case 256+18: // down arrow
+ case Common::KEYCODE_DOWN:
moveDown();
break;
- case 256+22: // home
+ case Common::KEYCODE_HOME:
setSelection(0);
break;
- case 256+23: // end
+ case Common::KEYCODE_END:
setSelection(_popUpBoss->_entries.size()-1);
break;
}
diff --git a/gui/TabWidget.cpp b/gui/TabWidget.cpp
index 8159147c83..38ea6229ec 100644
--- a/gui/TabWidget.cpp
+++ b/gui/TabWidget.cpp
@@ -114,6 +114,38 @@ int TabWidget::addTab(const String &title) {
return _activeTab;
}
+void TabWidget::removeTab(int tabID) {
+ assert(0 <= tabID && tabID < (int)_tabs.size());
+
+ // Deactive the tab if it's currently the active one
+ if (tabID == _activeTab) {
+ _tabs[tabID].firstWidget = _firstWidget;
+ releaseFocus();
+ _firstWidget = 0;
+ }
+
+ // Dispose the widgets in that tab and then the tab itself
+ delete _tabs[tabID].firstWidget;
+ _tabs.remove_at(tabID);
+
+ // Adjust _firstVisibleTab if necessary
+ if (_firstVisibleTab >= (int)_tabs.size()) {
+ _firstVisibleTab = MAX(0, (int)_tabs.size() - 1);
+ }
+
+ // The active tab was removed, so select a new active one (if any remains)
+ if (tabID == _activeTab) {
+ _activeTab = -1;
+ if (tabID >= (int)_tabs.size())
+ tabID = _tabs.size() - 1;
+ if (tabID >= 0)
+ setActiveTab(tabID);
+ }
+
+ // Finally trigger a redraw
+ _boss->draw();
+}
+
void TabWidget::setActiveTab(int tabID) {
assert(0 <= tabID && tabID < (int)_tabs.size());
if (_activeTab != tabID) {
diff --git a/gui/TabWidget.h b/gui/TabWidget.h
index bb836e0999..928f7916b6 100644
--- a/gui/TabWidget.h
+++ b/gui/TabWidget.h
@@ -62,18 +62,25 @@ public:
void init();
- virtual int16 getChildY() const;
-
- // Problem: how to add items to a tab?
- // First off, widget should allow non-dialog bosses, (i.e. also other widgets)
- // Could add a common base class for Widgets and Dialogs.
- // Then you add tabs using the following method, which returns a unique ID
+ /**
+ * Add a new tab with the given title. Returns a unique ID which can be used
+ * to identify the tab (to remove it / activate it etc.).
+ */
int addTab(const String &title);
- // Maybe we need to remove tabs again? Hm
- //void removeTab(int tabID);
+ /**
+ * Remove the tab with the given tab ID. Disposes all child widgets of that tab.
+ * TODO: This code is *unfinished*. In particular, it changes the
+ * tabIDs, so that they are not unique anymore! This is bad.
+ * If we need to, we could fix this by changing the tab IDs from being an index
+ * into the _tabs array to a real "unique" ID, which gets stored in the Tab struct.
+ * It won't be difficult to implement this, but since currently no code seems to make
+ * use of the feature...
+ */
+ void removeTab(int tabID);
- /** Set the active tab by specifying a valid tab ID.
+ /**
+ * Set the active tab by specifying a valid tab ID.
* setActiveTab changes the value of _firstWidget. This means new
* Widgets are always added to the active tab.
*/
@@ -88,6 +95,10 @@ public:
virtual void draw();
protected:
+ // We overload getChildY to make sure child widgets are positioned correctly.
+ // Essentially this compensates for the space taken up by the tab title header.
+ virtual int16 getChildY() const;
+
virtual void drawWidget(bool hilite);
virtual Widget *findWidget(int x, int y);
diff --git a/gui/about.cpp b/gui/about.cpp
index 2098d91aae..31381cadd5 100644
--- a/gui/about.cpp
+++ b/gui/about.cpp
@@ -55,13 +55,24 @@ enum {
//
// TODO: Add different font sizes (for bigger headlines)
// TODO: Allow color change in the middle of a line...
+
+static const char *copyright_text[] = {
+"\\C""",
+"\\C""Copyright (C) 2002-2007 The ScummVM project",
+"\\C""http://www.scummvm.org",
+"\\C""",
+"\\C""ScummVM is the legal property of its developers, whose names are too numerous to list here. Please refer to the COPYRIGHT file distributed with this binary.",
+"\\C""",
+};
+
static const char *gpl_text[] = {
+"\\C""",
"\\C""This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.",
"\\C""",
"\\C""This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.",
"\\C""",
"\\C""You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.",
-"\\C"""
+"\\C""",
};
#include "gui/credits.h"
@@ -107,11 +118,8 @@ AboutDialog::AboutDialog()
date += ')';
_lines.push_back(date);
-
- addLine("");
- addLine("\\C""Copyright (C) 2002-2006 The ScummVM project");
- addLine("\\C""http://www.scummvm.org");
- addLine("");
+ for (i = 0; i < ARRAYSIZE(copyright_text); i++)
+ addLine(copyright_text[i]);
addLine("\\C\\c1""Features compiled in:");
Common::String features("\\C");
@@ -136,16 +144,14 @@ AboutDialog::AboutDialog()
//addLine("");
}
+ for (i = 0; i < ARRAYSIZE(gpl_text); i++)
+ addLine(gpl_text[i]);
+
_lines.push_back("");
for (i = 0; i < ARRAYSIZE(credits); i++)
addLine(credits[i]);
- _lines.push_back("");
-
- for (i = 0; i < ARRAYSIZE(gpl_text); i++)
- addLine(gpl_text[i]);
-
// Center the dialog
_x = (screenW - _w) / 2;
_y = (screenH - _h) / 2;
diff --git a/gui/console.cpp b/gui/console.cpp
index 9186c7b405..b7c257d3ce 100644
--- a/gui/console.cpp
+++ b/gui/console.cpp
@@ -265,8 +265,8 @@ void ConsoleDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
return;
switch (keycode) {
- case '\n': // enter/return
- case '\r': {
+ case Common::KEYCODE_RETURN:
+ case Common::KEYCODE_KP_ENTER: {
if (_caretVisible)
drawCaret(true);
@@ -307,10 +307,10 @@ void ConsoleDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
slideUpAndClose();
break;
}
- case 27: // escape
+ case Common::KEYCODE_ESCAPE:
slideUpAndClose();
break;
- case 8: // backspace
+ case Common::KEYCODE_BACKSPACE:
if (_caretVisible)
drawCaret(true);
@@ -321,7 +321,7 @@ void ConsoleDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
scrollToCurrent();
drawLine(pos2line(_currentPos));
break;
- case 9: // tab
+ case Common::KEYCODE_TAB:
{
if (_completionCallbackProc) {
int len = _currentPos - _promptStartPos;
@@ -346,11 +346,11 @@ void ConsoleDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
}
break;
}
- case 127:
+ case Common::KEYCODE_DELETE:
killChar();
drawLine(pos2line(_currentPos));
break;
- case 256 + 24: // pageup
+ case Common::KEYCODE_PAGEUP:
if (modifiers == Common::KBD_SHIFT) {
_scrollLine -= _linesPerPage - 1;
if (_scrollLine < _firstLineInBuffer + _linesPerPage - 1)
@@ -359,7 +359,7 @@ void ConsoleDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
draw();
}
break;
- case 256 + 25: // pagedown
+ case Common::KEYCODE_PAGEDOWN:
if (modifiers == Common::KBD_SHIFT) {
_scrollLine += _linesPerPage - 1;
if (_scrollLine > _promptEndPos / kCharsPerLine) {
@@ -371,7 +371,7 @@ void ConsoleDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
draw();
}
break;
- case 256 + 22: // home
+ case Common::KEYCODE_HOME:
if (modifiers == Common::KBD_SHIFT) {
_scrollLine = _firstLineInBuffer + _linesPerPage - 1;
updateScrollBuffer();
@@ -380,7 +380,7 @@ void ConsoleDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
}
draw();
break;
- case 256 + 23: // end
+ case Common::KEYCODE_END:
if (modifiers == Common::KBD_SHIFT) {
_scrollLine = _promptEndPos / kCharsPerLine;
if (_scrollLine < _linesPerPage - 1)
@@ -391,18 +391,18 @@ void ConsoleDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
}
draw();
break;
- case 273: // cursor up
+ case Common::KEYCODE_UP:
historyScroll(+1);
break;
- case 274: // cursor down
+ case Common::KEYCODE_DOWN:
historyScroll(-1);
break;
- case 275: // cursor right
+ case Common::KEYCODE_RIGHT:
if (_currentPos < _promptEndPos)
_currentPos++;
drawLine(pos2line(_currentPos));
break;
- case 276: // cursor left
+ case Common::KEYCODE_LEFT:
if (_currentPos > _promptStartPos)
_currentPos--;
drawLine(pos2line(_currentPos));
@@ -446,25 +446,25 @@ void ConsoleDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data
void ConsoleDialog::specialKeys(int keycode) {
switch (keycode) {
- case 'a':
+ case Common::KEYCODE_a:
_currentPos = _promptStartPos;
draw();
break;
- case 'd':
+ case Common::KEYCODE_d:
if (_currentPos < _promptEndPos) {
killChar();
draw();
}
break;
- case 'e':
+ case Common::KEYCODE_e:
_currentPos = _promptEndPos;
draw();
break;
- case 'k':
+ case Common::KEYCODE_k:
killLine();
draw();
break;
- case 'w':
+ case Common::KEYCODE_w:
killLastWord();
draw();
break;
diff --git a/gui/credits.h b/gui/credits.h
index 3fb6396b78..5babeb1faa 100644
--- a/gui/credits.h
+++ b/gui/credits.h
@@ -274,6 +274,8 @@ static const char *credits[] = {
"\\C\\c2""MI1 VGA floppy patches",
"\\C\\c0""Nicolas Noble",
"\\C\\c2""Config file and ALSA support",
+"\\C\\c0""Tim Phillips",
+"\\C\\c2""Initial MI1 CD music support",
"\\C\\c0""Quietust",
"\\C\\c2""Sound support for Amiga SCUMM V2/V3 games, MM NES support",
"\\C\\c0""Andreas R\366ver",
@@ -284,8 +286,6 @@ static const char *credits[] = {
"\\C\\c2""Final MI1 CD music support, initial Ogg Vorbis support",
"\\C\\c0""Andr\351 Souza",
"\\C\\c2""SDL-based OpenGL renderer",
-"\\C\\c0""Tim Phillips",
-"\\C\\c2""Initial MI1 CD music support",
"\\C\\c0""Robin Watts",
"\\C\\c2""ARM assembly routines for the Windows CE port",
"\\C\\c0""",
diff --git a/gui/dialog.cpp b/gui/dialog.cpp
index 3bcf770ff3..1afd18ec52 100644
--- a/gui/dialog.cpp
+++ b/gui/dialog.cpp
@@ -23,6 +23,7 @@
*/
#include "common/stdafx.h"
+#include "common/events.h"
#include "gui/newgui.h"
#include "gui/dialog.h"
@@ -233,7 +234,7 @@ void Dialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
}
// ESC closes all dialogs by default
- if (keycode == 27) {
+ if (keycode == Common::KEYCODE_ESCAPE) {
setResult(-1);
close();
}
diff --git a/gui/editable.cpp b/gui/editable.cpp
index 6199ea67fa..a8638b8b48 100644
--- a/gui/editable.cpp
+++ b/gui/editable.cpp
@@ -23,6 +23,7 @@
*/
#include "common/stdafx.h"
+#include "common/events.h"
#include "gui/editable.h"
#include "gui/newgui.h"
@@ -94,17 +95,17 @@ bool EditableWidget::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
drawCaret(true);
switch (keycode) {
- case '\n': // enter/return
- case '\r':
+ case Common::KEYCODE_RETURN:
+ case Common::KEYCODE_KP_ENTER:
// confirm edit and exit editmode
endEditMode();
dirty = true;
break;
- case 27: // escape
+ case Common::KEYCODE_ESCAPE:
abortEditMode();
dirty = true;
break;
- case 8: // backspace
+ case Common::KEYCODE_BACKSPACE:
if (_caretPos > 0) {
_caretPos--;
_editString.deleteChar(_caretPos);
@@ -112,32 +113,32 @@ bool EditableWidget::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
}
forcecaret = true;
break;
- case 127: // delete
+ case Common::KEYCODE_DELETE:
if (_caretPos < (int)_editString.size()) {
_editString.deleteChar(_caretPos);
dirty = true;
}
forcecaret = true;
break;
- case 256 + 20: // left arrow
+ case Common::KEYCODE_LEFT:
if (_caretPos > 0) {
dirty = setCaretPos(_caretPos - 1);
}
forcecaret = true;
dirty = true;
break;
- case 256 + 19: // right arrow
+ case Common::KEYCODE_RIGHT:
if (_caretPos < (int)_editString.size()) {
dirty = setCaretPos(_caretPos + 1);
}
forcecaret = true;
dirty = true;
break;
- case 256 + 22: // home
+ case Common::KEYCODE_HOME:
dirty = setCaretPos(0);
forcecaret = true;
break;
- case 256 + 23: // end
+ case Common::KEYCODE_END:
dirty = setCaretPos(_editString.size());
forcecaret = true;
break;
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 4a92de1101..995a0cf78a 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -218,15 +218,9 @@ EditGameDialog::EditGameDialog(const String &domain, const String &desc)
//
// 5) The volume tab
//
- int volControlPos = g_gui.evaluator()->getVar("volumeControlsInAudio", true);
+ tab->addTab("Volume");
- if (!volControlPos) {
- tab->addTab("Volume");
-
- _globalVolumeOverride = new CheckboxWidget(tab, "gameoptions_volumeCheckbox", "Override global volume settings", kCmdGlobalVolumeOverride, 0);
- } else {
- _globalVolumeOverride = NULL;
- }
+ _globalVolumeOverride = new CheckboxWidget(tab, "gameoptions_volumeCheckbox", "Override global volume settings", kCmdGlobalVolumeOverride, 0);
addVolumeControls(tab, "gameoptions_");
@@ -288,7 +282,7 @@ void EditGameDialog::open() {
OptionsDialog::open();
int sel, i;
- bool e, f;
+ bool e;
// En-/disable dialog items depending on whether overrides are active or not.
@@ -302,17 +296,12 @@ void EditGameDialog::open() {
ConfMan.hasKey("output_rate", _domain) ||
ConfMan.hasKey("subtitles", _domain) ||
ConfMan.hasKey("talkspeed", _domain);
+ _globalAudioOverride->setState(e);
- f = ConfMan.hasKey("music_volume", _domain) ||
+ e = ConfMan.hasKey("music_volume", _domain) ||
ConfMan.hasKey("sfx_volume", _domain) ||
ConfMan.hasKey("speech_volume", _domain);
-
- if (_globalVolumeOverride) {
- _globalAudioOverride->setState(e);
- _globalVolumeOverride->setState(f);
- } else {
- _globalAudioOverride->setState(e || f);
- }
+ _globalVolumeOverride->setState(e);
e = ConfMan.hasKey("soundfont", _domain) ||
ConfMan.hasKey("multi_midi", _domain) ||
@@ -599,6 +588,8 @@ void LauncherDialog::updateListing() {
if (g.contains("description"))
description = g.description();
}
+ if (description.empty())
+ description = "Unknown (target " + iter->_key + ", gameid " + gameid + ")";
if (!gameid.empty() && !description.empty()) {
// Insert the game into the launcher list
diff --git a/gui/massadd.cpp b/gui/massadd.cpp
index c12e60ea8b..987a92efb5 100644
--- a/gui/massadd.cpp
+++ b/gui/massadd.cpp
@@ -27,6 +27,7 @@
#include "engines/engine.h"
#include "base/game.h"
#include "base/plugins.h"
+#include "common/events.h"
#include "gui/launcher.h" // For addGameToConf()
#include "gui/massadd.h"
@@ -85,10 +86,10 @@ MassAddDialog::MassAddDialog(const FilesystemNode &startDir)
_gameProgressText = new StaticTextWidget(this, "massadddialog_gameprogress",
"... progress ...");
- _okButton = new ButtonWidget(this, "massadddialog_ok", "OK", kOkCmd, '\n');
+ _okButton = new ButtonWidget(this, "massadddialog_ok", "OK", kOkCmd, Common::ASCII_RETURN);
_okButton->setEnabled(false);
- new ButtonWidget(this, "massadddialog_cancel", "Cancel", kCancelCmd, '\27');
+ new ButtonWidget(this, "massadddialog_cancel", "Cancel", kCancelCmd, Common::ASCII_ESCAPE);
}
diff --git a/gui/message.cpp b/gui/message.cpp
index 114d4f38c5..958d8e3dc8 100644
--- a/gui/message.cpp
+++ b/gui/message.cpp
@@ -23,6 +23,7 @@
*/
#include "common/stdafx.h"
+#include "common/events.h"
#include "common/str.h"
#include "common/system.h"
#include "gui/message.h"
@@ -96,10 +97,10 @@ MessageDialog::MessageDialog(const Common::String &message, const char *defaultB
}
if (defaultButton)
- addButton(this, okButtonPos, _h - buttonHeight - 8, defaultButton, kOkCmd, '\n'); // Confirm dialog
+ addButton(this, okButtonPos, _h - buttonHeight - 8, defaultButton, kOkCmd, Common::ASCII_RETURN); // Confirm dialog
if (altButton)
- addButton(this, cancelButtonPos, _h - buttonHeight - 8, altButton, kCancelCmd, '\27'); // Cancel dialog
+ addButton(this, cancelButtonPos, _h - buttonHeight - 8, altButton, kCancelCmd, Common::ASCII_ESCAPE); // Cancel dialog
}
void MessageDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
diff --git a/gui/newgui.cpp b/gui/newgui.cpp
index eefb3e2f64..ad1933863a 100644
--- a/gui/newgui.cpp
+++ b/gui/newgui.cpp
@@ -139,7 +139,8 @@ bool NewGui::loadNewTheme(const Common::String &style) {
delete _theme;
_theme = 0;
- if (style.compareToIgnoreCase("classic (builtin)") == 0) {
+ if (style.compareToIgnoreCase("classic (builtin)") == 0 ||
+ style.compareToIgnoreCase("classic") == 0) {
_theme = new ThemeClassic(_system, style);
} else {
if (Theme::themeConfigUseable(style, "", &styleType, &cfg)) {
diff --git a/gui/options.cpp b/gui/options.cpp
index 76bec036ad..6d588b6b44 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -239,7 +239,7 @@ void OptionsDialog::open() {
int speed;
int sliderMaxValue = _subSpeedSlider->getMaxValue();
- _subMode = getSubtitleMode(ConfMan.getBool("subtitles", _domain), ConfMan.getBool("speech_mute"));
+ _subMode = getSubtitleMode(ConfMan.getBool("subtitles", _domain), ConfMan.getBool("speech_mute", _domain));
_subToggleButton->setLabel(_subModeDesc[_subMode]);
// Engines that reuse the subtitle speed widget set their own max value.
@@ -676,18 +676,10 @@ GlobalOptionsDialog::GlobalOptionsDialog()
//
tab->addTab("Audio");
addAudioControls(tab, "globaloptions_");
-
- int volControlPos = g_gui.evaluator()->getVar("volumeControlsInAudio", true);
-
- if (volControlPos)
- addVolumeControls(tab, "globaloptions_");
-
addSubtitleControls(tab, "globaloptions_");
- if (!volControlPos) {
- tab->addTab("Volume");
- addVolumeControls(tab, "globaloptions_");
- }
+ tab->addTab("Volume");
+ addVolumeControls(tab, "globaloptions_");
// TODO: cd drive setting
diff --git a/gui/theme-config.cpp b/gui/theme-config.cpp
index 55a9ca9600..c12ca009da 100644
--- a/gui/theme-config.cpp
+++ b/gui/theme-config.cpp
@@ -193,9 +193,12 @@ const char *Theme::_defaultConfigINI =
"# audio tab\n"
"opYoffset=vBorder\n"
"useWithPrefix=audioControls globaloptions_\n"
-"useWithPrefix=volumeControls globaloptions_\n"
"useWithPrefix=subtitleControls globaloptions_\n"
"\n"
+"# volume tab\n"
+"opYoffset=vBorder\n"
+"useWithPrefix=volumeControls globaloptions_\n"
+"\n"
"# MIDI tab\n"
"opYoffset=vBorder\n"
"useWithPrefix=midiControls globaloptions_\n"
@@ -274,9 +277,14 @@ const char *Theme::_defaultConfigINI =
"gameoptions_audioCheckbox=gox opYoffset (kFontHeight + 10 + 180) buttonHeight\n"
"opYoffset=(opYoffset + buttonHeight)\n"
"useWithPrefix=audioControls gameoptions_\n"
-"useWithPrefix=volumeControls gameoptions_\n"
"useWithPrefix=subtitleControls gameoptions_\n"
"\n"
+"# volume tab\n"
+"opYoffset=vBorder\n"
+"gameoptions_volumeCheckbox=gox opYoffset (kFontHeight + 10 + 190) buttonHeight\n"
+"opYoffset=(opYoffset + buttonHeight)\n"
+"useWithPrefix=volumeControls gameoptions_\n"
+"\n"
"# midi tab\n"
"opYoffset=vBorder\n"
"gameoptions_midiCheckbox=gox opYoffset (kFontHeight + 10 + 174) buttonHeight\n"
@@ -480,7 +488,6 @@ const char *Theme::_defaultConfigINI =
"def_insetH=(h - 13 - insetY)\n"
"def_launcherVersionX=50\n"
"def_launcherVersionY=5\n"
-"def_volumeControlsInAudio=false\n"
"def_midiControlsSpacing=2\n"
"def_gameOptionsOverrideVPad=10\n"
"def_aboutXOff=3\n"
@@ -488,32 +495,6 @@ const char *Theme::_defaultConfigINI =
"def_aboutOuterBorder=10\n"
"\n"
"use=XxY\n"
-"\n"
-"# Override audio tab\n"
-"set_parent=gameoptions\n"
-"vBorder=5\n"
-"\n"
-"# audio tab\n"
-"opYoffset=vBorder\n"
-"useWithPrefix=audioControls globaloptions_\n"
-"useWithPrefix=subtitleControls globaloptions_\n"
-"\n"
-"# volume tab\n"
-"opYoffset=vBorder\n"
-"useWithPrefix=volumeControls globaloptions_\n"
-"\n"
-"# audio tab\n"
-"opYoffset=vBorder\n"
-"gameoptions_audioCheckbox=gox opYoffset (kFontHeight + 10 + 180) buttonHeight\n"
-"opYoffset=(opYoffset + buttonHeight + 6)\n"
-"useWithPrefix=audioControls gameoptions_\n"
-"useWithPrefix=subtitleControls gameoptions_\n"
-"\n"
-"# volume tab\n"
-"opYoffset=vBorder\n"
-"gameoptions_volumeCheckbox=gox opYoffset (kFontHeight + 10 + 190) buttonHeight\n"
-"opYoffset=(opYoffset + buttonHeight + 6)\n"
-"useWithPrefix=volumeControls gameoptions_\n"
"";
using Common::String;
diff --git a/gui/theme.h b/gui/theme.h
index e64b65645c..b3286d3d48 100644
--- a/gui/theme.h
+++ b/gui/theme.h
@@ -35,7 +35,7 @@
#include "graphics/surface.h"
#include "graphics/fontman.h"
-#define THEME_VERSION 21
+#define THEME_VERSION 22
namespace GUI {
diff --git a/gui/themes/classic080.ini b/gui/themes/classic080.ini
index bb1db62979..481d00c27a 100644
--- a/gui/themes/classic080.ini
+++ b/gui/themes/classic080.ini
@@ -1,7 +1,7 @@
# $URL$
# $Id$
[theme]
-version=19
+version=22
type=classic
name=Classic (ScummVM 0.8.0)
@@ -16,53 +16,6 @@ textcolorhi=0 255 0
font="builtin"
blending=true
-# Define our classic greenish theme here
-[320xY]
-def_widgetSize=kNormalWidgetSize
-def_buttonWidth=kButtonWidth
-def_buttonHeight=kButtonHeight
-def_sliderWidth=kSliderWidth
-def_sliderHeight=kSliderHeight
-def_kLineHeight=12
-def_kFontHeight=10
-def_insetX=10
-def_insetY=10
-def_insetW=(w - 2 * 10)
-def_insetH=(h - 30)
-def_gameOptionsLabelWidth=60
-def_tabPopupsLabelW=100
-def_aboutXOff=3
-def_aboutYOff=2
-def_aboutOuterBorder=10
-def_scummmainHOffset=8
-def_scummmainVSpace=5
-def_scummmainVAddOff=2
-def_scummmainButtonWidth=90
-def_scummmainButtonHeight=16
-def_scummhelpX=5
-def_scummhelpW=(w - 2 * 5)
-def_midiControlsSpacing=1
-def_vcAudioTabIndent=0
-def_vcAudioTabSpacing=2
-use=XxY
-
-TabWidget.tabWidth=0
-TabWidget.tabHeight=16
-TabWidget.titleVPad=2
-# Scumm Saveload dialog
-scummsaveload=8 8 (w - 2 * 8) (h - 16)
-set_parent=scummsaveload
-scummsaveload_title=10 2 (parent.w - 2 * 10) kLineHeight
-scummsaveload_list=10 18 prev.w (parent.h - 17 - buttonHeight - 8 - self.y)
-scummsaveload_thumbnail=(parent.w - (kThumbnailWidth + 22)) 18
-scummsaveload_cancel=(parent.w - 2 * (buttonWidth + 10)) (parent.h - buttonHeight - 8) buttonWidth buttonHeight
-scummsaveload_choose=(prev.x2 + 10) prev.y prev.w prev.h
-scummsaveload_extinfo.visible=false
-
-# MM NES resolution
-[256x240]
-useAsIs=320xY
-
[XxY]
def_widgetSize=kBigWidgetSize
def_buttonWidth=kBigButtonWidth
@@ -159,9 +112,12 @@ useWithPrefix=graphicsControls globaloptions_
# audio tab
opYoffset=vBorder
useWithPrefix=audioControls globaloptions_
-useWithPrefix=volumeControls globaloptions_
useWithPrefix=subtitleControls globaloptions_
+# volume tab
+opYoffset=vBorder
+useWithPrefix=volumeControls globaloptions_
+
# MIDI tab
opYoffset=vBorder
useWithPrefix=midiControls globaloptions_
@@ -185,6 +141,8 @@ yoffset=vBorder
glOff=((buttonHeight - kLineHeight) / 2 + 2)
globaloptions_themebutton2=10 yoffset buttonWidth buttonHeight
globaloptions_curtheme=(prev.x2 + 20) (yoffset + glOff) (parent.w - (prev.w + 20) - 10) kLineHeight
+yoffset=(yoffset + buttonHeight + 12)
+globaloptions_autosaveperiod=10 yoffset (parent.w - 10 - 25) (kLineHeight + 2)
globaloptions_cancel=(parent.w - 2 * (buttonWidth + 10)) (parent.h - buttonHeight - 8) buttonWidth buttonHeight
globaloptions_ok=(prev.x2 + 10) prev.y prev.w prev.h
@@ -238,9 +196,14 @@ opYoffset=vBorder
gameoptions_audioCheckbox=gox opYoffset (kFontHeight + 10 + 180) buttonHeight
opYoffset=(opYoffset + buttonHeight)
useWithPrefix=audioControls gameoptions_
-useWithPrefix=volumeControls gameoptions_
useWithPrefix=subtitleControls gameoptions_
+# volume tab
+opYoffset=vBorder
+gameoptions_volumeCheckbox=gox opYoffset (kFontHeight + 10 + 190) buttonHeight
+opYoffset=(opYoffset + buttonHeight)
+useWithPrefix=volumeControls gameoptions_
+
# midi tab
opYoffset=vBorder
gameoptions_midiCheckbox=gox opYoffset (kFontHeight + 10 + 174) buttonHeight
@@ -260,6 +223,17 @@ keysdialog_list=10 10 (prev.x - 20) (parent.h - kLineHeight * 4 - self.y)
keysdialog_action=prev.x (parent.h - kLineHeight * 3) (parent.w - self.x * 2) kLineHeight
keysdialog_mapping=prev.x (prev.y + kLineHeight) prev.w prev.h
+### mass add dialog
+massadddialog=10 20 300 174
+set_parent=massadddialog
+massadddialog_caption=10 (10 + 1 * kLineHeight) (parent.w - 2*10) kLineHeight
+massadddialog_caption.align=kTextAlignCenter
+massadddialog_dirprogress=10 (10 + 3 * kLineHeight) prev.w prev.h
+massadddialog_dirprogress.align=kTextAlignCenter
+massadddialog_gameprogress=10 (10 + 4 * kLineHeight) prev.w prev.h
+massadddialog_gameprogress.align=kTextAlignCenter
+massadddialog_ok=((parent.w - (buttonWidth * 2)) / 2) (parent.h - buttonHeight - 8) buttonWidth buttonHeight
+massadddialog_cancel=(prev.x2 + 10) prev.y prev.w prev.h
##### SCUMM dialogs
@@ -341,6 +315,8 @@ aux=10
auw=(parent.w - 2 * 10)
auMidiPopup=(aux - 5) (opYoffset - 1) (auw + 5) (kLineHeight + 2)
opYoffset=(opYoffset + buttonHeight + 4)
+auSampleRatePopup=(aux - 5) (opYoffset - 1) (auw + 5) (kLineHeight + 2)
+opYoffset=(opYoffset + buttonHeight + 4)
[volumeControls]
vctextw=(95 + vcAudioTabIndent)
@@ -365,7 +341,8 @@ opYoffset=(opYoffset + sliderHeight + vcAudioTabSpacing)
[midiControls]
mcx=10
mcFontButton=mcx opYoffset buttonWidth buttonHeight
-mcFontPath=(prev.x2 + 20) (opYoffset + 3) (parent.w - (buttonWidth + 20) - 15) kLineHeight
+mcFontPath=(prev.x2 + 20) (opYoffset + 3) (parent.w - (buttonWidth + 20) - mcx - kLineHeight - 20) kLineHeight
+mcFontClearButton=(prev.x2 + 10) (opYoffset + 3) kLineHeight kLineHeight
opYoffset=(opYoffset + buttonHeight + 2 * midiControlsSpacing)
mcMixedCheckbox=mcx opYoffset (kFontHeight + 10 + 135) buttonHeight
opYoffset=(opYoffset + buttonHeight + midiControlsSpacing)
@@ -419,6 +396,53 @@ smW=(scummmainButtonWidth + 2 * scummmainHOffset)
smH=(smY + scummmainVSpace)
scummmain=((w - smW) / 2) ((h - smH) / 2) smW smH
+# Define our classic greenish theme here
+[320xY]
+def_widgetSize=kNormalWidgetSize
+def_buttonWidth=kButtonWidth
+def_buttonHeight=kButtonHeight
+def_sliderWidth=kSliderWidth
+def_sliderHeight=kSliderHeight
+def_kLineHeight=12
+def_kFontHeight=10
+def_insetX=10
+def_insetY=10
+def_insetW=(w - 2 * 10)
+def_insetH=(h - 30)
+def_gameOptionsLabelWidth=60
+def_tabPopupsLabelW=100
+def_aboutXOff=3
+def_aboutYOff=2
+def_aboutOuterBorder=10
+def_scummmainHOffset=8
+def_scummmainVSpace=5
+def_scummmainVAddOff=2
+def_scummmainButtonWidth=90
+def_scummmainButtonHeight=16
+def_scummhelpX=5
+def_scummhelpW=(w - 2 * 5)
+def_midiControlsSpacing=1
+def_vcAudioTabIndent=0
+def_vcAudioTabSpacing=2
+use=XxY
+
+TabWidget.tabWidth=0
+TabWidget.tabHeight=16
+TabWidget.titleVPad=2
+# Scumm Saveload dialog
+scummsaveload=8 8 (w - 2 * 8) (h - 16)
+set_parent=scummsaveload
+scummsaveload_title=10 2 (parent.w - 2 * 10) kLineHeight
+scummsaveload_list=10 18 prev.w (parent.h - 17 - buttonHeight - 8 - self.y)
+scummsaveload_thumbnail=(parent.w - (kThumbnailWidth + 22)) 18
+scummsaveload_cancel=(parent.w - 2 * (buttonWidth + 10)) (parent.h - buttonHeight - 8) buttonWidth buttonHeight
+scummsaveload_choose=(prev.x2 + 10) prev.y prev.w prev.h
+scummsaveload_extinfo.visible=false
+
+# MM NES resolution
+[256x240]
+useAsIs=320xY
+
# PSP GUI
[480x272]
def_buttonWidth=100
@@ -429,7 +453,6 @@ def_insetW=(w - 2 * insetX)
def_insetH=(h - 13 - insetY)
def_launcherVersionX=50
def_launcherVersionY=5
-def_volumeControlsInAudio=false
def_midiControlsSpacing=2
def_gameOptionsOverrideVPad=10
def_aboutXOff=3
@@ -437,30 +460,3 @@ def_aboutYOff=2
def_aboutOuterBorder=10
use=XxY
-
-# Override audio tab
-set_parent=gameoptions
-vBorder=5
-
-# audio tab
-opYoffset=vBorder
-useWithPrefix=audioControls globaloptions_
-useWithPrefix=subtitleControls globaloptions_
-
-# volume tab
-opYoffset=vBorder
-useWithPrefix=volumeControls globaloptions_
-
-# audio tab
-opYoffset=vBorder
-gameoptions_audioCheckbox=gox opYoffset (kFontHeight + 10 + 180) buttonHeight
-opYoffset=(opYoffset + buttonHeight + 6)
-useWithPrefix=audioControls gameoptions_
-useWithPrefix=subtitleControls gameoptions_
-
-# volume tab
-opYoffset=vBorder
-gameoptions_volumeCheckbox=gox opYoffset (kFontHeight + 10 + 190) buttonHeight
-opYoffset=(opYoffset + buttonHeight + 6)
-useWithPrefix=volumeControls gameoptions_
-
diff --git a/gui/themes/modern.ini b/gui/themes/modern.ini
index c5c8d8c46c..25fd8da01d 100644
--- a/gui/themes/modern.ini
+++ b/gui/themes/modern.ini
@@ -1,7 +1,7 @@
# $URL$
# $Id$
[theme]
-version=21
+version=22
type=modern
name=Modern Style
@@ -223,7 +223,7 @@ Console.leftPadding=7
Console.rightPadding=5
Console.topPadding=5
Console.bottomPadding=5
-TabWidget.tabWidth=85
+TabWidget.tabWidth=75
TabWidget.tabHeight=27
TabWidget.titleVPad=8
TabWidget.navButtonRightPad=3
@@ -236,15 +236,7 @@ opHeight=insetH
useWithPrefix=chooser defaultChooser_
##### browser
-browser=insetX insetY insetW insetH
-set_parent=browser
-browser_headline=10 5 (parent.w - 2 * 10) kLineHeight
-browser_headline.align=kTextAlignCenter
-browser_path=10 (prev.y2 + 5) prev.w prev.h
-browser_list=10 prev.y2 prev.w (parent.h - 3 * kLineHeight - buttonHeight - 14)
-browser_up=10 (parent.h - buttonHeight - 8) buttonWidth buttonHeight
-browser_cancel=(parent.w - 2 * (buttonWidth + 10)) (parent.h - buttonHeight - 8) buttonWidth buttonHeight
-browser_choose=(prev.x2 + 10) prev.y prev.w prev.h
+use=browser
##### launcher
launcher_version=launcherVersionX launcherVersionY 247 kLineHeight
@@ -278,9 +270,12 @@ useWithPrefix=graphicsControls globaloptions_
# audio tab
opYoffset=vBorder
useWithPrefix=audioControls globaloptions_
-useWithPrefix=volumeControls globaloptions_
useWithPrefix=subtitleControls globaloptions_
+# volume tab
+opYoffset=vBorder
+useWithPrefix=volumeControls globaloptions_
+
# MIDI tab
opYoffset=vBorder
useWithPrefix=midiControls globaloptions_
@@ -359,9 +354,14 @@ opYoffset=vBorder
gameoptions_audioCheckbox=gox opYoffset (kFontHeight + 10 + 180) buttonHeight
opYoffset=(opYoffset + buttonHeight + 6)
useWithPrefix=audioControls gameoptions_
-useWithPrefix=volumeControls gameoptions_
useWithPrefix=subtitleControls gameoptions_
+# volume tab
+opYoffset=vBorder
+gameoptions_volumeCheckbox=gox opYoffset (kFontHeight + 10 + 180) buttonHeight
+opYoffset=(opYoffset + buttonHeight + 6)
+useWithPrefix=volumeControls gameoptions_
+
# midi tab
opYoffset=vBorder
gameoptions_midiCheckbox=gox opYoffset (kFontHeight + 10 + 174) buttonHeight
@@ -460,6 +460,17 @@ chooser_list=10 (6 + kLineHeight + 2) prev.w (opHeight - self.y - buttonHeight -
chooser_cancel=(chooserW - 2 * (buttonWidth + 10)) (opHeight - buttonHeight - 8) buttonWidth buttonHeight
chooser_ok=(prev.x2 + 10) prev.y prev.w prev.h
+[browser]
+browser=insetX insetY insetW insetH
+set_parent=browser
+browser_headline=10 5 (parent.w - 2 * 10) kLineHeight
+browser_headline.align=kTextAlignCenter
+browser_path=10 (prev.y2 + 5) prev.w prev.h
+browser_list=10 prev.y2 prev.w (parent.h - 3 * kLineHeight - buttonHeight - 14)
+browser_up=10 (parent.h - buttonHeight - 8) buttonWidth buttonHeight
+browser_cancel=(parent.w - 2 * (buttonWidth + 10)) (parent.h - buttonHeight - 8) buttonWidth buttonHeight
+browser_choose=(prev.x2 + 10) prev.y prev.w prev.h
+
[graphicsControls]
gcx=(opXoffset + 10)
gcw=(parent.w - gcx - 25)
@@ -566,7 +577,6 @@ use=extra
pix_checkbox_empty="checkbox_empty320.bmp"
pix_checkbox_checked="checkbox_checked320.bmp"
pix_cursor_image="cursor320.bmp"
-def_volumeControlsInAudio=false
# NES resoltuion
[256x240]
@@ -582,7 +592,6 @@ def_insetW=(w - buttonWidth - 17 * 2 - insetX)
def_insetH=(h - 13 - insetY)
def_launcherVersionX=50
def_launcherVersionY=5
-def_volumeControlsInAudio=false
def_midiControlsSpacing=2
def_gameOptionsOverrideVPad=10
def_aboutXOff=3
@@ -603,28 +612,6 @@ launcher_logo.visible=true
# Override extras
inactive_dialog_shading=kShadingNone
-# Override audio tab
-set_parent=gameoptions
-vBorder=10
-
-# audio tab
-opYoffset=vBorder
-useWithPrefix=audioControls globaloptions_
-useWithPrefix=subtitleControls globaloptions_
-
-# volume tab
-opYoffset=vBorder
-useWithPrefix=volumeControls globaloptions_
-
-# audio tab
-opYoffset=vBorder
-gameoptions_audioCheckbox=gox opYoffset (kFontHeight + 10 + 180) buttonHeight
-opYoffset=(opYoffset + buttonHeight + 6)
-useWithPrefix=audioControls gameoptions_
-useWithPrefix=subtitleControls gameoptions_
-
-# volume tab
-opYoffset=vBorder
-gameoptions_volumeCheckbox=gox opYoffset (kFontHeight + 10 + 180) buttonHeight
-opYoffset=(opYoffset + buttonHeight + 6)
-useWithPrefix=volumeControls gameoptions_
+# Override browser
+def_buttonWidth=90
+use=browser