mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:07:34 +00:00
PixelPaint: Add Cut action
It's just the Copy action with erasing selection at the end.
This commit is contained in:
parent
580c6080b5
commit
677e4845a7
2 changed files with 20 additions and 0 deletions
|
@ -206,6 +206,23 @@ void MainWidget::initialize_menubar(GUI::Window& window)
|
|||
|
||||
m_edit_menu = window.add_menu("&Edit");
|
||||
|
||||
m_cut_action = GUI::CommonActions::make_cut_action([&](auto&) {
|
||||
auto* editor = current_image_editor();
|
||||
VERIFY(editor);
|
||||
|
||||
if (!editor->active_layer()) {
|
||||
dbgln("Cannot cut with no active layer selected");
|
||||
return;
|
||||
}
|
||||
auto bitmap = editor->active_layer()->try_copy_bitmap(editor->selection());
|
||||
if (!bitmap) {
|
||||
dbgln("try_copy_bitmap() from Layer failed");
|
||||
return;
|
||||
}
|
||||
GUI::Clipboard::the().set_bitmap(*bitmap);
|
||||
editor->active_layer()->erase_selection(editor->selection());
|
||||
});
|
||||
|
||||
m_copy_action = GUI::CommonActions::make_copy_action([&](auto&) {
|
||||
auto* editor = current_image_editor();
|
||||
VERIFY(editor);
|
||||
|
@ -270,6 +287,7 @@ void MainWidget::initialize_menubar(GUI::Window& window)
|
|||
m_edit_menu->add_action(*m_undo_action);
|
||||
m_edit_menu->add_action(*m_redo_action);
|
||||
m_edit_menu->add_separator();
|
||||
m_edit_menu->add_action(*m_cut_action);
|
||||
m_edit_menu->add_action(*m_copy_action);
|
||||
m_edit_menu->add_action(*m_copy_merged_action);
|
||||
m_edit_menu->add_action(*m_paste_action);
|
||||
|
@ -660,6 +678,7 @@ void MainWidget::initialize_menubar(GUI::Window& window)
|
|||
toolbar.add_action(*m_open_image_action);
|
||||
toolbar.add_action(*m_save_image_action);
|
||||
toolbar.add_separator();
|
||||
toolbar.add_action(*m_cut_action);
|
||||
toolbar.add_action(*m_copy_action);
|
||||
toolbar.add_action(*m_paste_action);
|
||||
toolbar.add_action(*m_undo_action);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue