summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/order_gui.cpp57
1 files changed, 31 insertions, 26 deletions
diff --git a/src/order_gui.cpp b/src/order_gui.cpp
index 2631978fa..65be76fde 100644
--- a/src/order_gui.cpp
+++ b/src/order_gui.cpp
@@ -127,6 +127,32 @@ static const StringID _station_load_types[][5] = {
}
};
+static const StringID _order_non_stop_drowdown[] = {
+ STR_ORDER_GO_TO,
+ STR_ORDER_GO_NON_STOP_TO,
+ STR_ORDER_GO_VIA,
+ STR_ORDER_GO_NON_STOP_VIA,
+ INVALID_STRING_ID
+};
+
+static const StringID _order_full_load_drowdown[] = {
+ STR_ORDER_DROP_LOAD_IF_POSSIBLE,
+ STR_EMPTY,
+ STR_ORDER_DROP_FULL_LOAD_ALL,
+ STR_ORDER_DROP_FULL_LOAD_ANY,
+ STR_ORDER_DROP_NO_LOADING,
+ INVALID_STRING_ID
+};
+
+static const StringID _order_unload_drowdown[] = {
+ STR_ORDER_DROP_UNLOAD_IF_ACCEPTED,
+ STR_ORDER_DROP_UNLOAD,
+ STR_ORDER_DROP_TRANSFER,
+ STR_EMPTY,
+ STR_ORDER_DROP_NO_UNLOADING,
+ INVALID_STRING_ID
+};
+
static void DrawOrdersWindow(Window *w)
{
const Vehicle *v = GetVehicle(w->window_number);
@@ -138,6 +164,11 @@ static void DrawOrdersWindow(Window *w)
const Order *order = GetVehicleOrder(v, sel);
if (v->owner == _local_player) {
+ /* Set the strings for the dropdown boxes. */
+ w->widget[ORDER_WIDGET_NON_STOP].data = _order_non_stop_drowdown[order == NULL ? 0 : order->GetNonStopType()];
+ w->widget[ORDER_WIDGET_FULL_LOAD].data = _order_full_load_drowdown[order == NULL ? 0 : order->GetLoadType()];
+ w->widget[ORDER_WIDGET_UNLOAD].data = _order_unload_drowdown[order == NULL ? 0 : order->GetUnloadType()];
+
/* skip */
w->SetWidgetDisabledState(ORDER_WIDGET_SKIP, v->num_orders <= 1);
@@ -581,32 +612,6 @@ static const uint16 _order_keycodes[] = {
'K' //unload
};
-static const StringID _order_non_stop_drowdown[] = {
- STR_ORDER_GO_TO,
- STR_ORDER_GO_NON_STOP_TO,
- STR_ORDER_GO_VIA,
- STR_ORDER_GO_NON_STOP_VIA,
- INVALID_STRING_ID
-};
-
-static const StringID _order_full_load_drowdown[] = {
- STR_ORDER_DROP_LOAD_IF_POSSIBLE,
- STR_EMPTY,
- STR_ORDER_DROP_FULL_LOAD_ALL,
- STR_ORDER_DROP_FULL_LOAD_ANY,
- STR_ORDER_DROP_NO_LOADING,
- INVALID_STRING_ID
-};
-
-static const StringID _order_unload_drowdown[] = {
- STR_ORDER_DROP_UNLOAD_IF_ACCEPTED,
- STR_ORDER_DROP_UNLOAD,
- STR_ORDER_DROP_TRANSFER,
- STR_EMPTY,
- STR_ORDER_DROP_NO_UNLOADING,
- INVALID_STRING_ID
-};
-
static void OrdersWndProc(Window *w, WindowEvent *e)
{
const Vehicle *v = GetVehicle(w->window_number);