[aseprite] 44/308: Rename PreferredSize -> SizeHint

Tobias Hansen thansen at moszumanska.debian.org
Tue Mar 8 02:44:50 UTC 2016


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch master
in repository aseprite.

commit cdd955441a3f5d450a5a629f6ee035d0ceedd02f
Author: David Capello <davidcapello at gmail.com>
Date:   Thu Dec 3 21:50:05 2015 -0300

    Rename PreferredSize -> SizeHint
---
 src/app/commands/cmd_export_sprite_sheet.cpp       |  2 +-
 src/app/commands/cmd_keyboard_shortcuts.cpp        |  6 +-
 src/app/commands/filters/color_curve_editor.cpp    |  8 +--
 src/app/commands/filters/color_curve_editor.h      |  2 +-
 src/app/ui/app_menuitem.cpp                        |  6 +-
 src/app/ui/app_menuitem.h                          |  2 +-
 src/app/ui/button_set.cpp                          |  6 +-
 src/app/ui/button_set.h                            |  2 +-
 src/app/ui/color_bar.cpp                           |  4 +-
 src/app/ui/color_button.cpp                        |  8 +--
 src/app/ui/color_button.h                          |  2 +-
 src/app/ui/color_selector.cpp                      |  2 +-
 src/app/ui/color_sliders.cpp                       |  6 +-
 src/app/ui/color_sliders.h                         |  2 +-
 src/app/ui/color_spectrum.cpp                      |  6 +-
 src/app/ui/color_spectrum.h                        |  2 +-
 src/app/ui/color_wheel.cpp                         |  8 +--
 src/app/ui/color_wheel.h                           |  2 +-
 src/app/ui/context_bar.cpp                         | 20 +++----
 src/app/ui/context_bar.h                           |  2 +-
 src/app/ui/data_recovery_view.cpp                  | 12 ++--
 src/app/ui/editor/editor.cpp                       |  4 +-
 src/app/ui/editor/editor.h                         |  2 +-
 src/app/ui/file_list.cpp                           |  4 +-
 src/app/ui/file_list.h                             |  2 +-
 src/app/ui/font_popup.cpp                          | 10 ++--
 src/app/ui/home_view.cpp                           |  2 +-
 src/app/ui/icon_button.cpp                         |  6 +-
 src/app/ui/icon_button.h                           |  2 +-
 src/app/ui/main_window.cpp                         |  2 +-
 src/app/ui/news_listbox.cpp                        | 14 ++---
 src/app/ui/notifications.cpp                       |  8 +--
 src/app/ui/notifications.h                         |  2 +-
 src/app/ui/palette_view.cpp                        |  6 +-
 src/app/ui/palette_view.h                          |  2 +-
 src/app/ui/palettes_listbox.cpp                    |  4 +-
 src/app/ui/palettes_listbox.h                      |  2 +-
 src/app/ui/recent_listbox.cpp                      | 12 ++--
 src/app/ui/resources_listbox.cpp                   | 12 ++--
 src/app/ui/resources_listbox.h                     |  4 +-
 src/app/ui/search_entry.cpp                        | 10 ++--
 src/app/ui/search_entry.h                          |  2 +-
 src/app/ui/skin/style.cpp                          |  6 +-
 src/app/ui/skin/style.h                            |  4 +-
 src/app/ui/status_bar.cpp                          | 10 ++--
 src/app/ui/status_bar.h                            |  2 +-
 src/app/ui/styled_button.cpp                       |  8 +--
 src/app/ui/styled_button.h                         |  2 +-
 src/app/ui/tabs.cpp                                |  4 +-
 src/app/ui/tabs.h                                  |  2 +-
 src/app/ui/timeline.cpp                            |  6 +-
 src/app/ui/timeline.h                              |  2 +-
 src/app/ui/toolbar.cpp                             | 10 ++--
 src/app/ui/toolbar.h                               |  2 +-
 src/app/widget_loader.cpp                          |  2 +-
 src/ui/CMakeLists.txt                              |  2 +-
 src/ui/box.cpp                                     | 12 ++--
 src/ui/box.h                                       |  2 +-
 src/ui/button.cpp                                  |  8 +--
 src/ui/button.h                                    |  2 +-
 src/ui/combobox.cpp                                | 10 ++--
 src/ui/combobox.h                                  |  2 +-
 src/ui/entry.cpp                                   |  6 +-
 src/ui/entry.h                                     |  2 +-
 src/ui/grid.cpp                                    | 10 ++--
 src/ui/grid.h                                      |  2 +-
 src/ui/grid_ui_tests.cpp                           | 16 +++---
 src/ui/image_view.cpp                              |  6 +-
 src/ui/image_view.h                                |  2 +-
 src/ui/int_entry.cpp                               |  8 +--
 src/ui/int_entry.h                                 |  2 +-
 src/ui/label.cpp                                   |  6 +-
 src/ui/label.h                                     |  2 +-
 src/ui/listbox.cpp                                 | 10 ++--
 src/ui/listbox.h                                   |  2 +-
 src/ui/listitem.cpp                                |  8 +--
 src/ui/listitem.h                                  |  2 +-
 src/ui/manager.cpp                                 |  4 +-
 src/ui/manager.h                                   |  2 +-
 src/ui/menu.cpp                                    | 18 +++---
 src/ui/menu.h                                      |  6 +-
 src/ui/panel.cpp                                   |  8 +--
 src/ui/panel.h                                     |  2 +-
 src/ui/popup_window.cpp                            |  8 +--
 src/ui/popup_window.h                              |  2 +-
 src/ui/preferred_size_event.h                      | 40 -------------
 src/ui/separator.cpp                               |  8 +--
 src/ui/separator.h                                 |  2 +-
 ...referred_size_event.cpp => size_hint_event.cpp} | 32 +++++------
 src/ui/size_hint_event.h                           | 39 +++++++++++++
 src/ui/slider.cpp                                  |  6 +-
 src/ui/slider.h                                    |  2 +-
 src/ui/splitter.cpp                                |  8 +--
 src/ui/splitter.h                                  |  2 +-
 src/ui/textbox.cpp                                 |  6 +-
 src/ui/textbox.h                                   |  2 +-
 src/ui/tooltips.cpp                                |  8 +--
 src/ui/tooltips.h                                  |  2 +-
 src/ui/ui.h                                        |  4 +-
 src/ui/view.cpp                                    |  8 +--
 src/ui/view.h                                      |  2 +-
 src/ui/viewport.cpp                                | 12 ++--
 src/ui/viewport.h                                  |  2 +-
 src/ui/widget.cpp                                  | 66 +++++++++++-----------
 src/ui/widget.h                                    | 14 ++---
 src/ui/window.cpp                                  | 14 ++---
 src/ui/window.h                                    |  2 +-
 107 files changed, 367 insertions(+), 368 deletions(-)

diff --git a/src/app/commands/cmd_export_sprite_sheet.cpp b/src/app/commands/cmd_export_sprite_sheet.cpp
index 801efc9..0302d89 100644
--- a/src/app/commands/cmd_export_sprite_sheet.cpp
+++ b/src/app/commands/cmd_export_sprite_sheet.cpp
@@ -633,7 +633,7 @@ private:
   }
 
   void resize() {
-    gfx::Size reqSize = getPreferredSize();
+    gfx::Size reqSize = sizeHint();
     moveWindow(gfx::Rect(getOrigin(), reqSize));
     layout();
     invalidate();
diff --git a/src/app/commands/cmd_keyboard_shortcuts.cpp b/src/app/commands/cmd_keyboard_shortcuts.cpp
index 144c536..13de15e 100644
--- a/src/app/commands/cmd_keyboard_shortcuts.cpp
+++ b/src/app/commands/cmd_keyboard_shortcuts.cpp
@@ -30,7 +30,7 @@
 #include "ui/graphics.h"
 #include "ui/listitem.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/separator.h"
 
@@ -121,7 +121,7 @@ private:
     getRoot()->layout();
   }
 
-  void onPreferredSize(PreferredSizeEvent& ev) override {
+  void onSizeHint(SizeHintEvent& ev) override {
     gfx::Size size = getTextSize();
     size.w = size.w + border().width();
     size.h = size.h + border().height() + 4*guiscale();
@@ -132,7 +132,7 @@ private:
         size.h *= combos;
     }
 
-    ev.setPreferredSize(size);
+    ev.setSizeHint(size);
   }
 
   void onPaint(PaintEvent& ev) override {
diff --git a/src/app/commands/filters/color_curve_editor.cpp b/src/app/commands/filters/color_curve_editor.cpp
index 9640328..7ac7cf3 100644
--- a/src/app/commands/filters/color_curve_editor.cpp
+++ b/src/app/commands/filters/color_curve_editor.cpp
@@ -17,7 +17,7 @@
 #include "ui/manager.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 #include "ui/view.h"
@@ -177,10 +177,10 @@ bool ColorCurveEditor::onProcessMessage(Message* msg)
   return Widget::onProcessMessage(msg);
 }
 
-void ColorCurveEditor::onPreferredSize(PreferredSizeEvent& ev)
+void ColorCurveEditor::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(gfx::Size(1 + border().width(),
-                                1 + border().height()));
+  ev.setSizeHint(gfx::Size(1 + border().width(),
+                           1 + border().height()));
 }
 
 void ColorCurveEditor::onPaint(ui::PaintEvent& ev)
diff --git a/src/app/commands/filters/color_curve_editor.h b/src/app/commands/filters/color_curve_editor.h
index 30c7795..b520e8c 100644
--- a/src/app/commands/filters/color_curve_editor.h
+++ b/src/app/commands/filters/color_curve_editor.h
@@ -30,7 +30,7 @@ namespace app {
 
   protected:
     bool onProcessMessage(ui::Message* msg) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
 
   private:
diff --git a/src/app/ui/app_menuitem.cpp b/src/app/ui/app_menuitem.cpp
index af19cfb..7a25d64 100644
--- a/src/app/ui/app_menuitem.cpp
+++ b/src/app/ui/app_menuitem.cpp
@@ -19,7 +19,7 @@
 #include "ui/accelerator.h"
 #include "ui/menu.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/widget.h"
 
 #include <cstdarg>
@@ -85,7 +85,7 @@ bool AppMenuItem::onProcessMessage(Message* msg)
   return MenuItem::onProcessMessage(msg);
 }
 
-void AppMenuItem::onPreferredSize(PreferredSizeEvent& ev)
+void AppMenuItem::onSizeHint(SizeHintEvent& ev)
 {
   gfx::Size size(0, 0);
 
@@ -105,7 +105,7 @@ void AppMenuItem::onPreferredSize(PreferredSizeEvent& ev)
     }
   }
 
-  ev.setPreferredSize(size);
+  ev.setSizeHint(size);
 }
 
 void AppMenuItem::onClick()
diff --git a/src/app/ui/app_menuitem.h b/src/app/ui/app_menuitem.h
index 456ca0c..2196504 100644
--- a/src/app/ui/app_menuitem.h
+++ b/src/app/ui/app_menuitem.h
@@ -35,7 +35,7 @@ namespace app {
 
   protected:
     bool onProcessMessage(ui::Message* msg) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onClick() override;
 
   private:
diff --git a/src/app/ui/button_set.cpp b/src/app/ui/button_set.cpp
index 9961b1d..64559a0 100644
--- a/src/app/ui/button_set.cpp
+++ b/src/app/ui/button_set.cpp
@@ -21,7 +21,7 @@
 #include "ui/graphics.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 #include "ui/widget.h"
@@ -206,7 +206,7 @@ bool ButtonSet::Item::onProcessMessage(ui::Message* msg)
   return Widget::onProcessMessage(msg);
 }
 
-void ButtonSet::Item::onPreferredSize(ui::PreferredSizeEvent& ev)
+void ButtonSet::Item::onSizeHint(ui::SizeHintEvent& ev)
 {
   gfx::Size iconSize;
   if (m_icon) {
@@ -229,7 +229,7 @@ void ButtonSet::Item::onPreferredSize(ui::PreferredSizeEvent& ev)
   if (info.row == info.grid_rows-1)
     sz.h += 3*guiscale();
 
-  ev.setPreferredSize(sz);
+  ev.setSizeHint(sz);
 }
 
 ButtonSet::ButtonSet(int columns)
diff --git a/src/app/ui/button_set.h b/src/app/ui/button_set.h
index cc03251..6290cc8 100644
--- a/src/app/ui/button_set.h
+++ b/src/app/ui/button_set.h
@@ -28,7 +28,7 @@ namespace app {
     protected:
       void onPaint(ui::PaintEvent& ev) override;
       bool onProcessMessage(ui::Message* msg) override;
-      void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+      void onSizeHint(ui::SizeHintEvent& ev) override;
     private:
       skin::SkinPartPtr m_icon;
     };
diff --git a/src/app/ui/color_bar.cpp b/src/app/ui/color_bar.cpp
index f1649f9..466950f 100644
--- a/src/app/ui/color_bar.cpp
+++ b/src/app/ui/color_bar.cpp
@@ -155,8 +155,8 @@ ColorBar::ColorBar(int align)
   setChildSpacing(2*guiscale());
 
   m_paletteView.setColumns(8);
-  m_fgColor.setPreferredSize(0, m_fgColor.getPreferredSize().h);
-  m_bgColor.setPreferredSize(0, m_bgColor.getPreferredSize().h);
+  m_fgColor.setSizeHint(0, m_fgColor.sizeHint().h);
+  m_bgColor.setSizeHint(0, m_bgColor.sizeHint().h);
 
   // TODO hardcoded scroll bar width should be get from skin.xml file
   int scrollBarWidth = 6*guiscale();
diff --git a/src/app/ui/color_button.cpp b/src/app/ui/color_button.cpp
index 0c10bcc..d1f1071 100644
--- a/src/app/ui/color_button.cpp
+++ b/src/app/ui/color_button.cpp
@@ -26,7 +26,7 @@
 #include "doc/layer.h"
 #include "doc/site.h"
 #include "doc/sprite.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/ui.h"
 
 namespace app {
@@ -158,14 +158,14 @@ bool ColorButton::onProcessMessage(Message* msg)
   return ButtonBase::onProcessMessage(msg);
 }
 
-void ColorButton::onPreferredSize(PreferredSizeEvent& ev)
+void ColorButton::onSizeHint(SizeHintEvent& ev)
 {
   gfx::Rect box;
   getTextIconInfo(&box);
   box.w = 64*guiscale();
 
-  ev.setPreferredSize(box.w + border().width(),
-                      box.h + border().height());
+  ev.setSizeHint(box.w + border().width(),
+                 box.h + border().height());
 }
 
 void ColorButton::onPaint(PaintEvent& ev)
diff --git a/src/app/ui/color_button.h b/src/app/ui/color_button.h
index c67b1da..0c7ed54 100644
--- a/src/app/ui/color_button.h
+++ b/src/app/ui/color_button.h
@@ -36,7 +36,7 @@ namespace app {
   protected:
     // Events
     bool onProcessMessage(ui::Message* msg) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
     void onClick(ui::Event& ev) override;
 
diff --git a/src/app/ui/color_selector.cpp b/src/app/ui/color_selector.cpp
index c2cd859..63d3199 100644
--- a/src/app/ui/color_selector.cpp
+++ b/src/app/ui/color_selector.cpp
@@ -97,7 +97,7 @@ ColorSelector::ColorSelector()
   m_hexColorEntry.ColorChange.connect(&ColorSelector::onColorHexEntryChange, this);
 
   selectColorType(app::Color::RgbType);
-  setPreferredSize(gfx::Size(300*guiscale(), getPreferredSize().h));
+  setSizeHint(gfx::Size(300*guiscale(), sizeHint().h));
 
   m_onPaletteChangeConn =
     App::instance()->PaletteChange.connect(&ColorSelector::onPaletteChange, this);
diff --git a/src/app/ui/color_sliders.cpp b/src/app/ui/color_sliders.cpp
index 1d8c074..aafee26 100644
--- a/src/app/ui/color_sliders.cpp
+++ b/src/app/ui/color_sliders.cpp
@@ -18,7 +18,7 @@
 #include "ui/entry.h"
 #include "ui/graphics.h"
 #include "ui/label.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/slider.h"
 #include "ui/theme.h"
 
@@ -124,9 +124,9 @@ void ColorSliders::resetRelativeSliders()
     slider->setValue(0);
 }
 
-void ColorSliders::onPreferredSize(PreferredSizeEvent& ev)
+void ColorSliders::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(m_grid.getPreferredSize());
+  ev.setSizeHint(m_grid.sizeHint());
 }
 
 void ColorSliders::addSlider(Channel channel, const char* labelText, int min, int max)
