diff options
author | Vicent Marti | 2008-08-15 11:05:25 +0000 |
---|---|---|
committer | Vicent Marti | 2008-08-15 11:05:25 +0000 |
commit | 1b0c29cb015e00d26db44391f994867f15d26f53 (patch) | |
tree | 1a2a386500f556c7e0b0eed46efe84c580881724 /gui/options.cpp | |
parent | 8e60e6c558be96286ad8df3502c69060f9db117c (diff) | |
download | scummvm-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.cpp | 16 |
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(); } |