# HG changeset patch # User frosch # Date 2013-05-26 19:24:37 # Node ID 9f75bb534f779767ba863a75b49a07b7f4cab1de # Parent 1bf2fbb0359326adebcd612331ba04812e051bc0 (svn r25289) -Codechange: Store width of statusbar and main toolbar directly in the WindowDesc. diff --git a/src/statusbar_gui.cpp b/src/statusbar_gui.cpp --- a/src/statusbar_gui.cpp +++ b/src/statusbar_gui.cpp @@ -251,8 +251,6 @@ bool IsNewsTickerShown() return w != NULL && w->ticker_scroll < StatusBarWindow::TICKER_STOP; } -int16 *_preferred_statusbar_size = &_main_status_desc.default_width; ///< Pointer to the default size for the status toolbar. - /** * Show our status bar. */ diff --git a/src/statusbar_gui.h b/src/statusbar_gui.h --- a/src/statusbar_gui.h +++ b/src/statusbar_gui.h @@ -25,6 +25,4 @@ enum StatusBarInvalidate { bool IsNewsTickerShown(); void ShowStatusBar(); -extern int16 *_preferred_statusbar_size; - #endif /* STATUSBAR_GUI_H */ diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -1203,8 +1203,6 @@ static MenuClickedProc * const _menu_cli MenuClickHelp, // 26 }; -int16 *_preferred_toolbar_size = NULL; ///< Pointer to the default size for the main toolbar. - /** Full blown container to make it behave exactly as we want :) */ class NWidgetToolbarContainer : public NWidgetContainer { bool visible[WID_TN_END]; ///< The visible headers @@ -1256,7 +1254,7 @@ public: child_wid->current_x = child_wid->smallest_x; } } - *_preferred_toolbar_size = nbuttons * this->smallest_x; + w->window_desc->default_width = nbuttons * this->smallest_x; } void AssignSizePosition(SizingType sizing, uint x, uint y, uint given_width, uint given_height, bool rtl) @@ -1428,7 +1426,7 @@ class NWidgetScenarioToolbarContainer : assert(i < lengthof(this->panel_widths)); this->panel_widths[i++] = child_wid->current_x; - *_preferred_toolbar_size += child_wid->current_x; + w->window_desc->default_width += child_wid->current_x; } } @@ -2111,10 +2109,8 @@ void AllocateToolbar() _last_built_roadtype = ROADTYPE_ROAD; if (_game_mode == GM_EDITOR) { - _preferred_toolbar_size = &_toolb_scen_desc.default_width; new ScenarioEditorToolbarWindow(&_toolb_scen_desc); } else { - _preferred_toolbar_size = &_toolb_normal_desc.default_width; new MainToolbarWindow(&_toolb_normal_desc); } } diff --git a/src/toolbar_gui.h b/src/toolbar_gui.h --- a/src/toolbar_gui.h +++ b/src/toolbar_gui.h @@ -16,6 +16,4 @@ void AllocateToolbar(); void ToggleBoundingBoxes(); void ToggleDirtyBlocks(); -extern int16 *_preferred_toolbar_size; - #endif /* TOOLBAR_GUI_H */ diff --git a/src/window.cpp b/src/window.cpp --- a/src/window.cpp +++ b/src/window.cpp @@ -3126,7 +3126,7 @@ void RelocateAllWindows(int neww, int ne continue; case WC_MAIN_TOOLBAR: - ResizeWindow(w, min(neww, *_preferred_toolbar_size) - w->width, 0, false); + ResizeWindow(w, min(neww, w->window_desc->default_width) - w->width, 0, false); top = w->top; left = PositionMainToolbar(w); // changes toolbar orientation @@ -3138,7 +3138,7 @@ void RelocateAllWindows(int neww, int ne break; case WC_STATUS_BAR: - ResizeWindow(w, min(neww, *_preferred_statusbar_size) - w->width, 0, false); + ResizeWindow(w, min(neww, w->window_desc->default_width) - w->width, 0, false); top = newh - w->height; left = PositionStatusbar(w);