diff --git a/src/app/ui/color_sliders.h b/src/app/ui/color_sliders.h
index 8c0a6a3..a1b00ac 100644
--- a/src/app/ui/color_sliders.h
+++ b/src/app/ui/color_sliders.h
@@ -46,7 +46,7 @@ namespace app {
     Signal1<void, ColorSlidersChangeEvent&> ColorChange;
 
   protected:
-    void onPreferredSize(ui::PreferredSizeEvent& ev);
+    void onSizeHint(ui::SizeHintEvent& ev);
 
     // For derived classes
     void addSlider(Channel channel, const char* labelText, int min, int max);
diff --git a/src/app/ui/color_spectrum.cpp b/src/app/ui/color_spectrum.cpp
index bf95743..a7f9865 100644
--- a/src/app/ui/color_spectrum.cpp
+++ b/src/app/ui/color_spectrum.cpp
@@ -18,7 +18,7 @@
 #include "ui/graphics.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/system.h"
 
@@ -76,9 +76,9 @@ void ColorSpectrum::selectColor(const app::Color& color)
   invalidate();
 }
 
-void ColorSpectrum::onPreferredSize(PreferredSizeEvent& ev)
+void ColorSpectrum::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(gfx::Size(32*ui::guiscale(), 32*ui::guiscale()));
+  ev.setSizeHint(gfx::Size(32*ui::guiscale(), 32*ui::guiscale()));
 }
 
 void ColorSpectrum::onResize(ui::ResizeEvent& ev)
diff --git a/src/app/ui/color_spectrum.h b/src/app/ui/color_spectrum.h
index 82939eb..207fa03 100644
--- a/src/app/ui/color_spectrum.h
+++ b/src/app/ui/color_spectrum.h
@@ -28,7 +28,7 @@ namespace app {
     Signal2<void, const app::Color&, ui::MouseButtons> ColorChange;
 
   protected:
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onResize(ui::ResizeEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
     bool onProcessMessage(ui::Message* msg) override;
diff --git a/src/app/ui/color_wheel.cpp b/src/app/ui/color_wheel.cpp
index bf6d3c4..1b33acb 100644
--- a/src/app/ui/color_wheel.cpp
+++ b/src/app/ui/color_wheel.cpp
@@ -24,7 +24,7 @@
 #include "ui/menu.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/system.h"
 
@@ -178,9 +178,9 @@ app::Color ColorWheel::getColorInHarmony(int j) const
                              m_mainColor.getValue());
 }
 
-void ColorWheel::onPreferredSize(PreferredSizeEvent& ev)
+void ColorWheel::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(gfx::Size(32*ui::guiscale(), 32*ui::guiscale()));
+  ev.setSizeHint(gfx::Size(32*ui::guiscale(), 32*ui::guiscale()));
 }
 
 void ColorWheel::onResize(ui::ResizeEvent& ev)
@@ -196,7 +196,7 @@ void ColorWheel::onResize(ui::ResizeEvent& ev)
                             rc.y+rc.h/2-r,
                             r*2, r*2);
 
-  gfx::Size prefSize = m_options.getPreferredSize();
+  gfx::Size prefSize = m_options.sizeHint();
   rc = getChildrenBounds();
   rc.x += rc.w-prefSize.w;
   rc.w = prefSize.w;
