--- a/src/airport_gui.cpp Sun Jan 28 00:28:12 2007 +0000
+++ b/src/airport_gui.cpp Sun Jan 28 10:09:40 2007 +0000
@@ -135,8 +135,8 @@
if (!IsValidPlayer(_current_player)) return;
DeleteWindowById(WC_BUILD_TOOLBAR, 0);
- AllocateWindowDescFront(&_air_toolbar_desc, 0);
- if (_patches.link_terraform_toolbar) ShowTerraformToolbar();
+ Window *w = AllocateWindowDescFront(&_air_toolbar_desc, 0);
+ if (_patches.link_terraform_toolbar) ShowTerraformToolbar(w);
}
static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
--- a/src/dock_gui.cpp Sun Jan 28 00:28:12 2007 +0000
+++ b/src/dock_gui.cpp Sun Jan 28 10:09:40 2007 +0000
@@ -219,8 +219,8 @@
if (!IsValidPlayer(_current_player)) return;
DeleteWindowById(WC_BUILD_TOOLBAR, 0);
- AllocateWindowDesc(&_build_docks_toolbar_desc);
- if (_patches.link_terraform_toolbar) ShowTerraformToolbar();
+ Window *w = AllocateWindowDesc(&_build_docks_toolbar_desc);
+ if (_patches.link_terraform_toolbar) ShowTerraformToolbar(w);
}
static void BuildDockStationWndProc(Window *w, WindowEvent *e)
--- a/src/gui.h Sun Jan 28 00:28:12 2007 +0000
+++ b/src/gui.h Sun Jan 28 10:09:40 2007 +0000
@@ -57,7 +57,7 @@
void ShowBuildAirToolbar(void);
/* terraform_gui.c */
-void ShowTerraformToolbar(void);
+void ShowTerraformToolbar(Window *link = NULL);
/* tgp_gui.c */
void ShowGenerateLandscape(void);
--- a/src/rail_gui.cpp Sun Jan 28 00:28:12 2007 +0000
+++ b/src/rail_gui.cpp Sun Jan 28 10:09:40 2007 +0000
@@ -624,7 +624,7 @@
_build_railroad_button_proc[button](w);
UpdateRemoveWidgetStatus(w, button + 4);
}
- if (_patches.link_terraform_toolbar) ShowTerraformToolbar();
+ if (_patches.link_terraform_toolbar) ShowTerraformToolbar(w);
}
/* TODO: For custom stations, respect their allowed platforms/lengths bitmasks!
--- a/src/road_gui.cpp Sun Jan 28 00:28:12 2007 +0000
+++ b/src/road_gui.cpp Sun Jan 28 10:09:40 2007 +0000
@@ -329,8 +329,8 @@
if (!IsValidPlayer(_current_player)) return;
DeleteWindowById(WC_BUILD_TOOLBAR, 0);
- AllocateWindowDesc(&_build_road_desc);
- if (_patches.link_terraform_toolbar) ShowTerraformToolbar();
+ Window *w = AllocateWindowDesc(&_build_road_desc);
+ if (_patches.link_terraform_toolbar) ShowTerraformToolbar(w);
}
static const Widget _build_road_scen_widgets[] = {
--- a/src/terraform_gui.cpp Sun Jan 28 00:28:12 2007 +0000
+++ b/src/terraform_gui.cpp Sun Jan 28 10:09:40 2007 +0000
@@ -278,8 +278,15 @@
TerraformToolbWndProc
};
-void ShowTerraformToolbar(void)
+void ShowTerraformToolbar(Window *link)
{
if (!IsValidPlayer(_current_player)) return;
- AllocateWindowDescFront(&_terraform_desc, 0);
+ Window *w = AllocateWindowDescFront(&_terraform_desc, 0);
+ if (w != NULL && link != NULL) {
+ /* Align the terraform toolbar under the main toolbar and put the linked
+ * toolbar to left of it
+ */
+ w->top = 22;
+ link->left = w->left - link->width;
+ }
}