1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 09:07:35 +00:00

GSlider: Ignore mouse events when disabled.

This commit is contained in:
Andreas Kling 2019-05-24 23:03:11 +02:00
parent ac7e02d984
commit cb9134a2ca

View file

@ -71,6 +71,8 @@ Rect GSlider::knob_rect() const
void GSlider::mousedown_event(GMouseEvent& event) void GSlider::mousedown_event(GMouseEvent& event)
{ {
if (!is_enabled())
return;
if (event.button() == GMouseButton::Left) { if (event.button() == GMouseButton::Left) {
if (knob_rect().contains(event.position())) { if (knob_rect().contains(event.position())) {
m_dragging = true; m_dragging = true;
@ -84,6 +86,8 @@ void GSlider::mousedown_event(GMouseEvent& event)
void GSlider::mousemove_event(GMouseEvent& event) void GSlider::mousemove_event(GMouseEvent& event)
{ {
if (!is_enabled())
return;
set_knob_hovered(knob_rect().contains(event.position())); set_knob_hovered(knob_rect().contains(event.position()));
if (m_dragging) { if (m_dragging) {
float delta = event.position().x() - m_drag_origin.x(); float delta = event.position().x() - m_drag_origin.x();
@ -98,6 +102,8 @@ void GSlider::mousemove_event(GMouseEvent& event)
void GSlider::mouseup_event(GMouseEvent& event) void GSlider::mouseup_event(GMouseEvent& event)
{ {
if (!is_enabled())
return;
if (event.button() == GMouseButton::Left) { if (event.button() == GMouseButton::Left) {
m_dragging = false; m_dragging = false;
return; return;
@ -108,6 +114,8 @@ void GSlider::mouseup_event(GMouseEvent& event)
void GSlider::leave_event(CEvent& event) void GSlider::leave_event(CEvent& event)
{ {
if (!is_enabled())
return;
set_knob_hovered(false); set_knob_hovered(false);
GWidget::leave_event(event); GWidget::leave_event(event);
} }