diff --git a/Libraries/LibGUI/GAction.cpp b/Libraries/LibGUI/GAction.cpp index 88074be450..c5df20869b 100644 --- a/Libraries/LibGUI/GAction.cpp +++ b/Libraries/LibGUI/GAction.cpp @@ -6,6 +6,16 @@ namespace GCommonActions { +NonnullRefPtr make_undo_action(Function callback, GWidget* widget) +{ + return GAction::create("Undo", { Mod_Ctrl, Key_Z }, GraphicsBitmap::load_from_file("/res/icons/16x16/undo.png"), move(callback), widget); +} + +NonnullRefPtr make_redo_action(Function callback, GWidget* widget) +{ + return GAction::create("Redo", { Mod_Ctrl, Key_Y }, GraphicsBitmap::load_from_file("/res/icons/16x16/redo.png"), move(callback), widget); +} + NonnullRefPtr make_delete_action(Function callback, GWidget* widget) { return GAction::create("Delete", { Mod_None, Key_Delete }, GraphicsBitmap::load_from_file("/res/icons/16x16/delete.png"), move(callback), widget); diff --git a/Libraries/LibGUI/GAction.h b/Libraries/LibGUI/GAction.h index b45128b677..f17cd377e2 100644 --- a/Libraries/LibGUI/GAction.h +++ b/Libraries/LibGUI/GAction.h @@ -19,6 +19,8 @@ class GMenuItem; class GWidget; namespace GCommonActions { +NonnullRefPtr make_undo_action(Function, GWidget* widget = nullptr); +NonnullRefPtr make_redo_action(Function, GWidget* widget = nullptr); NonnullRefPtr make_cut_action(Function, GWidget* widget = nullptr); NonnullRefPtr make_copy_action(Function, GWidget* widget = nullptr); NonnullRefPtr make_paste_action(Function, GWidget* widget = nullptr); diff --git a/Libraries/LibGUI/GTextEditor.cpp b/Libraries/LibGUI/GTextEditor.cpp index fe5b6b191a..73e97b9ff0 100644 --- a/Libraries/LibGUI/GTextEditor.cpp +++ b/Libraries/LibGUI/GTextEditor.cpp @@ -35,18 +35,12 @@ GTextEditor::~GTextEditor() void GTextEditor::create_actions() { - m_undo_action = GAction::create( - "Undo", { Mod_Ctrl, Key_Z }, GraphicsBitmap::load_from_file("/res/icons/16x16/undo.png"), [&](const GAction&) { - // FIXME: Undo - }, - this); - - m_redo_action = GAction::create( - "Redo", { Mod_Ctrl, Key_Y }, GraphicsBitmap::load_from_file("/res/icons/16x16/redo.png"), [&](const GAction&) { - // FIXME: Redo - }, - this); - + m_undo_action = GCommonActions::make_undo_action([&](auto&) { + // FIXME: Undo + }); + m_redo_action = GCommonActions::make_redo_action([&](auto&) { + // FIXME: Undo + }); m_cut_action = GCommonActions::make_cut_action([&](auto&) { cut(); }, this); m_copy_action = GCommonActions::make_copy_action([&](auto&) { copy(); }, this); m_paste_action = GCommonActions::make_paste_action([&](auto&) { paste(); }, this);