LibGUI: Add hook when a context menu is requested on a tab

This commit is contained in:
FalseHonesty
2020-05-18 18:36:02 -04:00
committed by Andreas Kling
parent ff98f55b85
commit bf2e6325a4
2 changed files with 17 additions and 0 deletions

View File

@@ -370,4 +370,19 @@ void TabWidget::keydown_event(KeyEvent& event)
Widget::keydown_event(event);
}
void TabWidget::context_menu_event(ContextMenuEvent& context_menu_event)
{
for (size_t i = 0; i < m_tabs.size(); ++i) {
auto button_rect = this->button_rect(i);
if (!button_rect.contains(context_menu_event.position()))
continue;
auto* widget = m_tabs[i].widget;
deferred_invoke([this, widget, context_menu_event](auto&) {
if (on_context_menu_request && widget)
on_context_menu_request(*widget, context_menu_event);
});
return;
}
}
}