1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-21 02:22:06 +00:00

PixelPaint: Disable current tool when color picking using the Alt key

This commit is contained in:
Tim Ledbetter 2023-01-18 19:01:18 +00:00 committed by Andreas Kling
parent 2f5bbc68ed
commit 06e09cf415

View file

@ -391,6 +391,8 @@ void ImageEditor::mousedown_event(GUI::MouseEvent& event)
void ImageEditor::doubleclick_event(GUI::MouseEvent& event) void ImageEditor::doubleclick_event(GUI::MouseEvent& event)
{ {
if (!m_active_tool || (event.alt() && !m_active_tool->is_overriding_alt()))
return;
auto layer_event = m_active_layer ? event_adjusted_for_layer(event, *m_active_layer) : event; auto layer_event = m_active_layer ? event_adjusted_for_layer(event, *m_active_layer) : event;
auto image_event = event_with_pan_and_scale_applied(event); auto image_event = event_with_pan_and_scale_applied(event);
Tool::MouseEvent tool_event(Tool::MouseEvent::Action::DoubleClick, layer_event, image_event, event); Tool::MouseEvent tool_event(Tool::MouseEvent::Action::DoubleClick, layer_event, image_event, event);
@ -410,14 +412,14 @@ void ImageEditor::mousemove_event(GUI::MouseEvent& event)
return; return;
} }
if (!m_active_tool)
return;
auto image_event = event_with_pan_and_scale_applied(event); auto image_event = event_with_pan_and_scale_applied(event);
if (on_image_mouse_position_change) { if (on_image_mouse_position_change) {
on_image_mouse_position_change(image_event.position()); on_image_mouse_position_change(image_event.position());
} }
if (!m_active_tool || (event.alt() && !m_active_tool->is_overriding_alt()))
return;
auto layer_event = m_active_layer ? event_adjusted_for_layer(event, *m_active_layer) : event; auto layer_event = m_active_layer ? event_adjusted_for_layer(event, *m_active_layer) : event;
Tool::MouseEvent tool_event(Tool::MouseEvent::Action::MouseDown, layer_event, image_event, event); Tool::MouseEvent tool_event(Tool::MouseEvent::Action::MouseDown, layer_event, image_event, event);
m_active_tool->on_mousemove(m_active_layer.ptr(), tool_event); m_active_tool->on_mousemove(m_active_layer.ptr(), tool_event);
@ -433,7 +435,7 @@ void ImageEditor::mouseup_event(GUI::MouseEvent& event)
return; return;
} }
if (!m_active_tool) if (!m_active_tool || (event.alt() && !m_active_tool->is_overriding_alt()))
return; return;
auto layer_event = m_active_layer ? event_adjusted_for_layer(event, *m_active_layer) : event; auto layer_event = m_active_layer ? event_adjusted_for_layer(event, *m_active_layer) : event;
auto image_event = event_with_pan_and_scale_applied(event); auto image_event = event_with_pan_and_scale_applied(event);