changeset 15920:74e5e0907a80 draft

(svn r20604) -Feature: add a reset button to the newgrf parameters window
author yexo <yexo@openttd.org>
date Mon, 23 Aug 2010 22:25:50 +0000
parents 67d05b4e7503
children 7c1f97a04d96
files src/ai/ai_gui.cpp src/lang/english.txt src/newgrf_config.cpp src/newgrf_gui.cpp
diffstat 4 files changed, 15 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ai/ai_gui.cpp
+++ b/src/ai/ai_gui.cpp
@@ -203,7 +203,7 @@
 	EndContainer(),
 	NWidget(WWT_PANEL, COLOUR_MAUVE, AIL_WIDGET_INFO_BG), SetMinimalTextLines(8, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), SetResize(1, 0),
 	EndContainer(),
-		NWidget(NWID_HORIZONTAL),
+	NWidget(NWID_HORIZONTAL),
 		NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
 			NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIL_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_ACCEPT, STR_AI_LIST_ACCEPT_TOOLTIP),
 			NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIL_WIDGET_CANCEL), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_CANCEL, STR_AI_LIST_CANCEL_TOOLTIP),
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -2398,6 +2398,8 @@
 # NewGRF parameters window
 STR_NEWGRF_PARAMETERS_CAPTION                                   :{WHITE}Change NewGRF parameters
 STR_NEWGRF_PARAMETERS_CLOSE                                     :{BLACK}Close
+STR_NEWGRF_PARAMETERS_RESET                                     :{BLACK}Reset
+STR_NEWGRF_PARAMETERS_RESET_TOOLTIP                             :{BLACK}Set all parameters to their default value
 STR_NEWGRF_PARAMETERS_DEFAULT_NAME                              :Parameter {NUM}
 STR_NEWGRF_PARAMETERS_SETTING                                   :{STRING1}: {ORANGE}{STRING1}
 
--- a/src/newgrf_config.cpp
+++ b/src/newgrf_config.cpp
@@ -101,6 +101,9 @@
 /** Set the default value for all parameters as specified by action14. */
 void GRFConfig::SetParameterDefaults()
 {
+	this->num_params = 0;
+	MemSetT<uint32>(this->param, 0, lengthof(this->param));
+
 	if (!this->has_param_defaults) return;
 
 	for (uint i = 0; i < this->param_info.Length(); i++) {
--- a/src/newgrf_gui.cpp
+++ b/src/newgrf_gui.cpp
@@ -128,6 +128,7 @@
 	GRFPAR_WIDGET_BACKGROUND,  ///< Panel to draw the settings on
 	GRFPAR_WIDGET_SCROLLBAR,   ///< Scrollbar to scroll through all settings
 	GRFPAR_WIDGET_ACCEPT,      ///< Accept button
+	GRFPAR_WIDGET_RESET,       ///< Reset button
 	GRFPAR_WIDGET_DESCRIPTION, ///< Multi-line description of a parameter
 };
 
@@ -293,6 +294,10 @@
 				break;
 			}
 
+			case GRFPAR_WIDGET_RESET:
+				this->grf_config->SetParameterDefaults();
+				break;
+
 			case GRFPAR_WIDGET_ACCEPT:
 				delete this;
 				break;
@@ -340,7 +345,10 @@
 	NWidget(WWT_PANEL, COLOUR_MAUVE, GRFPAR_WIDGET_DESCRIPTION), SetResize(1, 0), SetFill(1, 0),
 	EndContainer(),
 	NWidget(NWID_HORIZONTAL),
-		NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, GRFPAR_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_NEWGRF_PARAMETERS_CLOSE, STR_NULL),
+		NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
+			NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, GRFPAR_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_NEWGRF_PARAMETERS_CLOSE, STR_NULL),
+			NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, GRFPAR_WIDGET_RESET), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_NEWGRF_PARAMETERS_RESET, STR_NEWGRF_PARAMETERS_RESET_TOOLTIP),
+		EndContainer(),
 		NWidget(WWT_RESIZEBOX, COLOUR_MAUVE),
 	EndContainer(),
 };