changeset 17131:bdd32cc48468 draft

(svn r21868) -Fix (r21866 and some more): the changes to the main toolbar rail types dropdown should happen for the autoreplace dropdown as well
author rubidium <rubidium@openttd.org>
date Thu, 20 Jan 2011 12:40:40 +0000
parents 97e8cda8fc10
children dfc5b2f5c5b8
files src/autoreplace_gui.cpp
diffstat 1 files changed, 3 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/autoreplace_gui.cpp
+++ b/src/autoreplace_gui.cpp
@@ -25,6 +25,7 @@
 #include "engine_gui.h"
 #include "settings_func.h"
 #include "core/geometry_func.hpp"
+#include "rail_gui.h"
 
 #include "table/strings.h"
 
@@ -420,18 +421,9 @@
 				this->SetDirty();
 				break;
 
-			case RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN: { // Railtype selection dropdown menu
-				const Company *c = Company::Get(_local_company);
-				DropDownList *list = new DropDownList();
-				for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
-					const RailtypeInfo *rti = GetRailTypeInfo(rt);
-					/* Skip rail type if it has no label */
-					if (rti->label == 0) continue;
-					list->push_back(new DropDownListStringItem(rti->strings.replace_text, rt, !HasBit(c->avail_railtypes, rt)));
-				}
-				ShowDropDownList(this, list, sel_railtype, RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN);
+			case RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN: // Railtype selection dropdown menu
+				ShowDropDownList(this, GetRailTypeDropDownList(true), sel_railtype, RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN);
 				break;
-			}
 
 			case RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE: // toggle renew_keep_length
 				DoCommandP(0, GetCompanySettingIndex("company.renew_keep_length"), Company::Get(_local_company)->settings.renew_keep_length ? 0 : 1, CMD_CHANGE_COMPANY_SETTING);