mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r12174) -Codechange: Make the patches window dynamically resize to the largest patch tab, so adding patch options is simply a case of adding to the lists.
This commit is contained in:
parent
06de1215c1
commit
b3f304cde3
|
@ -860,6 +860,7 @@ enum PatchesSelectionWidgets {
|
||||||
static void PatchesSelectionWndProc(Window *w, WindowEvent *e)
|
static void PatchesSelectionWndProc(Window *w, WindowEvent *e)
|
||||||
{
|
{
|
||||||
static Patches *patches_ptr;
|
static Patches *patches_ptr;
|
||||||
|
static int patches_max = 0;
|
||||||
|
|
||||||
switch (e->event) {
|
switch (e->event) {
|
||||||
case WE_CREATE: {
|
case WE_CREATE: {
|
||||||
|
@ -873,6 +874,8 @@ static void PatchesSelectionWndProc(Window *w, WindowEvent *e)
|
||||||
for (page = &_patches_page[0]; page != endof(_patches_page); page++) {
|
for (page = &_patches_page[0]; page != endof(_patches_page); page++) {
|
||||||
uint i;
|
uint i;
|
||||||
|
|
||||||
|
if (patches_max < page->num) patches_max = page->num;
|
||||||
|
|
||||||
page->entries = MallocT<PatchEntry>(page->num);
|
page->entries = MallocT<PatchEntry>(page->num);
|
||||||
for (i = 0; i != page->num; i++) {
|
for (i = 0; i != page->num; i++) {
|
||||||
uint index;
|
uint index;
|
||||||
|
@ -885,6 +888,10 @@ static void PatchesSelectionWndProc(Window *w, WindowEvent *e)
|
||||||
}
|
}
|
||||||
first_time = false;
|
first_time = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Resize the window to fit the largest patch tab */
|
||||||
|
ResizeWindowForWidget(w, PATCHSEL_OPTIONSPANEL, 0, patches_max * 11);
|
||||||
|
|
||||||
w->LowerWidget(4);
|
w->LowerWidget(4);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
@ -1071,7 +1078,7 @@ static const Widget _patches_selection_widgets[] = {
|
||||||
{ WWT_CLOSEBOX, RESIZE_NONE, 10, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
{ WWT_CLOSEBOX, RESIZE_NONE, 10, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||||
{ WWT_CAPTION, RESIZE_NONE, 10, 11, 369, 0, 13, STR_CONFIG_PATCHES_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
{ WWT_CAPTION, RESIZE_NONE, 10, 11, 369, 0, 13, STR_CONFIG_PATCHES_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 14, 41, 0x0, STR_NULL},
|
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 14, 41, 0x0, STR_NULL},
|
||||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 380, 0x0, STR_NULL},
|
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 50, 0x0, STR_NULL},
|
||||||
|
|
||||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 10, 96, 16, 27, STR_CONFIG_PATCHES_GUI, STR_NULL},
|
{ WWT_TEXTBTN, RESIZE_NONE, 3, 10, 96, 16, 27, STR_CONFIG_PATCHES_GUI, STR_NULL},
|
||||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 97, 183, 16, 27, STR_CONFIG_PATCHES_CONSTRUCTION, STR_NULL},
|
{ WWT_TEXTBTN, RESIZE_NONE, 3, 97, 183, 16, 27, STR_CONFIG_PATCHES_CONSTRUCTION, STR_NULL},
|
||||||
|
@ -1083,7 +1090,7 @@ static const Widget _patches_selection_widgets[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const WindowDesc _patches_selection_desc = {
|
static const WindowDesc _patches_selection_desc = {
|
||||||
WDP_CENTER, WDP_CENTER, 370, 381, 370, 381,
|
WDP_CENTER, WDP_CENTER, 370, 51, 370, 51,
|
||||||
WC_GAME_OPTIONS, WC_NONE,
|
WC_GAME_OPTIONS, WC_NONE,
|
||||||
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
|
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
|
||||||
_patches_selection_widgets,
|
_patches_selection_widgets,
|
||||||
|
|
Loading…
Reference in New Issue