mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 22:27:42 +00:00
LibGUI: Add hook when a tab is middle clicked
This commit is contained in:
parent
cbbfc08f1d
commit
bb6258229a
2 changed files with 10 additions and 1 deletions
|
@ -236,7 +236,15 @@ void TabWidget::mousedown_event(MouseEvent& event)
|
||||||
auto button_rect = this->button_rect(i);
|
auto button_rect = this->button_rect(i);
|
||||||
if (!button_rect.contains(event.position()))
|
if (!button_rect.contains(event.position()))
|
||||||
continue;
|
continue;
|
||||||
set_active_widget(m_tabs[i].widget);
|
if (event.button() == MouseButton::Left) {
|
||||||
|
set_active_widget(m_tabs[i].widget);
|
||||||
|
} else if (event.button() == MouseButton::Middle) {
|
||||||
|
auto* widget = m_tabs[i].widget;
|
||||||
|
deferred_invoke([this, widget](auto&) {
|
||||||
|
if (on_middle_click && widget)
|
||||||
|
on_middle_click(*widget);
|
||||||
|
});
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,6 +80,7 @@ public:
|
||||||
int uniform_tab_width() const;
|
int uniform_tab_width() const;
|
||||||
|
|
||||||
Function<void(Widget&)> on_change;
|
Function<void(Widget&)> on_change;
|
||||||
|
Function<void(Widget&)> on_middle_click;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
TabWidget();
|
TabWidget();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue