|
@@ -38,6 +38,19 @@ NonnullRefPtr<Statusbar::Segment> Statusbar::create_segment()
|
|
|
return widget;
|
|
|
}
|
|
|
|
|
|
+void Statusbar::child_event(Core::ChildEvent& event)
|
|
|
+{
|
|
|
+ auto& event_to_forward = event;
|
|
|
+ // To ensure that the ResizeCorner is always the last widget, and thus stays in the corner,
|
|
|
+ // we replace ChildAdded events that do not request specific placement with events that request placement before the corner
|
|
|
+ if (event.type() == Event::ChildAdded && is<Widget>(*event.child()) && !event.insertion_before_child()) {
|
|
|
+ Core::ChildEvent new_event(Event::ChildAdded, *event.child(), m_corner.ptr());
|
|
|
+ event_to_forward = new_event;
|
|
|
+ }
|
|
|
+
|
|
|
+ return Widget::child_event(event_to_forward);
|
|
|
+}
|
|
|
+
|
|
|
void Statusbar::set_segment_count(size_t count)
|
|
|
{
|
|
|
if (count <= 1)
|