diff -r ab2ce62f1eb6 src/settings_gui.cpp --- a/src/settings_gui.cpp Fri Nov 07 11:23:15 2008 +0100 +++ b/src/settings_gui.cpp Fri Nov 07 11:45:25 2008 +0100 @@ -743,6 +743,7 @@ enum PatchesSelectionWidgets { PATCHSEL_OPTIONSPANEL = 3, ///< Panel widget containing the option lists PATCHSEL_SCROLLBAR, ///< Scrollbar + PATCHSEL_RESIZE, ///< Resize button PATCHSEL_INTERFACE, ///< Button 'Interface' PATCHSEL_CONSTRUCTION, ///< Button 'Construction' PATCHSEL_VEHICLES, ///< Button 'Vehicles' @@ -797,6 +798,10 @@ this->vscroll.cap = (this->widget[PATCHSEL_OPTIONSPANEL].bottom - this->widget[PATCHSEL_OPTIONSPANEL].top - 8) / SETTING_HEIGHT; SetVScrollCount(this, _patches_page[page].num); + this->resize.step_height = SETTING_HEIGHT; + this->resize.height = this->height; + this->resize.step_width = 1; + this->resize.width = this->width; this->LowerWidget(page + PATCHSEL_INTERFACE); // Depress button of currently selected page @@ -980,6 +985,12 @@ this->SetDirty(); } } + + virtual void OnResize(Point new_size, Point delta) + { + this->vscroll.cap += delta.y / SETTING_HEIGHT; + SetVScrollCount(this, _patches_page[page].num); + } }; GameSettings *PatchesSelectionWindow::patches_ptr = NULL; @@ -990,8 +1001,9 @@ { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_MAUVE, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, { WWT_CAPTION, RESIZE_NONE, COLOUR_MAUVE, 11, 381, 0, 13, STR_CONFIG_PATCHES_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS}, { WWT_PANEL, RESIZE_NONE, COLOUR_MAUVE, 0, 381, 14, 41, 0x0, STR_NULL}, -{ WWT_PANEL, RESIZE_NONE, COLOUR_MAUVE, 0, 369, 42, 215, 0x0, STR_NULL}, // PATCHSEL_OPTIONSPANEL -{ WWT_SCROLLBAR, RESIZE_NONE, COLOUR_MAUVE, 370, 381, 42, 215, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, // PATCHSEL_SCROLLBAR +{ WWT_PANEL, RESIZE_BOTTOM, COLOUR_MAUVE, 0, 369, 42, 215, 0x0, STR_NULL}, // PATCHSEL_OPTIONSPANEL +{ WWT_SCROLLBAR, RESIZE_BOTTOM, COLOUR_MAUVE, 370, 381, 42, 203, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, // PATCHSEL_SCROLLBAR +{ WWT_RESIZEBOX, RESIZE_TB, COLOUR_MAUVE, 370, 381, 204, 215, 0x0, STR_RESIZE_BUTTON}, // PATCHSEL_RESIZE { WWT_TEXTBTN, RESIZE_NONE, COLOUR_YELLOW, 10, 100, 16, 27, STR_CONFIG_PATCHES_GUI, STR_NULL}, // PATCHSEL_INTERFACE { WWT_TEXTBTN, RESIZE_NONE, COLOUR_YELLOW, 101, 191, 16, 27, STR_CONFIG_PATCHES_CONSTRUCTION, STR_NULL}, // PATCHSEL_CONSTRUCTION @@ -1005,7 +1017,7 @@ static const WindowDesc _patches_selection_desc = { WDP_CENTER, WDP_CENTER, 382, 216, 382, 216, WC_GAME_OPTIONS, WC_NONE, - WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, + WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE, _patches_selection_widgets, };