1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-25 19:15:06 +00:00

LibGUI: Add back/forward actions to GCommonActions

This commit is contained in:
Andreas Kling 2019-10-05 09:21:55 +02:00
parent ee64d99a96
commit 7dd03b7846
4 changed files with 16 additions and 6 deletions

View file

@ -249,13 +249,11 @@ int main(int argc, char** argv)
}); });
delete_action->set_enabled(false); delete_action->set_enabled(false);
auto go_back_action = GAction::create("Go Back", { Mod_Alt, Key_Left }, GraphicsBitmap::load_from_file("/res/icons/16x16/go-back.png"), [&](const GAction&) { auto go_back_action = GCommonActions::make_go_back_action([&](auto&) {
dbgprintf("'Go Back' action activated!\n");
directory_view->open_previous_directory(); directory_view->open_previous_directory();
}); });
auto go_forward_action = GAction::create("Go Forward", { Mod_Alt, Key_Right }, GraphicsBitmap::load_from_file("/res/icons/16x16/go-forward.png"), [&](const GAction&) { auto go_forward_action = GCommonActions::make_go_forward_action([&](auto&) {
dbgprintf("'Go Forward' action activated!\n");
directory_view->open_next_directory(); directory_view->open_next_directory();
}); });

View file

@ -110,13 +110,13 @@ int main(int argc, char* argv[])
free(path); free(path);
}; };
go_back_action = GAction::create("Go Back", { Mod_Alt, Key_Left }, GraphicsBitmap::load_from_file("/res/icons/16x16/go-back.png"), [&](const GAction&) { go_back_action = GCommonActions::make_go_back_action([&](auto&) {
history.go_back(); history.go_back();
update_actions(); update_actions();
open_page(history.current()); open_page(history.current());
}); });
go_forward_action = GAction::create("Go Forward", { Mod_Alt, Key_Right }, GraphicsBitmap::load_from_file("/res/icons/16x16/go-forward.png"), [&](const GAction&) { go_forward_action = GCommonActions::make_go_forward_action([&](auto&) {
history.go_forward(); history.go_forward();
update_actions(); update_actions();
open_page(history.current()); open_page(history.current());

View file

@ -61,6 +61,16 @@ NonnullRefPtr<GAction> make_quit_action(Function<void(GAction&)> callback)
return GAction::create("Quit", { Mod_Alt, Key_F4 }, move(callback)); return GAction::create("Quit", { Mod_Alt, Key_F4 }, move(callback));
} }
NonnullRefPtr<GAction> make_go_back_action(Function<void(GAction&)> callback, GWidget* widget)
{
return GAction::create("Go back", { Mod_Alt, Key_Left }, GraphicsBitmap::load_from_file("/res/icons/16x16/go-back.png"), move(callback), widget);
}
NonnullRefPtr<GAction> make_go_forward_action(Function<void(GAction&)> callback, GWidget* widget)
{
return GAction::create("Go forward", { Mod_Alt, Key_Right }, GraphicsBitmap::load_from_file("/res/icons/16x16/go-forward.png"), move(callback), widget);
}
} }
GAction::GAction(const StringView& text, Function<void(GAction&)> on_activation_callback, GWidget* widget) GAction::GAction(const StringView& text, Function<void(GAction&)> on_activation_callback, GWidget* widget)

View file

@ -30,6 +30,8 @@ NonnullRefPtr<GAction> make_move_to_front_action(Function<void(GAction&)>, GWidg
NonnullRefPtr<GAction> make_move_to_back_action(Function<void(GAction&)>, GWidget* widget = nullptr); NonnullRefPtr<GAction> make_move_to_back_action(Function<void(GAction&)>, GWidget* widget = nullptr);
NonnullRefPtr<GAction> make_fullscreen_action(Function<void(GAction&)>, GWidget* widget = nullptr); NonnullRefPtr<GAction> make_fullscreen_action(Function<void(GAction&)>, GWidget* widget = nullptr);
NonnullRefPtr<GAction> make_quit_action(Function<void(GAction&)>); NonnullRefPtr<GAction> make_quit_action(Function<void(GAction&)>);
NonnullRefPtr<GAction> make_go_back_action(Function<void(GAction&)>, GWidget* widget = nullptr);
NonnullRefPtr<GAction> make_go_forward_action(Function<void(GAction&)>, GWidget* widget = nullptr);
}; };
class GAction : public RefCounted<GAction> class GAction : public RefCounted<GAction>