aboutsummaryrefslogtreecommitdiff
path: root/gui/options.cpp
diff options
context:
space:
mode:
authorVicent Marti2008-08-15 11:05:25 +0000
committerVicent Marti2008-08-15 11:05:25 +0000
commit1b0c29cb015e00d26db44391f994867f15d26f53 (patch)
tree1a2a386500f556c7e0b0eed46efe84c580881724 /gui/options.cpp
parent8e60e6c558be96286ad8df3502c69060f9db117c (diff)
downloadscummvm-rg350-1b0c29cb015e00d26db44391f994867f15d26f53.tar.gz
scummvm-rg350-1b0c29cb015e00d26db44391f994867f15d26f53.tar.bz2
scummvm-rg350-1b0c29cb015e00d26db44391f994867f15d26f53.zip
Added popup widget in Options menu to change GUI renderer on the fly.
svn-id: r33898
Diffstat (limited to 'gui/options.cpp')
-rw-r--r--gui/options.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/gui/options.cpp b/gui/options.cpp
index 6377bd6377..05b0f790a2 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -724,9 +724,16 @@ GlobalOptionsDialog::GlobalOptionsDialog()
new ButtonWidget(tab, "GlobalOptions_Misc.ThemeButton", "Theme:", kChooseThemeCmd, 0);
_curTheme = new StaticTextWidget(tab, "GlobalOptions_Misc.CurTheme", g_gui.theme()->getThemeName());
+
int labelWidth = g_gui.xmlEval()->getVar("Globals.TabLabelWidth");
-
+
+ _rendererPopUp = new PopUpWidget(tab, "GlobalOptions_Misc.Renderer", "GUI Renderer:", labelWidth);
+
+ for (int i = 1; i < GUI::ThemeRenderer::kGfxMAX; ++i) {
+ _rendererPopUp->appendEntry(GUI::ThemeRenderer::rendererModeLabels[i], i);
+ }
+
_autosavePeriodPopUp = new PopUpWidget(tab, "GlobalOptions_Misc.AutosavePeriod", "Autosave:", labelWidth);
for (int i = 0; savePeriodLabels[i]; i++) {
@@ -799,6 +806,8 @@ void GlobalOptionsDialog::open() {
if (value == savePeriodValues[i])
_autosavePeriodPopUp->setSelected(i);
}
+
+ _rendererPopUp->setSelected(ConfMan.getInt("gui_renderer") - 1);
}
void GlobalOptionsDialog::close() {
@@ -828,6 +837,11 @@ void GlobalOptionsDialog::close() {
#endif
ConfMan.setInt("autosave_period", _autosavePeriodPopUp->getSelectedTag(), _domain);
+
+ if ((int)_rendererPopUp->getSelectedTag() != ConfMan.getInt("gui_renderer")) {
+ g_gui.loadNewTheme(g_gui.theme()->getThemeFileName(), (GUI::ThemeRenderer::GraphicsMode)_rendererPopUp->getSelectedTag());
+ ConfMan.setInt("gui_renderer", _rendererPopUp->getSelectedTag(), _domain);
+ }
}
OptionsDialog::close();
}