diff --git a/Libraries/LibGUI/Application.cpp b/Libraries/LibGUI/Application.cpp index 18837aeb07..a70e7d5b39 100644 --- a/Libraries/LibGUI/Application.cpp +++ b/Libraries/LibGUI/Application.cpp @@ -40,6 +40,34 @@ namespace GUI { +class Application::TooltipWindow final : public Window { + C_OBJECT(TooltipWindow); + +public: + void set_tooltip(String tooltip) + { + // FIXME: Add some kind of GUI::Label auto-sizing feature. + int text_width = m_label->font().width(tooltip); + set_rect(rect().x(), rect().y(), text_width + 10, m_label->font().glyph_height() + 8); + m_label->set_text(move(tooltip)); + } + +private: + TooltipWindow() + { + set_window_type(WindowType::Tooltip); + m_label = set_main_widget