diff options
| author | Eugene Sandulenko | 2007-02-13 21:06:45 +0000 | 
|---|---|---|
| committer | Eugene Sandulenko | 2007-02-13 21:06:45 +0000 | 
| commit | 474d49dc146876b773bfef80335b740d1b1fa8a7 (patch) | |
| tree | e8e8ab7cc81729d8fbfa97450708b7b1b3143a5c /gui | |
| parent | 75fab28be2b34d62ef81de7e695a8b805bfac097 (diff) | |
| download | scummvm-rg350-474d49dc146876b773bfef80335b740d1b1fa8a7.tar.gz scummvm-rg350-474d49dc146876b773bfef80335b740d1b1fa8a7.tar.bz2 scummvm-rg350-474d49dc146876b773bfef80335b740d1b1fa8a7.zip  | |
Implement FR#1611172: GUI: Add autosave period widgets
svn-id: r25563
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/options.cpp | 22 | ||||
| -rw-r--r-- | gui/options.h | 5 | ||||
| -rw-r--r-- | gui/theme-config.cpp | 2 | ||||
| -rw-r--r-- | gui/themes/modern.ini | 2 | 
4 files changed, 31 insertions, 0 deletions
diff --git a/gui/options.cpp b/gui/options.cpp index aff32dbf4f..fb41c4bfcc 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -81,6 +81,10 @@ enum {  };  #endif +static const char *savePeriodLabels[] = { "Never", "each 5 mins", "each 10 mins", "each 15 mins", "each 30 mins", 0 }; +static const int savePeriodValues[] = { 0, 5 * 60, 10 * 60, 15 * 60, 30 * 60, -1 }; + +  OptionsDialog::OptionsDialog(const String &domain, int x, int y, int w, int h)  	: Dialog(x, y, w, h), _domain(domain) { @@ -697,6 +701,14 @@ GlobalOptionsDialog::GlobalOptionsDialog()  	new ButtonWidget(tab, "globaloptions_themebutton2", "Theme:", kChooseThemeCmd, 0);  	_curTheme = new StaticTextWidget(tab, "globaloptions_curtheme", g_gui.theme()->getThemeName()); +	int labelWidth = g_gui.evaluator()->getVar("tabPopupsLabelW"); + +	_autosavePeriodPopUp = new PopUpWidget(tab, "globaloptions_autosaveperiod", "Autosave: ", labelWidth); + +	for (int i = 0; savePeriodLabels[i]; i++) { +		_autosavePeriodPopUp->appendEntry(savePeriodLabels[i], savePeriodValues[i]); +	} +  	// TODO: joystick setting @@ -748,6 +760,14 @@ void GlobalOptionsDialog::open() {  		_extraPath->setLabel(extraPath);  	}  #endif + +	// Misc Tab +	_autosavePeriodPopUp->setSelected(1); +	int value = ConfMan.getInt("autosave_period"); +	for (int i = 0; savePeriodLabels[i]; i++) { +		if (value == savePeriodValues[i]) +			_autosavePeriodPopUp->setSelected(i); +	}  }  void GlobalOptionsDialog::close() { @@ -762,6 +782,8 @@ void GlobalOptionsDialog::close() {  		String extraPath(_extraPath->getLabel());  		if (!extraPath.empty() && (extraPath != "None"))  			ConfMan.set("extrapath", extraPath, _domain); + +		ConfMan.setInt("autosave_period", _autosavePeriodPopUp->getSelectedTag(), _domain);  	}  	OptionsDialog::close();  } diff --git a/gui/options.h b/gui/options.h index 99dd50d368..1a1dfda2f0 100644 --- a/gui/options.h +++ b/gui/options.h @@ -155,7 +155,12 @@ protected:  	StaticTextWidget *_themePath;  	StaticTextWidget *_extraPath; +	// +	// Misc controls +	//  	StaticTextWidget *_curTheme; + +	PopUpWidget *_autosavePeriodPopUp;  };  } // End of namespace GUI diff --git a/gui/theme-config.cpp b/gui/theme-config.cpp index 524518a689..fdcca9db6b 100644 --- a/gui/theme-config.cpp +++ b/gui/theme-config.cpp @@ -190,6 +190,8 @@ const char *Theme::_defaultConfigINI =  "glOff=((buttonHeight - kLineHeight) / 2 + 2)\n"  "globaloptions_themebutton2=10 yoffset buttonWidth buttonHeight\n"  "globaloptions_curtheme=(prev.x2 + 20) (yoffset + glOff) (parent.w - (prev.w + 20) - 10) kLineHeight\n" +"yoffset=(yoffset + buttonHeight + 4)\n" +"globaloptions_autosaveperiod=10 yoffset (parent.w - 10 - 25) (kLineHeight + 2)\n"  "\n"  "globaloptions_cancel=(parent.w - 2 * (buttonWidth + 10)) (parent.h - buttonHeight - 8) buttonWidth buttonHeight\n"  "globaloptions_ok=(prev.x2 + 10) prev.y prev.w prev.h\n" diff --git a/gui/themes/modern.ini b/gui/themes/modern.ini index 801994680b..fca576dc80 100644 --- a/gui/themes/modern.ini +++ b/gui/themes/modern.ini @@ -304,6 +304,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) kPopUpHeight  globaloptions_cancel=(parent.w - 2 * (buttonWidth + 10)) (parent.h - buttonHeight - 8) buttonWidth buttonHeight  globaloptions_ok=(prev.x2 + 10) prev.y prev.w prev.h  | 
