1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:07:43 +00:00

PixelPaint: Allow keydown events to bubble from ImageEditor

Previously, all keydown KeyEvents were accepted, causing parent widgets
not to receive them. With the addition of shortcut handling to keydown,
shortcuts were not called when the ImageEditor was focused.
This commit is contained in:
Zaggy1024 2022-10-24 20:17:21 -05:00 committed by Sam Atkins
parent 967dfa7956
commit 7ce346e50e
19 changed files with 62 additions and 41 deletions

View file

@ -103,20 +103,26 @@ void RectangleSelectTool::on_mouseup(Layer*, MouseEvent& event)
m_editor->did_complete_action(tool_name());
}
void RectangleSelectTool::on_keydown(GUI::KeyEvent& key_event)
bool RectangleSelectTool::on_keydown(GUI::KeyEvent const& key_event)
{
Tool::on_keydown(key_event);
if (key_event.key() == KeyCode::Key_Space)
if (key_event.key() == KeyCode::Key_Space) {
m_moving_mode = MovingMode::MovingOrigin;
else if (key_event.key() == KeyCode::Key_Control)
return true;
}
if (key_event.key() == KeyCode::Key_Control) {
m_moving_mode = MovingMode::AroundCenter;
return true;
}
if (key_event.key() == KeyCode::Key_Escape) {
if (m_selecting)
m_selecting = false;
else
m_editor->image().selection().clear();
return true;
}
return Tool::on_keydown(key_event);
}
void RectangleSelectTool::on_keyup(GUI::KeyEvent& key_event)