diff --git a/src/app/ui/color_wheel.h b/src/app/ui/color_wheel.h
index 65c7f5c..b7874d5 100644
--- a/src/app/ui/color_wheel.h
+++ b/src/app/ui/color_wheel.h
@@ -46,7 +46,7 @@ namespace app {
     Signal2<void, const app::Color&, ui::MouseButtons> ColorChange;
 
   private:
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onResize(ui::ResizeEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
     bool onProcessMessage(ui::Message* msg) override;
diff --git a/src/app/ui/context_bar.cpp b/src/app/ui/context_bar.cpp
index f2901c1..5ef5f4a 100644
--- a/src/app/ui/context_bar.cpp
+++ b/src/app/ui/context_bar.cpp
@@ -57,7 +57,7 @@
 #include "ui/message.h"
 #include "ui/paint_event.h"
 #include "ui/popup_window.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 #include "ui/tooltips.h"
@@ -113,8 +113,8 @@ protected:
       closePopup();
   }
 
-  void onPreferredSize(PreferredSizeEvent& ev) override {
-    ev.setPreferredSize(Size(16, 18)*guiscale());
+  void onSizeHint(SizeHintEvent& ev) override {
+    ev.setSizeHint(Size(16, 18)*guiscale());
   }
 
   // BrushPopupDelegate impl
@@ -144,7 +144,7 @@ private:
   gfx::Rect getPopupBox() {
     Rect rc = getBounds();
     rc.y += rc.h - 2*guiscale();
-    rc.setSize(getPreferredSize());
+    rc.setSize(sizeHint());
     return rc;
   }
 
@@ -574,14 +574,14 @@ class ContextBar::InkShadesField : public HBox {
       return Widget::onProcessMessage(msg);
     }
 
-    void onPreferredSize(PreferredSizeEvent& ev) override {
+    void onSizeHint(SizeHintEvent& ev) override {
       int size = this->size();
       if (size < 2)
-        ev.setPreferredSize(Size((16+m_boxSize)*guiscale()+getTextWidth(), 18*guiscale()));
+        ev.setSizeHint(Size((16+m_boxSize)*guiscale()+getTextWidth(), 18*guiscale()));
       else {
         if (m_click == Select && size > 16)
           size = 16;
-        ev.setPreferredSize(Size(6+m_boxSize*size, 18)*guiscale());
+        ev.setSizeHint(Size(6+m_boxSize*size, 18)*guiscale());
       }
     }
 
@@ -866,7 +866,7 @@ public:
     addChild(&m_maskColor);
 
     m_icon.addItem(theme->parts.selectionOpaque());
-    gfx::Size sz = m_icon.getItem(0)->getPreferredSize();
+    gfx::Size sz = m_icon.getItem(0)->sizeHint();
     sz.w += 2*guiscale();
     m_icon.getItem(0)->setMinSize(sz);
 
@@ -1371,9 +1371,9 @@ ContextBar::ContextBar()
   setActiveBrush(createBrushFromPreferences());
 }
 
-void ContextBar::onPreferredSize(PreferredSizeEvent& ev)
+void ContextBar::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(gfx::Size(0, 18*guiscale())); // TODO calculate height
+  ev.setSizeHint(gfx::Size(0, 18*guiscale())); // TODO calculate height
 }
 
 void ContextBar::onToolSetOpacity(const int& newOpacity)
diff --git a/src/app/ui/context_bar.h b/src/app/ui/context_bar.h
index 56c80b1..5745ff3 100644
--- a/src/app/ui/context_bar.h
+++ b/src/app/ui/context_bar.h
@@ -80,7 +80,7 @@ namespace app {
     Signal0<void> BrushChange;
 
   protected:
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onToolSetOpacity(const int& newOpacity);
     void onToolSetFreehandAlgorithm();
 
diff --git a/src/app/ui/data_recovery_view.cpp b/src/app/ui/data_recovery_view.cpp
index 8105c66..0cb37bc 100644
--- a/src/app/ui/data_recovery_view.cpp
+++ b/src/app/ui/data_recovery_view.cpp
@@ -24,7 +24,7 @@
 #include "ui/entry.h"
 #include "ui/listitem.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/system.h"
 #include "ui/view.h"
@@ -58,19 +58,19 @@ public:
   Signal0<void> Regenerate;
 
 protected:
-  void onPreferredSize(PreferredSizeEvent& ev) override {
-    gfx::Size sz = m_deleteButton.getPreferredSize();
+  void onSizeHint(SizeHintEvent& ev) override {
+    gfx::Size sz = m_deleteButton.sizeHint();
     sz.h += 4*guiscale();
-    ev.setPreferredSize(sz);
+    ev.setSizeHint(sz);
   }
 
   void onResize(ResizeEvent& ev) override {
     ListItem::onResize(ev);
 
     gfx::Rect rc = ev.getBounds();
-    gfx::Size sz1 = m_openButton.getPreferredSize();
+    gfx::Size sz1 = m_openButton.sizeHint();
     sz1.w *= 2*guiscale();
-    gfx::Size sz2 = m_deleteButton.getPreferredSize();
+    gfx::Size sz2 = m_deleteButton.sizeHint();
     int h = rc.h*3/4;
     int sep = 8*guiscale();
     m_openButton.setBounds(gfx::Rect(rc.x+rc.w-sz2.w-sz1.w-2*sep, rc.y+rc.h/2-h/2, sz1.w, h));
diff --git a/src/app/ui/editor/editor.cpp b/src/app/ui/editor/editor.cpp
index 8ee92e8..466a1c2 100644
--- a/src/app/ui/editor/editor.cpp
+++ b/src/app/ui/editor/editor.cpp
@@ -1324,7 +1324,7 @@ bool Editor::onProcessMessage(Message* msg)
   return Widget::onProcessMessage(msg);
 }
 
-void Editor::onPreferredSize(PreferredSizeEvent& ev)
+void Editor::onSizeHint(SizeHintEvent& ev)
 {
   gfx::Size sz(0, 0);
 
@@ -1337,7 +1337,7 @@ void Editor::onPreferredSize(PreferredSizeEvent& ev)
     sz.w = 4;
     sz.h = 4;
   }
-  ev.setPreferredSize(sz);
+  ev.setSizeHint(sz);
 }
 
 void Editor::onResize(ui::ResizeEvent& ev)
diff --git a/src/app/ui/editor/editor.h b/src/app/ui/editor/editor.h
index 747b25f..d99a617 100644
--- a/src/app/ui/editor/editor.h
+++ b/src/app/ui/editor/editor.h
@@ -218,7 +218,7 @@ namespace app {
 
   protected:
     bool onProcessMessage(ui::Message* msg) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onResize(ui::ResizeEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
     void onInvalidateRegion(const gfx::Region& region) override;
diff --git a/src/app/ui/file_list.cpp b/src/app/ui/file_list.cpp
index 1bb7c65..8735007 100644
--- a/src/app/ui/file_list.cpp
+++ b/src/app/ui/file_list.cpp
@@ -397,7 +397,7 @@ void FileList::onPaint(ui::PaintEvent& ev)
   }
 }
 
-void FileList::onPreferredSize(PreferredSizeEvent& ev)
+void FileList::onSizeHint(SizeHintEvent& ev)
 {
   if (!m_req_valid) {
     gfx::Size reqSize(0, 0);
@@ -416,7 +416,7 @@ void FileList::onPreferredSize(PreferredSizeEvent& ev)
     m_req_w = reqSize.w;
     m_req_h = reqSize.h;
   }
-  ev.setPreferredSize(Size(m_req_w, m_req_h));
+  ev.setSizeHint(Size(m_req_w, m_req_h));
 }
 
 void FileList::onFileSelected()
diff --git a/src/app/ui/file_list.h b/src/app/ui/file_list.h
index bd7b474..56e9ea0 100644
--- a/src/app/ui/file_list.h
+++ b/src/app/ui/file_list.h
@@ -41,7 +41,7 @@ namespace app {
   protected:
     virtual bool onProcessMessage(ui::Message* msg) override;
     virtual void onPaint(ui::PaintEvent& ev) override;
-    virtual void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    virtual void onSizeHint(ui::SizeHintEvent& ev) override;
     virtual void onFileSelected();
     virtual void onFileAccepted();
     virtual void onCurrentFolderChanged();
diff --git a/src/app/ui/font_popup.cpp b/src/app/ui/font_popup.cpp
index 745fd7b..c3e2380 100644
--- a/src/app/ui/font_popup.cpp
+++ b/src/app/ui/font_popup.cpp
@@ -29,7 +29,7 @@
 #include "she/system.h"
 #include "ui/box.h"
 #include "ui/button.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/theme.h"
 #include "ui/view.h"
 
@@ -79,11 +79,11 @@ private:
     }
   }
 
-  void onPreferredSize(PreferredSizeEvent& ev) override {
-    ListItem::onPreferredSize(ev);
+  void onSizeHint(SizeHintEvent& ev) override {
+    ListItem::onSizeHint(ev);
     if (m_image) {
-      gfx::Size sz = ev.getPreferredSize();
-      ev.setPreferredSize(
+      gfx::Size sz = ev.sizeHint();
+      ev.setSizeHint(
         sz.w + 4 + m_image->width(),
         MAX(sz.h, m_image->height()));
     }
diff --git a/src/app/ui/home_view.cpp b/src/app/ui/home_view.cpp
index fd9f873..d6a548c 100644
--- a/src/app/ui/home_view.cpp
+++ b/src/app/ui/home_view.cpp
@@ -157,7 +157,7 @@ void HomeView::onNewUpdate(const std::string& url, const std::string& version)
     SkinStylePropertyPtr(new SkinStyleProperty(theme->styles.workspaceUpdateLink())));
 
   // TODO this should be in a skin.xml's <style>
-  gfx::Size iconSize = theme->styles.workspaceUpdateLink()->preferredSize(
+  gfx::Size iconSize = theme->styles.workspaceUpdateLink()->sizeHint(
     nullptr, Style::State());
   checkUpdate()->setBorder(gfx::Border(6*guiscale())+gfx::Border(
       0, 0, iconSize.w, 0));
diff --git a/src/app/ui/icon_button.cpp b/src/app/ui/icon_button.cpp
index b4840c3..6b094f8 100644
--- a/src/app/ui/icon_button.cpp
+++ b/src/app/ui/icon_button.cpp
@@ -15,7 +15,7 @@
 #include "she/surface.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 
 namespace app {
@@ -30,9 +30,9 @@ IconButton::IconButton(she::Surface* icon)
   setBgColor(SkinTheme::instance()->colors.menuitemNormalFace());
 }
 
-void IconButton::onPreferredSize(PreferredSizeEvent& ev)
+void IconButton::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(
+  ev.setSizeHint(
     gfx::Size(m_icon->width(),
               m_icon->height()) + 4*guiscale());
 }
diff --git a/src/app/ui/icon_button.h b/src/app/ui/icon_button.h
index b9ba6f7..d470a20 100644
--- a/src/app/ui/icon_button.h
+++ b/src/app/ui/icon_button.h
@@ -19,7 +19,7 @@ namespace app {
 
   protected:
     // bool onProcessMessage(ui::Message* msg) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
 
   private:
diff --git a/src/app/ui/main_window.cpp b/src/app/ui/main_window.cpp
index 1af2d96..721e5f9 100644
--- a/src/app/ui/main_window.cpp
+++ b/src/app/ui/main_window.cpp
@@ -93,7 +93,7 @@ MainWindow::MainWindow()
   timelinePlaceholder()->addChild(m_timeline);
 
   // Default splitter positions
-  colorBarSplitter()->setPosition(m_colorBar->getPreferredSize().w);
+  colorBarSplitter()->setPosition(m_colorBar->sizeHint().w);
   timelineSplitter()->setPosition(75);
 
   // Prepare the window
diff --git a/src/app/ui/news_listbox.cpp b/src/app/ui/news_listbox.cpp
index 3deed29..88edc5d 100644
--- a/src/app/ui/news_listbox.cpp
+++ b/src/app/ui/news_listbox.cpp
@@ -22,7 +22,7 @@
 #include "base/time.h"
 #include "ui/link_label.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/view.h"
 
 #include "tinyxml.h"
@@ -126,22 +126,22 @@ public:
   }
 
 protected:
-  void onPreferredSize(PreferredSizeEvent& ev) override {
+  void onSizeHint(SizeHintEvent& ev) override {
     SkinTheme* theme = static_cast<SkinTheme*>(getTheme());
     Style* style = theme->styles.newsItem();
     Style* styleDetail = theme->styles.newsItemDetail();
     Style::State state;
-    gfx::Size sz1 = style->preferredSize(getText().c_str(), state);
+    gfx::Size sz1 = style->sizeHint(getText().c_str(), state);
     gfx::Size sz2, sz2fourlines;
 
     if (!m_desc.empty()) {
       View* view = View::getView(getParent());
-      sz2 = styleDetail->preferredSize(m_desc.c_str(), state,
+      sz2 = styleDetail->sizeHint(m_desc.c_str(), state,
         (view ? view->getViewportBounds().w: 0));
-      sz2fourlines = styleDetail->preferredSize("\n\n\n", state);
+      sz2fourlines = styleDetail->sizeHint("\n\n\n", state);
     }
 
-    ev.setPreferredSize(gfx::Size(0, MIN(sz1.h+sz2fourlines.h, sz1.h+sz2.h)));
+    ev.setSizeHint(gfx::Size(0, MIN(sz1.h+sz2fourlines.h, sz1.h+sz2.h)));
   }
 
   void onPaint(PaintEvent& ev) override {
@@ -156,7 +156,7 @@ protected:
     if (isSelected()) state += Style::active();
     if (getParent()->hasCapture()) state += Style::clicked();
 
-    gfx::Size textSize = style->preferredSize(getText().c_str(), state);
+    gfx::Size textSize = style->sizeHint(getText().c_str(), state);
     gfx::Rect textBounds(bounds.x, bounds.y, bounds.w, textSize.h);
     gfx::Rect detailsBounds(
       bounds.x, bounds.y+textSize.h,
diff --git a/src/app/ui/notifications.cpp b/src/app/ui/notifications.cpp
index 1f5186d..5db7f7e 100644
--- a/src/app/ui/notifications.cpp
+++ b/src/app/ui/notifications.cpp
@@ -17,7 +17,7 @@
 #include "base/launcher.h"
 #include "ui/menu.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 
 namespace app {
 
@@ -53,9 +53,9 @@ void Notifications::addLink(INotificationDelegate* del)
   m_withNotifications = true;
 }
 
-void Notifications::onPreferredSize(PreferredSizeEvent& ev)
+void Notifications::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(gfx::Size(16, 10)*guiscale()); // TODO hard-coded flag size
+  ev.setSizeHint(gfx::Size(16, 10)*guiscale()); // TODO hard-coded flag size
 }
 
 void Notifications::onPaint(PaintEvent& ev)
@@ -76,7 +76,7 @@ void Notifications::onClick(ui::Event& ev)
 
   gfx::Rect bounds = getBounds();
   m_popup.showPopup(gfx::Point(
-      bounds.x - m_popup.getPreferredSize().w,
+      bounds.x - m_popup.sizeHint().w,
       bounds.y + bounds.h));
 }
 
diff --git a/src/app/ui/notifications.h b/src/app/ui/notifications.h
index 2ddfc02..02cd6db 100644
--- a/src/app/ui/notifications.h
+++ b/src/app/ui/notifications.h
@@ -26,7 +26,7 @@ namespace app {
     void addLink(INotificationDelegate* del);
 
   protected:
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
     void onClick(ui::Event& ev) override;
 
diff --git a/src/app/ui/palette_view.cpp b/src/app/ui/palette_view.cpp
index f5571b0..f6e2ec9 100644
--- a/src/app/ui/palette_view.cpp
+++ b/src/app/ui/palette_view.cpp
@@ -35,7 +35,7 @@
 #include "ui/manager.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 #include "ui/view.h"
@@ -599,7 +599,7 @@ void PaletteView::onResize(ui::ResizeEvent& ev)
   Widget::onResize(ev);
 }
 
-void PaletteView::onPreferredSize(ui::PreferredSizeEvent& ev)
+void PaletteView::onSizeHint(ui::SizeHintEvent& ev)
 {
   div_t d = div(currentPalette()->size(), m_columns);
   int cols = m_columns;
@@ -613,7 +613,7 @@ void PaletteView::onPreferredSize(ui::PreferredSizeEvent& ev)
   sz.w = border().width() + cols*m_boxsize + (cols-1)*childSpacing();
   sz.h = border().height() + rows*m_boxsize + (rows-1)*childSpacing();
 
-  ev.setPreferredSize(sz);
+  ev.setSizeHint(sz);
 }
 
 void PaletteView::onDrawMarchingAnts()
diff --git a/src/app/ui/palette_view.h b/src/app/ui/palette_view.h
index c712064..bd1f052 100644
--- a/src/app/ui/palette_view.h
+++ b/src/app/ui/palette_view.h
@@ -85,7 +85,7 @@ namespace app {
     bool onProcessMessage(ui::Message* msg) override;
     void onPaint(ui::PaintEvent& ev) override;
     void onResize(ui::ResizeEvent& ev) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onDrawMarchingAnts() override;
 
   private:
diff --git a/src/app/ui/palettes_listbox.cpp b/src/app/ui/palettes_listbox.cpp
index 243fa4a..f51b519 100644
--- a/src/app/ui/palettes_listbox.cpp
+++ b/src/app/ui/palettes_listbox.cpp
@@ -21,7 +21,7 @@
 #include "ui/listitem.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/view.h"
 
 namespace app {
@@ -75,7 +75,7 @@ void PalettesListBox::onPaintResource(Graphics* g, const gfx::Rect& bounds, Reso
   //     bounds.y + bounds.h/2 - g->measureUIString(getText()).h/2));
 }
 
-void PalettesListBox::onResourcePreferredSize(Resource* resource, gfx::Size& size)
+void PalettesListBox::onResourceSizeHint(Resource* resource, gfx::Size& size)
 {
   size = gfx::Size(0, (2+16+2)*guiscale());
 }
diff --git a/src/app/ui/palettes_listbox.h b/src/app/ui/palettes_listbox.h
index 401c0d7..2a2978b 100644
--- a/src/app/ui/palettes_listbox.h
+++ b/src/app/ui/palettes_listbox.h
@@ -28,7 +28,7 @@ namespace app {
   protected:
     virtual void onResourceChange(Resource* resource) override;
     virtual void onPaintResource(ui::Graphics* g, const gfx::Rect& bounds, Resource* resource) override;
-    virtual void onResourcePreferredSize(Resource* resource, gfx::Size& size) override;
+    virtual void onResourceSizeHint(Resource* resource, gfx::Size& size) override;
   };
 
 } // namespace app
diff --git a/src/app/ui/recent_listbox.cpp b/src/app/ui/recent_listbox.cpp
index 1aee950..56adec6 100644
--- a/src/app/ui/recent_listbox.cpp
+++ b/src/app/ui/recent_listbox.cpp
@@ -25,7 +25,7 @@
 #include "ui/listitem.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/view.h"
 
@@ -44,14 +44,14 @@ public:
   }
 
 protected:
-  void onPreferredSize(PreferredSizeEvent& ev) override {
+  void onSizeHint(SizeHintEvent& ev) override {
     SkinTheme* theme = static_cast<SkinTheme*>(getTheme());
     Style* style = theme->styles.recentFile();
     Style* styleDetail = theme->styles.recentFileDetail();
     Style::State state;
-    gfx::Size sz1 = style->preferredSize(name().c_str(), state);
-    gfx::Size sz2 = styleDetail->preferredSize(path().c_str(), state);
-    ev.setPreferredSize(gfx::Size(sz1.w+sz2.w, MAX(sz1.h, sz2.h)));
+    gfx::Size sz1 = style->sizeHint(name().c_str(), state);
+    gfx::Size sz2 = styleDetail->sizeHint(path().c_str(), state);
+    ev.setSizeHint(gfx::Size(sz1.w+sz2.w, MAX(sz1.h, sz2.h)));
   }
 
   void onPaint(PaintEvent& ev) override {
@@ -69,7 +69,7 @@ protected:
     std::string name = this->name();
     style->paint(g, bounds, name.c_str(), state);
 
-    gfx::Size textSize = style->preferredSize(name.c_str(), state);
+    gfx::Size textSize = style->sizeHint(name.c_str(), state);
     gfx::Rect detailsBounds(
       bounds.x+textSize.w, bounds.y,
       bounds.w-textSize.w, bounds.h);
diff --git a/src/app/ui/resources_listbox.cpp b/src/app/ui/resources_listbox.cpp
index 93b43fa..ed1b61c 100644
--- a/src/app/ui/resources_listbox.cpp
+++ b/src/app/ui/resources_listbox.cpp
@@ -19,7 +19,7 @@
 #include "ui/listitem.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/view.h"
 
 namespace app {
@@ -85,10 +85,10 @@ protected:
         bounds.y + bounds.h/2 - g->measureUIString(getText()).h/2));
   }
 
-  void onPreferredSize(PreferredSizeEvent& ev) override {
-    ev.setPreferredSize(
+  void onSizeHint(SizeHintEvent& ev) override {
+    ev.setSizeHint(
       static_cast<ResourcesListBox*>(getParent())->
-        preferredResourceSize(m_resource));
+        resourceSizeHint(m_resource));
   }
 
 private:
@@ -140,10 +140,10 @@ void ResourcesListBox::paintResource(Graphics* g, const gfx::Rect& bounds, Resou
   onPaintResource(g, bounds, resource);
 }
 
-gfx::Size ResourcesListBox::preferredResourceSize(Resource* resource)
+gfx::Size ResourcesListBox::resourceSizeHint(Resource* resource)
 {
   gfx::Size pref(0, 0);
-  onResourcePreferredSize(resource, pref);
+  onResourceSizeHint(resource, pref);
   return pref;
 }
 
diff --git a/src/app/ui/resources_listbox.h b/src/app/ui/resources_listbox.h
index 3d8a6df..221974d 100644
--- a/src/app/ui/resources_listbox.h
+++ b/src/app/ui/resources_listbox.h
@@ -23,7 +23,7 @@ namespace app {
     Resource* selectedResource();
 
     void paintResource(ui::Graphics* g, const gfx::Rect& bounds, Resource* resource);
-    gfx::Size preferredResourceSize(Resource* resource);
+    gfx::Size resourceSizeHint(Resource* resource);
 
   protected:
     virtual bool onProcessMessage(ui::Message* msg) override;
@@ -32,7 +32,7 @@ namespace app {
 
     // abstract
     virtual void onPaintResource(ui::Graphics* g, const gfx::Rect& bounds, Resource* resource) = 0;
-    virtual void onResourcePreferredSize(Resource* resource, gfx::Size& size) = 0;
+    virtual void onResourceSizeHint(Resource* resource, gfx::Size& size) = 0;
 
   private:
     void onTick();
diff --git a/src/app/ui/search_entry.cpp b/src/app/ui/search_entry.cpp
index a7bb56c..efbd687 100644
--- a/src/app/ui/search_entry.cpp
+++ b/src/app/ui/search_entry.cpp
@@ -16,7 +16,7 @@
 #include "ui/graphics.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 
 namespace app {
 
@@ -69,16 +69,16 @@ void SearchEntry::onPaint(ui::PaintEvent& ev)
   }
 }
 
-void SearchEntry::onPreferredSize(PreferredSizeEvent& ev)
+void SearchEntry::onSizeHint(SizeHintEvent& ev)
 {
-  Entry::onPreferredSize(ev);
-  Size sz = ev.getPreferredSize();
+  Entry::onSizeHint(ev);
+  Size sz = ev.sizeHint();
 
   SkinTheme* theme = static_cast<SkinTheme*>(getTheme());
   auto icon = theme->parts.iconSearch()->getBitmap(0);
   sz.h = MAX(sz.h, icon->height()+border().height());
 
-  ev.setPreferredSize(sz);
+  ev.setSizeHint(sz);
 }
 
 Rect SearchEntry::onGetEntryTextBounds() const
diff --git a/src/app/ui/search_entry.h b/src/app/ui/search_entry.h
index dcdccfc..6563e50 100644
--- a/src/app/ui/search_entry.h
+++ b/src/app/ui/search_entry.h
@@ -20,7 +20,7 @@ namespace app {
   private:
     bool onProcessMessage(ui::Message* msg) override;
     void onPaint(ui::PaintEvent& ev) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     gfx::Rect onGetEntryTextBounds() const override;
 
     gfx::Rect getCloseIconBounds() const;
diff --git a/src/app/ui/skin/style.cpp b/src/app/ui/skin/style.cpp
index e9a0e94..e7b76e6 100644
--- a/src/app/ui/skin/style.cpp
+++ b/src/app/ui/skin/style.cpp
@@ -186,7 +186,7 @@ void Rules::paint(ui::Graphics* g,
   if (m_text) m_text->paint(g, bounds, text);
 }
 
-gfx::Size Rules::preferredSize(const char* text, int maxWidth)
+gfx::Size Rules::sizeHint(const char* text, int maxWidth)
 {
   gfx::Size sz(0, 0);
   if (m_icon) {
@@ -244,12 +244,12 @@ void Style::paint(ui::Graphics* g,
   getRulesFromState(state)->paint(g, bounds, text);
 }
 
-gfx::Size Style::preferredSize(
+gfx::Size Style::sizeHint(
   const char* text,
   const State& state,
   int maxWidth)
 {
-  return getRulesFromState(state)->preferredSize(text, maxWidth);
+  return getRulesFromState(state)->sizeHint(text, maxWidth);
 }
 
 } // namespace skin
diff --git a/src/app/ui/skin/style.h b/src/app/ui/skin/style.h
index a670516..ce677ec 100644
--- a/src/app/ui/skin/style.h
+++ b/src/app/ui/skin/style.h
@@ -111,7 +111,7 @@ namespace app {
         const gfx::Rect& bounds,
         const char* text);
 
-      gfx::Size preferredSize(const char* text, int maxWidth);
+      gfx::Size sizeHint(const char* text, int maxWidth);
 
     private:
       BackgroundRule* m_background;
@@ -137,7 +137,7 @@ namespace app {
         const char* text,
         const State& state);
 
-      gfx::Size preferredSize(
+      gfx::Size sizeHint(
         const char* text,
         const State& state,
         int maxWidth = 0);
diff --git a/src/app/ui/status_bar.cpp b/src/app/ui/status_bar.cpp
index 0909377..80e2a54 100644
--- a/src/app/ui/status_bar.cpp
+++ b/src/app/ui/status_bar.cpp
@@ -366,7 +366,7 @@ void StatusBar::showSnapToGridWarning(bool state)
       m_snapToGridWindow->remapWindow();
 
       Rect rc = getBounds();
-      int toolBarWidth = ToolBar::instance()->getPreferredSize().w;
+      int toolBarWidth = ToolBar::instance()->sizeHint().w;
 
       m_snapToGridWindow->positionWindow(
         rc.x+rc.w-toolBarWidth-m_snapToGridWindow->getBounds().w,
@@ -393,8 +393,8 @@ void StatusBar::onResize(ResizeEvent& ev)
   Rect rc = ev.getBounds();
   bool docControls = (rc.w > 300*ui::guiscale());
   if (docControls) {
-    int prefWidth = m_docControls->getPreferredSize().w;
-    int toolBarWidth = ToolBar::instance()->getPreferredSize().w;
+    int prefWidth = m_docControls->sizeHint().w;
+    int toolBarWidth = ToolBar::instance()->sizeHint().w;
 
     rc.x += rc.w - prefWidth - border.right() - toolBarWidth;
     rc.w = prefWidth;
@@ -406,10 +406,10 @@ void StatusBar::onResize(ResizeEvent& ev)
     m_docControls->setVisible(false);
 }
 
-void StatusBar::onPreferredSize(PreferredSizeEvent& ev)
+void StatusBar::onSizeHint(SizeHintEvent& ev)
 {
   int s = 4*guiscale() + getTextHeight() + 4*guiscale();
-  ev.setPreferredSize(Size(s, s));
+  ev.setSizeHint(Size(s, s));
 }
 
 void StatusBar::onPaint(ui::PaintEvent& ev)
diff --git a/src/app/ui/status_bar.h b/src/app/ui/status_bar.h
index 1207307..e54a5f6 100644
--- a/src/app/ui/status_bar.h
+++ b/src/app/ui/status_bar.h
@@ -66,7 +66,7 @@ namespace app {
 
   protected:
     void onResize(ui::ResizeEvent& ev) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
 
     // ContextObserver impl
diff --git a/src/app/ui/styled_button.cpp b/src/app/ui/styled_button.cpp
index bb12457..8d1c4bc 100644
--- a/src/app/ui/styled_button.cpp
+++ b/src/app/ui/styled_button.cpp
@@ -15,7 +15,7 @@
 #include "app/ui/skin/style.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 
 namespace app {
@@ -40,9 +40,9 @@ bool StyledButton::onProcessMessage(Message* msg) {
   return Button::onProcessMessage(msg);
 }
 
-void StyledButton::onPreferredSize(PreferredSizeEvent& ev) {
-  ev.setPreferredSize(
-    m_style->preferredSize(NULL, skin::Style::State()) + 4*guiscale());
+void StyledButton::onSizeHint(SizeHintEvent& ev) {
+  ev.setSizeHint(
+    m_style->sizeHint(NULL, skin::Style::State()) + 4*guiscale());
 }
 
 void StyledButton::onPaint(PaintEvent& ev) {
diff --git a/src/app/ui/styled_button.h b/src/app/ui/styled_button.h
index 3dcf3b0..617ac65 100644
--- a/src/app/ui/styled_button.h
+++ b/src/app/ui/styled_button.h
@@ -23,7 +23,7 @@ namespace app {
 
   protected:
     bool onProcessMessage(ui::Message* msg) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
 
   private:
diff --git a/src/app/ui/tabs.cpp b/src/app/ui/tabs.cpp
index 591df3b..577d915 100644
--- a/src/app/ui/tabs.cpp
+++ b/src/app/ui/tabs.cpp
@@ -543,9 +543,9 @@ void Tabs::onResize(ResizeEvent& ev)
   updateTabs();
 }
 
-void Tabs::onPreferredSize(PreferredSizeEvent& ev)
+void Tabs::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(gfx::Size(0, m_tabsHeight));
+  ev.setSizeHint(gfx::Size(0, m_tabsHeight));
 }
 
 void Tabs::selectTabInternal(TabPtr& tab)
diff --git a/src/app/ui/tabs.h b/src/app/ui/tabs.h
index 99b3e19..81d4045 100644
--- a/src/app/ui/tabs.h
+++ b/src/app/ui/tabs.h
@@ -174,7 +174,7 @@ namespace app {
     bool onProcessMessage(ui::Message* msg) override;
     void onPaint(ui::PaintEvent& ev) override;
     void onResize(ui::ResizeEvent& ev) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onAnimationFrame() override;
     void onAnimationStop(int animation) override;
 
diff --git a/src/app/ui/timeline.cpp b/src/app/ui/timeline.cpp
index f7dbc5b..bfdacf2 100644
--- a/src/app/ui/timeline.cpp
+++ b/src/app/ui/timeline.cpp
@@ -855,10 +855,10 @@ bool Timeline::onProcessMessage(Message* msg)
   return Widget::onProcessMessage(msg);
 }
 
-void Timeline::onPreferredSize(PreferredSizeEvent& ev)
+void Timeline::onSizeHint(SizeHintEvent& ev)
 {
   // This doesn't matter, the AniEditor'll use the entire screen anyway.
-  ev.setPreferredSize(Size(32, 32));
+  ev.setSizeHint(Size(32, 32));
 }
 
 void Timeline::onResize(ui::ResizeEvent& ev)
@@ -866,7 +866,7 @@ void Timeline::onResize(ui::ResizeEvent& ev)
   gfx::Rect rc = ev.getBounds();
   setBoundsQuietly(rc);
 
-  gfx::Size sz = m_aniControls.getPreferredSize();
+  gfx::Size sz = m_aniControls.sizeHint();
   m_aniControls.setBounds(
     gfx::Rect(rc.x, rc.y, MIN(sz.w, m_separator_x),
       getFont()->height() +
diff --git a/src/app/ui/timeline.h b/src/app/ui/timeline.h
index afbe840..457c187 100644
--- a/src/app/ui/timeline.h
+++ b/src/app/ui/timeline.h
@@ -105,7 +105,7 @@ namespace app {
 
   protected:
     bool onProcessMessage(ui::Message* msg) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onResize(ui::ResizeEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
 
diff --git a/src/app/ui/toolbar.cpp b/src/app/ui/toolbar.cpp
index cb85a37..c717b88 100644
--- a/src/app/ui/toolbar.cpp
+++ b/src/app/ui/toolbar.cpp
@@ -52,7 +52,7 @@ public:
 
 protected:
   bool onProcessMessage(Message* msg) override;
-  void onPreferredSize(PreferredSizeEvent& ev) override;
+  void onSizeHint(SizeHintEvent& ev) override;
   void onPaint(PaintEvent& ev) override;
 
 private:
@@ -276,12 +276,12 @@ bool ToolBar::onProcessMessage(Message* msg)
   return Widget::onProcessMessage(msg);
 }
 
-void ToolBar::onPreferredSize(PreferredSizeEvent& ev)
+void ToolBar::onSizeHint(SizeHintEvent& ev)
 {
   Size iconsize = getToolIconSize(this);
   iconsize.w += border().width();
   iconsize.h += border().height();
-  ev.setPreferredSize(iconsize);
+  ev.setSizeHint(iconsize);
 }
 
 void ToolBar::onPaint(ui::PaintEvent& ev)
@@ -661,7 +661,7 @@ bool ToolBar::ToolStrip::onProcessMessage(Message* msg)
   return Widget::onProcessMessage(msg);
 }
 
-void ToolBar::ToolStrip::onPreferredSize(PreferredSizeEvent& ev)
+void ToolBar::ToolStrip::onSizeHint(SizeHintEvent& ev)
 {
   ToolBox* toolbox = App::instance()->getToolBox();
   int c = 0;
@@ -674,7 +674,7 @@ void ToolBar::ToolStrip::onPreferredSize(PreferredSizeEvent& ev)
   }
 
   Size iconsize = getToolIconSize(this);
-  ev.setPreferredSize(Size(iconsize.w * c, iconsize.h));
+  ev.setSizeHint(Size(iconsize.w * c, iconsize.h));
 }
 
 void ToolBar::ToolStrip::onPaint(PaintEvent& ev)
diff --git a/src/app/ui/toolbar.h b/src/app/ui/toolbar.h
index c53b7ae..c838e55 100644
--- a/src/app/ui/toolbar.h
+++ b/src/app/ui/toolbar.h
@@ -48,7 +48,7 @@ namespace app {
 
   protected:
     bool onProcessMessage(ui::Message* msg) override;
-    void onPreferredSize(ui::PreferredSizeEvent& ev) override;
+    void onSizeHint(ui::SizeHintEvent& ev) override;
     void onPaint(ui::PaintEvent& ev) override;
 
   private:
diff --git a/src/app/widget_loader.cpp b/src/app/widget_loader.cpp
index a536c07..2b57c55 100644
--- a/src/app/widget_loader.cpp
+++ b/src/app/widget_loader.cpp
@@ -557,7 +557,7 @@ void WidgetLoader::fillWidgetWithXmlElementAttributes(const TiXmlElement* elem,
   if (childspacing)
     widget->setChildSpacing(strtol(childspacing, NULL, 10)*guiscale());
 
-  gfx::Size reqSize = widget->getPreferredSize();
+  gfx::Size reqSize = widget->sizeHint();
 
   if (minwidth || minheight) {
     int w = (minwidth ? guiscale()*strtol(minwidth, NULL, 10): reqSize.w);
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index 18d5b0d..3da0916 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -32,13 +32,13 @@ add_library(ui-lib
   paint_event.cpp
   panel.cpp
   popup_window.cpp
-  preferred_size_event.cpp
   property.cpp
   register_message.cpp
   resize_event.cpp
   scroll_bar.cpp
   scroll_helper.cpp
   separator.cpp
+  size_hint_event.cpp
   slider.cpp
   splitter.cpp
   system.cpp
diff --git a/src/ui/box.cpp b/src/ui/box.cpp
index e269aba..76e7e58 100644
--- a/src/ui/box.cpp
+++ b/src/ui/box.cpp
@@ -11,7 +11,7 @@
 #include "gfx/size.h"
 #include "ui/box.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/theme.h"
 
@@ -26,7 +26,7 @@ Box::Box(int align)
   initTheme();
 }
 
-void Box::onPreferredSize(PreferredSizeEvent& ev)
+void Box::onSizeHint(SizeHintEvent& ev)
 {
 #define ADD_CHILD_SIZE(w, h) {                      \
     if (getAlign() & HOMOGENEOUS)                   \
@@ -53,7 +53,7 @@ void Box::onPreferredSize(PreferredSizeEvent& ev)
     if (child->hasFlags(HIDDEN))
       continue;
 
-    Size childSize = child->getPreferredSize();
+    Size childSize = child->sizeHint();
     if (getAlign() & HORIZONTAL) {
       ADD_CHILD_SIZE(w, h);
     }
@@ -74,7 +74,7 @@ void Box::onPreferredSize(PreferredSizeEvent& ev)
   prefSize.w += border().width();
   prefSize.h += border().height();
 
-  ev.setPreferredSize(prefSize);
+  ev.setSizeHint(prefSize);
 }
 
 void Box::onResize(ResizeEvent& ev)
@@ -100,7 +100,7 @@ void Box::onResize(ResizeEvent& ev)
           size = availSize.w;                                           \
       }                                                                 \
       else {                                                            \
-        size = child->getPreferredSize().w;                             \
+        size = child->sizeHint().w;                                     \
                                                                         \
         if (child->isExpansive()) {                                     \
           int extraSize = (availExtraSize / (expansiveChildren-j));     \
@@ -132,7 +132,7 @@ void Box::onResize(ResizeEvent& ev)
   }
 
   if (visibleChildren > 0) {
-    Size prefSize(getPreferredSize());
+    Size prefSize(sizeHint());
     Size availSize(getChildrenBounds().getSize());
     int homogeneousSize = 0;
     int availExtraSize = 0;
diff --git a/src/ui/box.h b/src/ui/box.h
index 3190f64..c0af1f9 100644
--- a/src/ui/box.h
+++ b/src/ui/box.h
@@ -19,7 +19,7 @@ namespace ui {
 
   protected:
     // Events
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onResize(ResizeEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
   };
diff --git a/src/ui/button.cpp b/src/ui/button.cpp
index e62ba65..06fb17d 100644
--- a/src/ui/button.cpp
+++ b/src/ui/button.cpp
@@ -11,7 +11,7 @@
 #include "ui/button.h"
 #include "ui/manager.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/theme.h"
 #include "ui/widget.h"
 #include "ui/window.h"
@@ -271,7 +271,7 @@ bool ButtonBase::onProcessMessage(Message* msg)
   return Widget::onProcessMessage(msg);
 }
 
-void ButtonBase::onPreferredSize(PreferredSizeEvent& ev)
+void ButtonBase::onSizeHint(SizeHintEvent& ev)
 {
   gfx::Rect box;
   gfx::Size iconSize = (m_iconInterface ? m_iconInterface->getSize(): gfx::Size(0, 0));
@@ -280,8 +280,8 @@ void ButtonBase::onPreferredSize(PreferredSizeEvent& ev)
                   iconSize.w,
                   iconSize.h);
 
-  ev.setPreferredSize(box.w + border().width(),
-                      box.h + border().height());
+  ev.setSizeHint(box.w + border().width(),
+                 box.h + border().height());
 }
 
 void ButtonBase::onPaint(PaintEvent& ev)
diff --git a/src/ui/button.h b/src/ui/button.h
index 43c3215..e9c7de1 100644
--- a/src/ui/button.h
+++ b/src/ui/button.h
@@ -57,7 +57,7 @@ namespace ui {
   protected:
     // Events
     bool onProcessMessage(Message* msg) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
 
     // New events
diff --git a/src/ui/combobox.cpp b/src/ui/combobox.cpp
index 064e293..1623ae9 100644
--- a/src/ui/combobox.cpp
+++ b/src/ui/combobox.cpp
@@ -386,7 +386,7 @@ void ComboBox::onResize(ResizeEvent& ev)
   setBoundsQuietly(bounds);
 
   // Button
-  Size buttonSize = m_button->getPreferredSize();
+  Size buttonSize = m_button->sizeHint();
   m_button->setBounds(Rect(bounds.x2() - buttonSize.w, bounds.y,
                            buttonSize.w, bounds.h));
 
@@ -395,10 +395,10 @@ void ComboBox::onResize(ResizeEvent& ev)
                           bounds.w - buttonSize.w, bounds.h));
 }
 
-void ComboBox::onPreferredSize(PreferredSizeEvent& ev)
+void ComboBox::onSizeHint(SizeHintEvent& ev)
 {
   Size reqSize(0, 0);
-  Size entrySize = m_entry->getPreferredSize();
+  Size entrySize = m_entry->sizeHint();
 
   // Get the text-length of every item and put in 'w' the maximum value
   ListItems::iterator it, end = m_items.end();
@@ -414,10 +414,10 @@ void ComboBox::onPreferredSize(PreferredSizeEvent& ev)
   reqSize.w += entrySize.w;
   reqSize.h += entrySize.h;
 
-  Size buttonSize = m_button->getPreferredSize();
+  Size buttonSize = m_button->sizeHint();
   reqSize.w += buttonSize.w;
   reqSize.h = MAX(reqSize.h, buttonSize.h);
-  ev.setPreferredSize(reqSize);
+  ev.setSizeHint(reqSize);
 }
 
 bool ComboBoxEntry::onProcessMessage(Message* msg)
diff --git a/src/ui/combobox.h b/src/ui/combobox.h
index 8c74a37..548484b 100644
--- a/src/ui/combobox.h
+++ b/src/ui/combobox.h
@@ -92,7 +92,7 @@ namespace ui {
   protected:
     bool onProcessMessage(Message* msg) override;
     void onResize(ResizeEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     virtual void onChange();
     virtual void onOpenListBox();
     virtual void onCloseListBox();
diff --git a/src/ui/entry.cpp b/src/ui/entry.cpp
index 4839551..f184bc0 100644
--- a/src/ui/entry.cpp
+++ b/src/ui/entry.cpp
@@ -17,7 +17,7 @@
 #include "ui/manager.h"
 #include "ui/menu.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 #include "ui/widget.h"
@@ -425,7 +425,7 @@ bool Entry::onProcessMessage(Message* msg)
   return Widget::onProcessMessage(msg);
 }
 
-void Entry::onPreferredSize(PreferredSizeEvent& ev)
+void Entry::onSizeHint(SizeHintEvent& ev)
 {
   int w =
     + getFont()->charWidth('w') * MIN(m_maxsize, 6)
@@ -438,7 +438,7 @@ void Entry::onPreferredSize(PreferredSizeEvent& ev)
     + getFont()->height()
     + border().height();
 
-  ev.setPreferredSize(w, h);
+  ev.setSizeHint(w, h);
 }
 
 void Entry::onPaint(PaintEvent& ev)
diff --git a/src/ui/entry.h b/src/ui/entry.h
index 8394fa1..a96dee4 100644
--- a/src/ui/entry.h
+++ b/src/ui/entry.h
@@ -48,7 +48,7 @@ namespace ui {
   protected:
     // Events
     bool onProcessMessage(Message* msg) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
     void onSetText() override;
 
diff --git a/src/ui/grid.cpp b/src/ui/grid.cpp
index 248c28c..774dc82 100644
--- a/src/ui/grid.cpp
+++ b/src/ui/grid.cpp
@@ -12,7 +12,7 @@
 #include "gfx/size.h"
 #include "ui/grid.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/theme.h"
 #include "ui/widget.h"
@@ -146,7 +146,7 @@ void Grid::onResize(ResizeEvent& ev)
         calculateCellSize(col, cell->hspan, m_colstrip, w);
         calculateCellSize(row, cell->vspan, m_rowstrip, h);
 
-        reqSize = cell->child->getPreferredSize();
+        reqSize = cell->child->sizeHint();
 
         if (cell->align & LEFT) {
           w = reqSize.w;
@@ -189,7 +189,7 @@ void Grid::onResize(ResizeEvent& ev)
   }
 }
 
-void Grid::onPreferredSize(PreferredSizeEvent& ev)
+void Grid::onSizeHint(SizeHintEvent& ev)
 {
   int w, h;
 
@@ -204,7 +204,7 @@ void Grid::onPreferredSize(PreferredSizeEvent& ev)
   w += border().width();
   h += border().height();
 
-  ev.setPreferredSize(Size(w, h));
+  ev.setSizeHint(Size(w, h));
 }
 
 void Grid::onPaint(PaintEvent& ev)
@@ -286,7 +286,7 @@ void Grid::calculateStripSize(std::vector<Strip>& colstrip,
         if (cell->parent == NULL) {
           // If the widget isn't hidden then we can request its size
           if (!(cell->child->hasFlags(HIDDEN))) {
-            Size reqSize = cell->child->getPreferredSize();
+            Size reqSize = cell->child->sizeHint();
             cell->w = reqSize.w - (cell->hspan-1) * this->childSpacing();
             cell->h = reqSize.h - (cell->vspan-1) * this->childSpacing();
 
diff --git a/src/ui/grid.h b/src/ui/grid.h
index 84fcd51..b5ee685 100644
--- a/src/ui/grid.h
+++ b/src/ui/grid.h
@@ -35,7 +35,7 @@ namespace ui {
   protected:
     // Events
     void onResize(ResizeEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
 
   private:
diff --git a/src/ui/grid_ui_tests.cpp b/src/ui/grid_ui_tests.cpp
index 51caf44..1803cf2 100644
--- a/src/ui/grid_ui_tests.cpp
+++ b/src/ui/grid_ui_tests.cpp
@@ -26,24 +26,24 @@ TEST(Grid, Simple2x1Grid)
   grid->addChildInCell(w2, 1, 1, 0);
 
   // Test request-size
-  Size reqSize = grid->getPreferredSize();
+  Size reqSize = grid->sizeHint();
   EXPECT_EQ(20, reqSize.w);
   EXPECT_EQ(10, reqSize.h);
 
   // Test child-spacing
   grid->setChildSpacing(2);
-  reqSize = grid->getPreferredSize();
+  reqSize = grid->sizeHint();
   EXPECT_EQ(22, reqSize.w);
   EXPECT_EQ(10, reqSize.h);
 
   // Test borders
   grid->setBorder(gfx::Border(3, 0, 0, 3));
-  reqSize = grid->getPreferredSize();
+  reqSize = grid->sizeHint();
   EXPECT_EQ(25, reqSize.w);
   EXPECT_EQ(13, reqSize.h);
 
   grid->setBorder(gfx::Border(3, 2, 5, 3));
-  reqSize = grid->getPreferredSize();
+  reqSize = grid->sizeHint();
   EXPECT_EQ(30, reqSize.w);
   EXPECT_EQ(15, reqSize.h);
 
@@ -63,7 +63,7 @@ TEST(Grid, Expand2ndWidget)
   grid->addChildInCell(w2, 1, 1, HORIZONTAL | TOP);
 
   // Test request size
-  Size reqSize = grid->getPreferredSize();
+  Size reqSize = grid->sizeHint();
   EXPECT_EQ(30, reqSize.w);
   EXPECT_EQ(20, reqSize.h);
 
@@ -96,7 +96,7 @@ TEST(Grid, SameWidth2x1Grid)
   grid->addChildInCell(w2, 1, 1, 0);
 
   // Test request size
-  Size reqSize = grid->getPreferredSize();
+  Size reqSize = grid->sizeHint();
   EXPECT_EQ(40, reqSize.w);
   EXPECT_EQ(20, reqSize.h);
 
@@ -165,7 +165,7 @@ TEST(Grid, Intrincate3x3Grid)
 
   // Test request size
   grid->setChildSpacing(2);
-  Size reqSize = grid->getPreferredSize();
+  Size reqSize = grid->sizeHint();
   EXPECT_EQ(22, reqSize.w);
   EXPECT_EQ(22, reqSize.h);
 
@@ -217,7 +217,7 @@ TEST(Grid, FourColumns)
 
   // Test request size
   grid.setChildSpacing(0);
-  EXPECT_EQ(gfx::Size(40, 20), grid.getPreferredSize());
+  EXPECT_EQ(gfx::Size(40, 20), grid.sizeHint());
 
   // Test layout
   grid.setBounds(gfx::Rect(0, 0, 40, 20));
diff --git a/src/ui/image_view.cpp b/src/ui/image_view.cpp
index 977699e..91997cb 100644
--- a/src/ui/image_view.cpp
+++ b/src/ui/image_view.cpp
@@ -14,7 +14,7 @@
 #include "ui/graphics.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 
@@ -27,13 +27,13 @@ ImageView::ImageView(she::Surface* sur, int align)
   setAlign(align);
 }
 
-void ImageView::onPreferredSize(PreferredSizeEvent& ev)
+void ImageView::onSizeHint(SizeHintEvent& ev)
 {
   gfx::Rect box;
   getTextIconInfo(&box, NULL, NULL,
     getAlign(), m_sur->width(), m_sur->height());
 
-  ev.setPreferredSize(
+  ev.setSizeHint(
     gfx::Size(
       box.w + border().width(),
       box.h + border().height()));
diff --git a/src/ui/image_view.h b/src/ui/image_view.h
index 820bcfe..a650341 100644
--- a/src/ui/image_view.h
+++ b/src/ui/image_view.h
@@ -22,7 +22,7 @@ namespace ui {
     ImageView(she::Surface* sur, int align);
 
   protected:
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
 
   private:
diff --git a/src/ui/int_entry.cpp b/src/ui/int_entry.cpp
index 87bb9bc..dd3e1f9 100644
--- a/src/ui/int_entry.cpp
+++ b/src/ui/int_entry.cpp
@@ -17,7 +17,7 @@
 #include "ui/manager.h"
 #include "ui/message.h"
 #include "ui/popup_window.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/slider.h"
 #include "ui/system.h"
 #include "ui/theme.h"
@@ -127,7 +127,7 @@ bool IntEntry::onProcessMessage(Message* msg)
   return Entry::onProcessMessage(msg);
 }
 
-void IntEntry::onPreferredSize(PreferredSizeEvent& ev)
+void IntEntry::onSizeHint(SizeHintEvent& ev)
 {
   int min_w = getFont()->textLength(m_slider.convertValueToText(m_min));
   int max_w = getFont()->textLength(m_slider.convertValueToText(m_max));
@@ -138,7 +138,7 @@ void IntEntry::onPreferredSize(PreferredSizeEvent& ev)
   w += border().width();
   h += border().height();
 
-  ev.setPreferredSize(w, h);
+  ev.setSizeHint(w, h);
 }
 
 void IntEntry::onChange()
@@ -157,7 +157,7 @@ void IntEntry::openPopup()
   m_slider.setValue(getValue());
 
   Rect rc = getBounds();
-  int sliderH = m_slider.getPreferredSize().h;
+  int sliderH = m_slider.sizeHint().h;
 
   if (rc.y+rc.h+sliderH < ui::display_h())
     rc.y += rc.h;
diff --git a/src/ui/int_entry.h b/src/ui/int_entry.h
index 01abfe4..40e0d0c 100644
--- a/src/ui/int_entry.h
+++ b/src/ui/int_entry.h
@@ -26,7 +26,7 @@ namespace ui {
 
   protected:
     bool onProcessMessage(Message* msg) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onChange() override;
 
     // New events
diff --git a/src/ui/label.cpp b/src/ui/label.cpp
index bea8f0e..d093314 100644
--- a/src/ui/label.cpp
+++ b/src/ui/label.cpp
@@ -11,7 +11,7 @@
 #include "she/font.h"
 #include "ui/label.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/theme.h"
 
 namespace ui {
@@ -24,7 +24,7 @@ Label::Label(const std::string& text)
   initTheme();
 }
 
-void Label::onPreferredSize(PreferredSizeEvent& ev)
+void Label::onSizeHint(SizeHintEvent& ev)
 {
   gfx::Size sz(0, 0);
 
@@ -37,7 +37,7 @@ void Label::onPreferredSize(PreferredSizeEvent& ev)
   sz.w += border().width();
   sz.h += border().height();
 
-  ev.setPreferredSize(sz);
+  ev.setSizeHint(sz);
 }
 
 void Label::onPaint(PaintEvent& ev)
diff --git a/src/ui/label.h b/src/ui/label.h
index fc56e5f..9ae7205 100644
--- a/src/ui/label.h
+++ b/src/ui/label.h
@@ -18,7 +18,7 @@ namespace ui {
     Label(const std::string& text);
 
   protected:
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
   };
 
diff --git a/src/ui/listbox.cpp b/src/ui/listbox.cpp
index 462cd3e..93de9c2 100644
--- a/src/ui/listbox.cpp
+++ b/src/ui/listbox.cpp
@@ -13,7 +13,7 @@
 #include "base/path.h"
 #include "ui/listitem.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
@@ -289,19 +289,19 @@ void ListBox::onResize(ResizeEvent& ev)
   Rect cpos = getChildrenBounds();
 
   for (auto child : children()) {
-    cpos.h = child->getPreferredSize().h;
+    cpos.h = child->sizeHint().h;
     child->setBounds(cpos);
 
     cpos.y += child->getBounds().h + this->childSpacing();
   }
 }
 
-void ListBox::onPreferredSize(PreferredSizeEvent& ev)
+void ListBox::onSizeHint(SizeHintEvent& ev)
 {
   int w = 0, h = 0;
 
   UI_FOREACH_WIDGET_WITH_END(children(), it, end) {
-    Size reqSize = static_cast<ListItem*>(*it)->getPreferredSize();
+    Size reqSize = static_cast<ListItem*>(*it)->sizeHint();
 
     w = MAX(w, reqSize.w);
     h += reqSize.h + (it+1 != end ? this->childSpacing(): 0);
@@ -310,7 +310,7 @@ void ListBox::onPreferredSize(PreferredSizeEvent& ev)
   w += border().width();
   h += border().height();
 
-  ev.setPreferredSize(Size(w, h));
+  ev.setSizeHint(Size(w, h));
 }
 
 void ListBox::onChange()
diff --git a/src/ui/listbox.h b/src/ui/listbox.h
index 3a7ec3d..48bf098 100644
--- a/src/ui/listbox.h
+++ b/src/ui/listbox.h
@@ -38,7 +38,7 @@ namespace ui {
     virtual bool onProcessMessage(Message* msg) override;
     virtual void onPaint(PaintEvent& ev) override;
     virtual void onResize(ResizeEvent& ev) override;
-    virtual void onPreferredSize(PreferredSizeEvent& ev) override;
+    virtual void onSizeHint(SizeHintEvent& ev) override;
     virtual void onChange();
     virtual void onDoubleClickItem();
   };
diff --git a/src/ui/listitem.cpp b/src/ui/listitem.cpp
index bd4b677..e558f3e 100644
--- a/src/ui/listitem.cpp
+++ b/src/ui/listitem.cpp
@@ -11,7 +11,7 @@
 #include "ui/listitem.h"
 
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/theme.h"
 #include "ui/view.h"
@@ -43,7 +43,7 @@ void ListItem::onResize(ResizeEvent& ev)
     child->setBounds(crect);
 }
 
-void ListItem::onPreferredSize(PreferredSizeEvent& ev)
+void ListItem::onSizeHint(SizeHintEvent& ev)
 {
   int w = 0, h = 0;
   Size maxSize;
@@ -54,7 +54,7 @@ void ListItem::onPreferredSize(PreferredSizeEvent& ev)
     maxSize.w = maxSize.h = 0;
 
   for (auto child : children()) {
-    Size reqSize = child->getPreferredSize();
+    Size reqSize = child->sizeHint();
 
     maxSize.w = MAX(maxSize.w, reqSize.w);
     maxSize.h = MAX(maxSize.h, reqSize.h);
@@ -63,7 +63,7 @@ void ListItem::onPreferredSize(PreferredSizeEvent& ev)
   w = maxSize.w + border().width();
   h = maxSize.h + border().height();
 
-  ev.setPreferredSize(Size(w, h));
+  ev.setSizeHint(Size(w, h));
 }
 
 } // namespace ui
diff --git a/src/ui/listitem.h b/src/ui/listitem.h
index b77021a..0d79198 100644
--- a/src/ui/listitem.h
+++ b/src/ui/listitem.h
@@ -25,7 +25,7 @@ namespace ui {
   protected:
     void onPaint(PaintEvent& ev) override;
     void onResize(ResizeEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
 
   private:
     std::string m_value;
diff --git a/src/ui/manager.cpp b/src/ui/manager.cpp
index 15ca7f2..f3f9ee7 100644
--- a/src/ui/manager.cpp
+++ b/src/ui/manager.cpp
@@ -1121,7 +1121,7 @@ void Manager::onNewDisplayConfiguration()
   flushRedraw();
 }
 
-void Manager::onPreferredSize(PreferredSizeEvent& ev)
+void Manager::onSizeHint(SizeHintEvent& ev)
 {
   int w = 0, h = 0;
 
@@ -1141,7 +1141,7 @@ void Manager::onPreferredSize(PreferredSizeEvent& ev)
     h = pos.h;
   }
 
-  ev.setPreferredSize(gfx::Size(w, h));
+  ev.setSizeHint(gfx::Size(w, h));
 }
 
 void Manager::pumpQueue()
diff --git a/src/ui/manager.h b/src/ui/manager.h
index ea25bb8..bc91410 100644
--- a/src/ui/manager.h
+++ b/src/ui/manager.h
@@ -95,7 +95,7 @@ namespace ui {
     bool onProcessMessage(Message* msg) override;
     void onResize(ResizeEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onBroadcastMouseMessage(WidgetsList& targets) override;
     virtual LayoutIO* onGetLayoutIO();
     virtual void onNewDisplayConfiguration();
diff --git a/src/ui/menu.cpp b/src/ui/menu.cpp
index a9bf0d1..36d04cd 100644
--- a/src/ui/menu.cpp
+++ b/src/ui/menu.cpp
@@ -320,7 +320,7 @@ void Menu::onResize(ResizeEvent& ev)
   bool isBar = (getParent()->type() == kMenuBarWidget);
 
   for (auto child : children()) {
-    Size reqSize = child->getPreferredSize();
+    Size reqSize = child->sizeHint();
 
     if (isBar)
       cpos.w = reqSize.w;
@@ -336,13 +336,13 @@ void Menu::onResize(ResizeEvent& ev)
   }
 }
 
-void Menu::onPreferredSize(PreferredSizeEvent& ev)
+void Menu::onSizeHint(SizeHintEvent& ev)
 {
   Size size(0, 0);
   Size reqSize;
 
   UI_FOREACH_WIDGET_WITH_END(children(), it, end) {
-    reqSize = (*it)->getPreferredSize();
+    reqSize = (*it)->sizeHint();
 
     if (getParent() && getParent()->type() == kMenuBarWidget) {
       size.w += reqSize.w + ((it+1 != end) ? childSpacing(): 0);
@@ -357,7 +357,7 @@ void Menu::onPreferredSize(PreferredSizeEvent& ev)
   size.w += border().width();
   size.h += border().height();
 
-  ev.setPreferredSize(size);
+  ev.setSizeHint(size);
 }
 
 bool MenuBox::onProcessMessage(Message* msg)
@@ -668,17 +668,17 @@ void MenuBox::onResize(ResizeEvent& ev)
     menu->setBounds(getChildrenBounds());
 }
 
-void MenuBox::onPreferredSize(PreferredSizeEvent& ev)
+void MenuBox::onSizeHint(SizeHintEvent& ev)
 {
   Size size(0, 0);
 
   if (Menu* menu = getMenu())
-    size = menu->getPreferredSize();
+    size = menu->sizeHint();
 
   size.w += border().width();
   size.h += border().height();
 
-  ev.setPreferredSize(size);
+  ev.setSizeHint(size);
 }
 
 bool MenuItem::onProcessMessage(Message* msg)
@@ -880,7 +880,7 @@ void MenuItem::onClick()
   Click();
 }
 
-void MenuItem::onPreferredSize(PreferredSizeEvent& ev)
+void MenuItem::onSizeHint(SizeHintEvent& ev)
 {
   Size size(0, 0);
 
@@ -895,7 +895,7 @@ void MenuItem::onPreferredSize(PreferredSizeEvent& ev)
       + border().height();
   }
 
-  ev.setPreferredSize(size);
+  ev.setSizeHint(size);
 }
 
 // Climbs the hierarchy of menus to get the most-top menubox.
diff --git a/src/ui/menu.h b/src/ui/menu.h
index 377b2e5..4fd94d0 100644
--- a/src/ui/menu.h
+++ b/src/ui/menu.h
@@ -35,7 +35,7 @@ namespace ui {
   protected:
     virtual void onPaint(PaintEvent& ev) override;
     virtual void onResize(ResizeEvent& ev) override;
-    virtual void onPreferredSize(PreferredSizeEvent& ev) override;
+    virtual void onSizeHint(SizeHintEvent& ev) override;
 
   private:
     void setOwnerMenuItem(MenuItem* ownerMenuItem) {
@@ -73,7 +73,7 @@ namespace ui {
   protected:
     virtual bool onProcessMessage(Message* msg) override;
     virtual void onResize(ResizeEvent& ev) override;
-    virtual void onPreferredSize(PreferredSizeEvent& ev) override;
+    virtual void onSizeHint(SizeHintEvent& ev) override;
     MenuBaseData* createBase();
 
   private:
@@ -126,7 +126,7 @@ namespace ui {
   protected:
     virtual bool onProcessMessage(Message* msg) override;
     virtual void onPaint(PaintEvent& ev) override;
-    virtual void onPreferredSize(PreferredSizeEvent& ev) override;
+    virtual void onSizeHint(SizeHintEvent& ev) override;
     virtual void onClick();
 
     bool inBar();
diff --git a/src/ui/panel.cpp b/src/ui/panel.cpp
index af5bff2..a833562 100644
--- a/src/ui/panel.cpp
+++ b/src/ui/panel.cpp
@@ -11,7 +11,7 @@
 #include "ui/panel.h"
 
 #include "ui/resize_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 
 namespace ui {
 
@@ -42,14 +42,14 @@ void Panel::onResize(ResizeEvent& ev)
   }
 }
 
-void Panel::onPreferredSize(PreferredSizeEvent& ev)
+void Panel::onSizeHint(SizeHintEvent& ev)
 {
   gfx::Size maxSize(0, 0);
   gfx::Size reqSize;
 
   for (auto child : children()) {
     if (!child->isDecorative()) {
-      reqSize = child->getPreferredSize();
+      reqSize = child->sizeHint();
 
       maxSize.w = MAX(maxSize.w, reqSize.w);
       maxSize.h = MAX(maxSize.h, reqSize.h);
@@ -59,7 +59,7 @@ void Panel::onPreferredSize(PreferredSizeEvent& ev)
   if (hasText())
     maxSize.w = MAX(maxSize.w, getTextWidth());
 
-  ev.setPreferredSize(
+  ev.setSizeHint(
     maxSize.w + border().width(),
     maxSize.h + border().height());
 }
diff --git a/src/ui/panel.h b/src/ui/panel.h
index 5f671a6..eec9d01 100644
--- a/src/ui/panel.h
+++ b/src/ui/panel.h
@@ -20,7 +20,7 @@ namespace ui {
 
   protected:
     virtual void onResize(ResizeEvent& ev) override;
-    virtual void onPreferredSize(PreferredSizeEvent& ev) override;
+    virtual void onSizeHint(SizeHintEvent& ev) override;
   };
 
 } // namespace ui
diff --git a/src/ui/popup_window.cpp b/src/ui/popup_window.cpp
index 92ff0cd..8c1ad4f 100644
--- a/src/ui/popup_window.cpp
+++ b/src/ui/popup_window.cpp
@@ -11,7 +11,7 @@
 #include "gfx/size.h"
 #include "ui/graphics.h"
 #include "ui/intern.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/theme.h"
 #include "ui/ui.h"
 
@@ -149,7 +149,7 @@ bool PopupWindow::onProcessMessage(Message* msg)
   return Window::onProcessMessage(msg);
 }
 
-void PopupWindow::onPreferredSize(PreferredSizeEvent& ev)
+void PopupWindow::onSizeHint(SizeHintEvent& ev)
 {
   ScreenGraphics g;
   g.setFont(getFont());
@@ -168,7 +168,7 @@ void PopupWindow::onPreferredSize(PreferredSizeEvent& ev)
     Size reqSize;
 
     for (auto child : children()) {
-      reqSize = child->getPreferredSize();
+      reqSize = child->sizeHint();
 
       maxSize.w = MAX(maxSize.w, reqSize.w);
       maxSize.h = MAX(maxSize.h, reqSize.h);
@@ -178,7 +178,7 @@ void PopupWindow::onPreferredSize(PreferredSizeEvent& ev)
     resultSize.h += maxSize.h;
   }
 
-  ev.setPreferredSize(resultSize);
+  ev.setSizeHint(resultSize);
 }
 
 void PopupWindow::onPaint(PaintEvent& ev)
diff --git a/src/ui/popup_window.h b/src/ui/popup_window.h
index 836f4c0..e1cf2c7 100644
--- a/src/ui/popup_window.h
+++ b/src/ui/popup_window.h
@@ -38,7 +38,7 @@ namespace ui {
 
   protected:
     bool onProcessMessage(Message* msg) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
     void onInitTheme(InitThemeEvent& ev) override;
     void onHitTest(HitTestEvent& ev) override;
diff --git a/src/ui/preferred_size_event.h b/src/ui/preferred_size_event.h
deleted file mode 100644
index 2676d1a..0000000
--- a/src/ui/preferred_size_event.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// Aseprite UI Library
-// Copyright (C) 2001-2013  David Capello
-//
-// This file is released under the terms of the MIT license.
-// Read LICENSE.txt for more information.
-
-#ifndef UI_PREFERRED_SIZE_EVENT_H_INCLUDED
-#define UI_PREFERRED_SIZE_EVENT_H_INCLUDED
-#pragma once
-
-#include "gfx/size.h"
-#include "ui/event.h"
-
-namespace ui {
-
-  class Widget;
-
-  class PreferredSizeEvent : public Event
-  {
-    gfx::Size m_fitIn;
-    gfx::Size m_preferredSize;
-
-  public:
-
-    PreferredSizeEvent(Widget* source, const gfx::Size& fitIn);
-    virtual ~PreferredSizeEvent();
-
-    gfx::Size fitInSize() const;
-    int fitInWidth() const;
-    int fitInHeight() const;
-
-    gfx::Size getPreferredSize() const;
-    void setPreferredSize(const gfx::Size& preferredSize);
-    void setPreferredSize(int w, int h);
-
-  };
-
-} // namespace ui
-
-#endif
diff --git a/src/ui/separator.cpp b/src/ui/separator.cpp
index 9b42693..7c7052d 100644
--- a/src/ui/separator.cpp
+++ b/src/ui/separator.cpp
@@ -12,7 +12,7 @@
 
 #include "gfx/size.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/theme.h"
 
 namespace ui {
@@ -34,12 +34,12 @@ void Separator::onPaint(PaintEvent& ev)
   getTheme()->paintSeparator(ev);
 }
 
-void Separator::onPreferredSize(PreferredSizeEvent& ev)
+void Separator::onSizeHint(SizeHintEvent& ev)
 {
   Size maxSize(0, 0);
 
   for (auto child : children()) {
-    Size reqSize = child->getPreferredSize();
+    Size reqSize = child->sizeHint();
     maxSize.w = MAX(maxSize.w, reqSize.w);
     maxSize.h = MAX(maxSize.h, reqSize.h);
   }
@@ -52,7 +52,7 @@ void Separator::onPreferredSize(PreferredSizeEvent& ev)
   int w = maxSize.w + border().width();
   int h = maxSize.h + border().height();
 
-  ev.setPreferredSize(Size(w, h));
+  ev.setSizeHint(Size(w, h));
 }
 
 } // namespace ui
diff --git a/src/ui/separator.h b/src/ui/separator.h
index 07a6763..6b3d317 100644
--- a/src/ui/separator.h
+++ b/src/ui/separator.h
@@ -19,7 +19,7 @@ namespace ui {
 
   protected:
     void onPaint(PaintEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
   };
 
 } // namespace ui
diff --git a/src/ui/preferred_size_event.cpp b/src/ui/size_hint_event.cpp
similarity index 54%
rename from src/ui/preferred_size_event.cpp
rename to src/ui/size_hint_event.cpp
index 4e80e1e..6ca5024 100644
--- a/src/ui/preferred_size_event.cpp
+++ b/src/ui/size_hint_event.cpp
@@ -1,5 +1,5 @@
 // Aseprite UI Library
-// Copyright (C) 2001-2013  David Capello
+// Copyright (C) 2001-2013, 2015  David Capello
 //
 // This file is released under the terms of the MIT license.
 // Read LICENSE.txt for more information.
@@ -8,7 +8,7 @@
 #include "config.h"
 #endif
 
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/widget.h"
 
 namespace ui {
@@ -26,52 +26,52 @@ using namespace gfx;
      without restrictions. If its width or height is greater than 0,
      you could try to fit your widget to that width or height.
 */
-PreferredSizeEvent::PreferredSizeEvent(Widget* source, const Size& fitIn)
+SizeHintEvent::SizeHintEvent(Widget* source, const Size& fitIn)
   : Event(source)
   , m_fitIn(fitIn)
-  , m_preferredSize(0, 0)
+  , m_sizeHint(0, 0)
 {
 }
 
 /**
-   Destroys the PreferredSizeEvent.
+   Destroys the SizeHintEvent.
 */
-PreferredSizeEvent::~PreferredSizeEvent()
+SizeHintEvent::~SizeHintEvent()
 {
 }
 
-Size PreferredSizeEvent::fitInSize() const
+Size SizeHintEvent::fitInSize() const
 {
   return m_fitIn;
 }
 
-int PreferredSizeEvent::fitInWidth() const
+int SizeHintEvent::fitInWidth() const
 {
   return m_fitIn.w;
 }
 
-int PreferredSizeEvent::fitInHeight() const
+int SizeHintEvent::fitInHeight() const
 {
   return m_fitIn.h;
 }
 
-Size PreferredSizeEvent::getPreferredSize() const
+Size SizeHintEvent::sizeHint() const
 {
-  return m_preferredSize;
+  return m_sizeHint;
 }
 
-void PreferredSizeEvent::setPreferredSize(const Size& preferredSize)
+void SizeHintEvent::setSizeHint(const Size& sz)
 {
-  m_preferredSize = preferredSize;
+  m_sizeHint = sz;
 }
 
 /**
    Sets the preferred size for the widget.
 */
-void PreferredSizeEvent::setPreferredSize(int w, int h)
+void SizeHintEvent::setSizeHint(int w, int h)
 {
-  m_preferredSize.w = w;
-  m_preferredSize.h = h;
+  m_sizeHint.w = w;
+  m_sizeHint.h = h;
 }
 
 } // namespace ui
diff --git a/src/ui/size_hint_event.h b/src/ui/size_hint_event.h
new file mode 100644
index 0000000..40253d9
--- /dev/null
+++ b/src/ui/size_hint_event.h
@@ -0,0 +1,39 @@
+// Aseprite UI Library
+// Copyright (C) 2001-2013, 2015  David Capello
+//
+// This file is released under the terms of the MIT license.
+// Read LICENSE.txt for more information.
+
+#ifndef UI_SIZE_HINT_EVENT_H_INCLUDED
+#define UI_SIZE_HINT_EVENT_H_INCLUDED
+#pragma once
+
+#include "gfx/size.h"
+#include "ui/event.h"
+
+namespace ui {
+
+  class Widget;
+
+  class SizeHintEvent : public Event {
+    gfx::Size m_fitIn;
+    gfx::Size m_sizeHint;
+
+  public:
+
+    SizeHintEvent(Widget* source, const gfx::Size& fitIn);
+    virtual ~SizeHintEvent();
+
+    gfx::Size fitInSize() const;
+    int fitInWidth() const;
+    int fitInHeight() const;
+
+    gfx::Size sizeHint() const;
+    void setSizeHint(const gfx::Size& sz);
+    void setSizeHint(int w, int h);
+
+  };
+
+} // namespace ui
+
+#endif
diff --git a/src/ui/slider.cpp b/src/ui/slider.cpp
index a5151ff..42fe7ed 100644
--- a/src/ui/slider.cpp
+++ b/src/ui/slider.cpp
@@ -13,7 +13,7 @@
 #include "she/font.h"
 #include "ui/manager.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 #include "ui/widget.h"
@@ -214,7 +214,7 @@ not_used:;
   return Widget::onProcessMessage(msg);
 }
 
-void Slider::onPreferredSize(PreferredSizeEvent& ev)
+void Slider::onSizeHint(SizeHintEvent& ev)
 {
   int min_w = getFont()->textLength(convertValueToText(m_min));
   int max_w = getFont()->textLength(convertValueToText(m_max));
@@ -225,7 +225,7 @@ void Slider::onPreferredSize(PreferredSizeEvent& ev)
   w += border().width();
   h += border().height();
 
-  ev.setPreferredSize(w, h);
+  ev.setSizeHint(w, h);
 }
 
 void Slider::onPaint(PaintEvent& ev)
diff --git a/src/ui/slider.h b/src/ui/slider.h
index 52796c9..60a69f5 100644
--- a/src/ui/slider.h
+++ b/src/ui/slider.h
@@ -46,7 +46,7 @@ namespace ui {
   protected:
     // Events
     bool onProcessMessage(Message* msg) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
 
     // New events
diff --git a/src/ui/splitter.cpp b/src/ui/splitter.cpp
index 9db8c4c..683d250 100644
--- a/src/ui/splitter.cpp
+++ b/src/ui/splitter.cpp
@@ -13,7 +13,7 @@
 #include "ui/load_layout_event.h"
 #include "ui/manager.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/save_layout_event.h"
 #include "ui/system.h"
@@ -238,7 +238,7 @@ void Splitter::onPaint(PaintEvent& ev)
   getTheme()->paintSplitter(ev);
 }
 
-void Splitter::onPreferredSize(PreferredSizeEvent& ev)
+void Splitter::onSizeHint(SizeHintEvent& ev)
 {
 #define GET_CHILD_SIZE(w, h)                    \
   do {                                          \
@@ -268,7 +268,7 @@ void Splitter::onPreferredSize(PreferredSizeEvent& ev)
     if (!child->isVisible())
       continue;
 
-    reqSize = child->getPreferredSize();
+    reqSize = child->sizeHint();
 
     if (this->getAlign() & HORIZONTAL)
       GET_CHILD_SIZE(w, h);
@@ -286,7 +286,7 @@ void Splitter::onPreferredSize(PreferredSizeEvent& ev)
   w += border().width();
   h += border().height();
 
-  ev.setPreferredSize(Size(w, h));
+  ev.setSizeHint(Size(w, h));
 }
 
 void Splitter::onLoadLayout(LoadLayoutEvent& ev)
diff --git a/src/ui/splitter.h b/src/ui/splitter.h
index e897893..5e5a988 100644
--- a/src/ui/splitter.h
+++ b/src/ui/splitter.h
@@ -27,7 +27,7 @@ namespace ui {
     bool onProcessMessage(Message* msg) override;
     void onResize(ResizeEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onLoadLayout(LoadLayoutEvent& ev) override;
     void onSaveLayout(SaveLayoutEvent& ev) override;
 
diff --git a/src/ui/textbox.cpp b/src/ui/textbox.cpp
index 7e88db6..1aa415d 100644
--- a/src/ui/textbox.cpp
+++ b/src/ui/textbox.cpp
@@ -13,7 +13,7 @@
 #include "gfx/size.h"
 #include "ui/intern.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 #include "ui/view.h"
@@ -147,7 +147,7 @@ void TextBox::onPaint(PaintEvent& ev)
   getTheme()->paintTextBox(ev);
 }
 
-void TextBox::onPreferredSize(PreferredSizeEvent& ev)
+void TextBox::onSizeHint(SizeHintEvent& ev)
 {
   int w = 0;
   int h = 0;
@@ -175,7 +175,7 @@ void TextBox::onPreferredSize(PreferredSizeEvent& ev)
     w = min;
   }
 
-  ev.setPreferredSize(gfx::Size(w, h));
+  ev.setSizeHint(gfx::Size(w, h));
 }
 
 void TextBox::onSetText()
diff --git a/src/ui/textbox.h b/src/ui/textbox.h
index 6bfd2a7..facb810 100644
--- a/src/ui/textbox.h
+++ b/src/ui/textbox.h
@@ -20,7 +20,7 @@ namespace ui {
   protected:
     bool onProcessMessage(Message* msg) override;
     void onPaint(PaintEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onSetText() override;
 
   private:
diff --git a/src/ui/tooltips.cpp b/src/ui/tooltips.cpp
index a798cef..f4b6c11 100644
--- a/src/ui/tooltips.cpp
+++ b/src/ui/tooltips.cpp
@@ -17,7 +17,7 @@
 #include "ui/manager.h"
 #include "ui/message.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
 
@@ -232,7 +232,7 @@ bool TipWindow::onProcessMessage(Message* msg)
   return PopupWindow::onProcessMessage(msg);
 }
 
-void TipWindow::onPreferredSize(PreferredSizeEvent& ev)
+void TipWindow::onSizeHint(SizeHintEvent& ev)
 {
   ScreenGraphics g;
   g.setFont(getFont());
@@ -248,7 +248,7 @@ void TipWindow::onPreferredSize(PreferredSizeEvent& ev)
     Size reqSize;
 
     for (auto child : children()) {
-      reqSize = child->getPreferredSize();
+      reqSize = child->sizeHint();
 
       maxSize.w = MAX(maxSize.w, reqSize.w);
       maxSize.h = MAX(maxSize.h, reqSize.h);
@@ -258,7 +258,7 @@ void TipWindow::onPreferredSize(PreferredSizeEvent& ev)
     resultSize.h += maxSize.h;
   }
 
-  ev.setPreferredSize(resultSize);
+  ev.setSizeHint(resultSize);
 }
 
 void TipWindow::onInitTheme(InitThemeEvent& ev)
diff --git a/src/ui/tooltips.h b/src/ui/tooltips.h
index 94e57d4..6d35148 100644
--- a/src/ui/tooltips.h
+++ b/src/ui/tooltips.h
@@ -69,7 +69,7 @@ namespace ui {
 
   protected:
     bool onProcessMessage(Message* msg) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onInitTheme(InitThemeEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
 
diff --git a/src/ui/ui.h b/src/ui/ui.h
index 656383c..f9d153b 100644
--- a/src/ui/ui.h
+++ b/src/ui/ui.h
@@ -1,5 +1,5 @@
 // Aseprite UI Library
-// Copyright (C) 2001-2013  David Capello
+// Copyright (C) 2001-2013, 2015  David Capello
 //
 // This file is released under the terms of the MIT license.
 // Read LICENSE.txt for more information.
@@ -44,7 +44,7 @@
 #include "ui/paint_event.h"
 #include "ui/panel.h"
 #include "ui/popup_window.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/property.h"
 #include "ui/register_message.h"
 #include "ui/resize_event.h"
diff --git a/src/ui/view.cpp b/src/ui/view.cpp
index 361681e..06d764f 100644
--- a/src/ui/view.cpp
+++ b/src/ui/view.cpp
@@ -11,7 +11,7 @@
 #include "gfx/size.h"
 #include "ui/intern.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/scroll_helper.h"
 #include "ui/system.h"
@@ -215,12 +215,12 @@ void View::onResize(ResizeEvent& ev)
   updateView();
 }
 
-void View::onPreferredSize(PreferredSizeEvent& ev)
+void View::onSizeHint(SizeHintEvent& ev)
 {
-  Size viewSize = m_viewport.getPreferredSize();
+  Size viewSize = m_viewport.sizeHint();
   viewSize.w += border().width();
   viewSize.h += border().height();
-  ev.setPreferredSize(viewSize);
+  ev.setSizeHint(viewSize);
 }
 
 void View::onPaint(PaintEvent& ev)
diff --git a/src/ui/view.h b/src/ui/view.h
index ead336e..269cbec 100644
--- a/src/ui/view.h
+++ b/src/ui/view.h
@@ -54,7 +54,7 @@ namespace ui {
     // Events
     bool onProcessMessage(Message* msg) override;
     void onResize(ResizeEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
 
     virtual void onScrollChange();
diff --git a/src/ui/viewport.cpp b/src/ui/viewport.cpp
index 6d666a2..9272470 100644
--- a/src/ui/viewport.cpp
+++ b/src/ui/viewport.cpp
@@ -11,7 +11,7 @@
 #include "gfx/point.h"
 #include "gfx/size.h"
 #include "ui/message.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/theme.h"
 #include "ui/view.h"
@@ -39,7 +39,7 @@ void Viewport::onResize(ResizeEvent& ev)
   cpos.y = rect.y + border().top() - scroll.y;
 
   for (auto child : children()) {
-    Size reqSize = child->getPreferredSize();
+    Size reqSize = child->sizeHint();
 
     cpos.w = MAX(reqSize.w, rect.w - border().width());
     cpos.h = MAX(reqSize.h, rect.h - border().height());
@@ -48,10 +48,10 @@ void Viewport::onResize(ResizeEvent& ev)
   }
 }
 
-void Viewport::onPreferredSize(PreferredSizeEvent& ev)
+void Viewport::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(gfx::Size(1 + border().width(),
-                                1 + border().height()));
+  ev.setSizeHint(gfx::Size(1 + border().width(),
+                           1 + border().height()));
 }
 
 void Viewport::onPaint(PaintEvent& ev)
@@ -65,7 +65,7 @@ Size Viewport::calculateNeededSize()
   Size reqSize;
 
   for (auto child : children()) {
-    reqSize = child->getPreferredSize();
+    reqSize = child->sizeHint();
     maxSize.w = MAX(maxSize.w, reqSize.w);
     maxSize.h = MAX(maxSize.h, reqSize.h);
   }
diff --git a/src/ui/viewport.h b/src/ui/viewport.h
index 244e214..f540439 100644
--- a/src/ui/viewport.h
+++ b/src/ui/viewport.h
@@ -21,7 +21,7 @@ namespace ui {
   protected:
     // Events
     void onResize(ResizeEvent& ev) override;
-    void onPreferredSize(PreferredSizeEvent& ev) override;
+    void onSizeHint(SizeHintEvent& ev) override;
     void onPaint(PaintEvent& ev) override;
   };
 
diff --git a/src/ui/widget.cpp b/src/ui/widget.cpp
index 2459cea..2657dc6 100644
--- a/src/ui/widget.cpp
+++ b/src/ui/widget.cpp
@@ -26,7 +26,7 @@
 #include "ui/message.h"
 #include "ui/move_region.h"
 #include "ui/paint_event.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/save_layout_event.h"
 #include "ui/system.h"
@@ -68,7 +68,7 @@ Widget::Widget(WidgetType type)
   , m_bgColor(gfx::ColorNone)
   , m_bounds(0, 0, 0, 0)
   , m_parent(nullptr)
-  , m_preferredSize(nullptr)
+  , m_sizeHint(nullptr)
   , m_doubleBuffered(false)
   , m_transparent(false)
   , m_minSize(0, 0)
@@ -97,8 +97,8 @@ Widget::~Widget()
   while (!m_children.empty())
     delete m_children.front();
 
-  // Delete the preferred size
-  delete m_preferredSize;
+  // Delete fixed size hint if it isn't nullptr
+  delete m_sizeHint;
 
   // Low level free
   details::removeWidget(this);
@@ -1132,25 +1132,25 @@ void Widget::broadcastMouseMessage(WidgetsList& targets)
    Returns the preferred size of the Widget.
 
    It checks if the preferred size is static (it means when it was
-   set through #setPreferredSize before) or if it is dynamic (this is
-   the default and is when the #onPreferredSize is used to determined
+   set through #setSizeHint before) or if it is dynamic (this is
+   the default and is when the #onSizeHint is used to determined
    the preferred size).
 
-   In another words, if you do not use #setPreferredSize to set a
-   <em>static preferred size</em> for the widget then #onPreferredSize
+   In another words, if you do not use #setSizeHint to set a
+   <em>static preferred size</em> for the widget then #onSizeHint
    will be used to calculate it.
 
-   @see setPreferredSize, onPreferredSize, #getPreferredSize(const Size &)
+   @see setSizeHint, onSizeHint, #sizeHint(const Size &)
 */
-Size Widget::getPreferredSize()
+Size Widget::sizeHint()
 {
-  if (m_preferredSize != NULL)
-    return *m_preferredSize;
+  if (m_sizeHint != NULL)
+    return *m_sizeHint;
   else {
-    PreferredSizeEvent ev(this, Size(0, 0));
-    onPreferredSize(ev);
+    SizeHintEvent ev(this, Size(0, 0));
+    onSizeHint(ev);
 
-    Size sz(ev.getPreferredSize());
+    Size sz(ev.sizeHint());
     sz.w = MID(m_minSize.w, sz.w, m_maxSize.w);
     sz.h = MID(m_minSize.h, sz.h, m_maxSize.h);
     return sz;
@@ -1159,27 +1159,27 @@ Size Widget::getPreferredSize()
 
 /**
    Returns the preferred size trying to fit in the specified size.
-   Remember that if you use #setPreferredSize this routine will
+   Remember that if you use #setSizeHint this routine will
    return the static size which you specified manually.
 
    @param fitIn
        This can have both attributes (width and height) in
-       zero, which means that it'll behave same as #getPreferredSize().
-       If the width is great than zero the #onPreferredSize will try to
+       zero, which means that it'll behave same as #sizeHint().
+       If the width is great than zero the #onSizeHint will try to
        fit in that width (this is useful to fit Label or Edit controls
        in a specified width and calculate the height it could occupy).
 
-   @see getPreferredSize
+   @see sizeHint
 */
-Size Widget::getPreferredSize(const Size& fitIn)
+Size Widget::sizeHint(const Size& fitIn)
 {
-  if (m_preferredSize != NULL)
-    return *m_preferredSize;
+  if (m_sizeHint != NULL)
+    return *m_sizeHint;
   else {
-    PreferredSizeEvent ev(this, fitIn);
-    onPreferredSize(ev);
+    SizeHintEvent ev(this, fitIn);
+    onSizeHint(ev);
 
-    Size sz(ev.getPreferredSize());
+    Size sz(ev.sizeHint());
     sz.w = MID(m_minSize.w, sz.w, m_maxSize.w);
     sz.h = MID(m_minSize.h, sz.h, m_maxSize.h);
     return sz;
@@ -1188,17 +1188,17 @@ Size Widget::getPreferredSize(const Size& fitIn)
 
 /**
    Sets a fixed preferred size specified by the user.
-   Widget::getPreferredSize() will return this value if it's setted.
+   Widget::sizeHint() will return this value if it's setted.
 */
-void Widget::setPreferredSize(const Size& fixedSize)
+void Widget::setSizeHint(const Size& fixedSize)
 {
-  delete m_preferredSize;
-  m_preferredSize = new Size(fixedSize);
+  delete m_sizeHint;
+  m_sizeHint = new Size(fixedSize);
 }
 
-void Widget::setPreferredSize(int fixedWidth, int fixedHeight)
+void Widget::setSizeHint(int fixedWidth, int fixedHeight)
 {
-  setPreferredSize(Size(fixedWidth, fixedHeight));
+  setSizeHint(Size(fixedWidth, fixedHeight));
 }
 
 // ===============================================================
@@ -1386,9 +1386,9 @@ void Widget::onInvalidateRegion(const Region& region)
   }
 }
 
-void Widget::onPreferredSize(PreferredSizeEvent& ev)
+void Widget::onSizeHint(SizeHintEvent& ev)
 {
-  ev.setPreferredSize(m_minSize);
+  ev.setSizeHint(m_minSize);
 }
 
 void Widget::onLoadLayout(LoadLayoutEvent& ev)
diff --git a/src/ui/widget.h b/src/ui/widget.h
index 9f67784..0413df9 100644
--- a/src/ui/widget.h
+++ b/src/ui/widget.h
@@ -36,7 +36,7 @@ namespace ui {
   class Message;
   class MouseMessage;
   class PaintEvent;
-  class PreferredSizeEvent;
+  class SizeHintEvent;
   class ResizeEvent;
   class SaveLayoutEvent;
   class Theme;
@@ -322,10 +322,10 @@ namespace ui {
     // SIZE & POSITION
     // ===============================================================
 
-    gfx::Size getPreferredSize();
-    gfx::Size getPreferredSize(const gfx::Size& fitIn);
-    void setPreferredSize(const gfx::Size& fixedSize);
-    void setPreferredSize(int fixedWidth, int fixedHeight);
+    gfx::Size sizeHint();
+    gfx::Size sizeHint(const gfx::Size& fitIn);
+    void setSizeHint(const gfx::Size& fixedSize);
+    void setSizeHint(int fixedWidth, int fixedHeight);
 
     // ===============================================================
     // MOUSE, FOCUS & KEYBOARD
@@ -362,7 +362,7 @@ namespace ui {
     // ===============================================================
 
     virtual void onInvalidateRegion(const gfx::Region& region);
-    virtual void onPreferredSize(PreferredSizeEvent& ev);
+    virtual void onSizeHint(SizeHintEvent& ev);
     virtual void onLoadLayout(LoadLayoutEvent& ev);
     virtual void onSaveLayout(SaveLayoutEvent& ev);
     virtual void onResize(ResizeEvent& ev);
@@ -393,7 +393,7 @@ namespace ui {
     gfx::Region m_updateRegion;   // Region to be redrawed.
     WidgetsList m_children;       // Sub-widgets
     Widget* m_parent;             // Who is the parent?
-    gfx::Size* m_preferredSize;
+    gfx::Size* m_sizeHint;
     bool m_doubleBuffered;
     bool m_transparent;
 
diff --git a/src/ui/window.cpp b/src/ui/window.cpp
index b9e2347..9fad785 100644
--- a/src/ui/window.cpp
+++ b/src/ui/window.cpp
@@ -17,7 +17,7 @@
 #include "ui/message.h"
 #include "ui/message_loop.h"
 #include "ui/move_region.h"
-#include "ui/preferred_size_event.h"
+#include "ui/size_hint_event.h"
 #include "ui/resize_event.h"
 #include "ui/system.h"
 #include "ui/theme.h"
@@ -195,7 +195,7 @@ void Window::remapWindow()
   }
 
   setBounds(Rect(Point(getBounds().x, getBounds().y),
-                 getPreferredSize()));
+                 sizeHint()));
 
   // load layout
   loadLayout();
@@ -423,13 +423,13 @@ void Window::onResize(ResizeEvent& ev)
   windowSetPosition(ev.getBounds());
 }
 
-void Window::onPreferredSize(PreferredSizeEvent& ev)
+void Window::onSizeHint(SizeHintEvent& ev)
 {
   Widget* manager = getManager();
 
   if (m_isDesktop) {
     Rect cpos = manager->getChildrenBounds();
-    ev.setPreferredSize(cpos.w, cpos.h);
+    ev.setSizeHint(cpos.w, cpos.h);
   }
   else {
     Size maxSize(0, 0);
@@ -437,7 +437,7 @@ void Window::onPreferredSize(PreferredSizeEvent& ev)
 
     for (auto child : children()) {
       if (!child->isDecorative()) {
-        reqSize = child->getPreferredSize();
+        reqSize = child->sizeHint();
 
         maxSize.w = MAX(maxSize.w, reqSize.w);
         maxSize.h = MAX(maxSize.h, reqSize.h);
@@ -447,8 +447,8 @@ void Window::onPreferredSize(PreferredSizeEvent& ev)
     if (hasText())
       maxSize.w = MAX(maxSize.w, getTextWidth());
 
-    ev.setPreferredSize(maxSize.w + border().width(),
-                        maxSize.h + border().height());
+    ev.setSizeHint(maxSize.w + border().width(),
+                   maxSize.h + border().height());
   }
 }
 
diff --git a/src/ui/window.h b/src/ui/window.h
index 04da920..1080224 100644
--- a/src/ui/window.h
+++ b/src/ui/window.h
@@ -58,7 +58,7 @@ namespace ui {
   protected:
     virtual bool onProcessMessage(Message* msg) override;
     virtual void onResize(ResizeEvent& ev) override;
-    virtual void onPreferredSize(PreferredSizeEvent& ev) override;
+    virtual void onSizeHint(SizeHintEvent& ev) override;
     virtual void onPaint(PaintEvent& ev) override;
     virtual void onBroadcastMouseMessage(WidgetsList& targets) override;
     virtual void onSetText() override;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git



More information about the Pkg-games-commits mailing list