Fixed toolbar and status bar

This commit is contained in:
pelya
2015-04-13 01:11:50 +03:00
parent 13ad49d329
commit 7dc511ba5c
3 changed files with 13 additions and 2 deletions

View File

@@ -26,6 +26,7 @@
#include "statusbar_gui.h" #include "statusbar_gui.h"
#include "toolbar_gui.h" #include "toolbar_gui.h"
#include "core/geometry_func.hpp" #include "core/geometry_func.hpp"
#include "settings_gui.h"
#include "widgets/statusbar_widget.h" #include "widgets/statusbar_widget.h"
@@ -104,7 +105,7 @@ struct StatusBarWindow : Window {
virtual void FindWindowPlacementAndResize(int def_width, int def_height) virtual void FindWindowPlacementAndResize(int def_width, int def_height)
{ {
Window::FindWindowPlacementAndResize(_toolbar_width, def_height); Window::FindWindowPlacementAndResize(min(_toolbar_width, _screen.width - SETTING_BUTTON_HEIGHT * 2), def_height);
} }
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)

View File

@@ -1541,6 +1541,16 @@ public:
* @return the button configuration. * @return the button configuration.
*/ */
virtual const byte *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const = 0; virtual const byte *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const = 0;
/**
* Override NWidgetContainer::Add to setup minimal button size,
* this will force buttons to resize to the min_button size defined in settings
*/
void Add(NWidgetResizeBase *child)
{
child->SetMinimalSize(9,9);
NWidgetContainer::Add(child);
}
}; };
/** Container for the 'normal' main toolbar */ /** Container for the 'normal' main toolbar */

View File

@@ -3602,7 +3602,7 @@ void RelocateAllWindows(int neww, int newh)
break; break;
case WC_STATUS_BAR: case WC_STATUS_BAR:
ResizeWindow(w, min(neww, _toolbar_width) - w->width, 0, false); ResizeWindow(w, min(neww, min(_toolbar_width, _screen.width - SETTING_BUTTON_HEIGHT * 2)) - w->width, 0, false);
top = newh - w->height; top = newh - w->height;
left = PositionStatusbar(w); left = PositionStatusbar(w);