From 64edf6913f90ca7f59600b9d91b4f94b1e323a10 Mon Sep 17 00:00:00 2001 From: Hugh Davenport Date: Fri, 5 Jan 2024 09:12:37 +1300 Subject: [PATCH] Games: Add fullscreen option --- Userland/Games/2048/main.cpp | 5 +++++ Userland/Games/BrickGame/main.cpp | 5 +++++ Userland/Games/Chess/main.cpp | 5 +++++ Userland/Games/ColorLines/main.cpp | 5 +++++ Userland/Games/FlappyBug/Game.cpp | 4 ++++ Userland/Games/FlappyBug/main.cpp | 5 +++++ Userland/Games/Flood/main.cpp | 5 +++++ Userland/Games/GameOfLife/main.cpp | 5 +++++ Userland/Games/Hearts/main.cpp | 5 +++++ Userland/Games/Minesweeper/main.cpp | 7 +++++++ Userland/Games/Snake/main.cpp | 5 +++++ Userland/Games/Solitaire/main.cpp | 5 +++++ Userland/Games/Spider/main.cpp | 5 +++++ 13 files changed, 66 insertions(+) diff --git a/Userland/Games/2048/main.cpp b/Userland/Games/2048/main.cpp index 33928a3ffe..47b7920eb3 100644 --- a/Userland/Games/2048/main.cpp +++ b/Userland/Games/2048/main.cpp @@ -216,6 +216,11 @@ ErrorOr serenity_main(Main::Arguments arguments) GUI::Application::the()->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([](auto&) { diff --git a/Userland/Games/BrickGame/main.cpp b/Userland/Games/BrickGame/main.cpp index 584381aa62..cfd00d6179 100644 --- a/Userland/Games/BrickGame/main.cpp +++ b/Userland/Games/BrickGame/main.cpp @@ -73,6 +73,11 @@ ErrorOr serenity_main(Main::Arguments arguments) GUI::Application::the()->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([&man_file](auto&) { diff --git a/Userland/Games/Chess/main.cpp b/Userland/Games/Chess/main.cpp index 10812507b7..b3a420e3e4 100644 --- a/Userland/Games/Chess/main.cpp +++ b/Userland/Games/Chess/main.cpp @@ -194,6 +194,11 @@ ErrorOr serenity_main(Main::Arguments arguments) engine_submenu->add_action(*action); } + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([](auto&) { diff --git a/Userland/Games/ColorLines/main.cpp b/Userland/Games/ColorLines/main.cpp index a717f7dc03..846a02c62e 100644 --- a/Userland/Games/ColorLines/main.cpp +++ b/Userland/Games/ColorLines/main.cpp @@ -60,6 +60,11 @@ ErrorOr serenity_main(Main::Arguments arguments) GUI::Application::the()->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([&man_file](auto&) { diff --git a/Userland/Games/FlappyBug/Game.cpp b/Userland/Games/FlappyBug/Game.cpp index 7029d06877..9e5e3d67d9 100644 --- a/Userland/Games/FlappyBug/Game.cpp +++ b/Userland/Games/FlappyBug/Game.cpp @@ -82,10 +82,14 @@ void Game::paint_event(GUI::PaintEvent& event) void Game::keydown_event(GUI::KeyEvent& event) { + // FIXME: After #22573 is merged, then remove the case for F11 below and ensure it is in this check here which also checks for modifiers switch (event.key()) { case Key_Escape: GUI::Application::the()->quit(); break; + case Key_F11: + event.ignore(); + break; default: player_input(); break; diff --git a/Userland/Games/FlappyBug/main.cpp b/Userland/Games/FlappyBug/main.cpp index cf524d7b5f..874e8531db 100644 --- a/Userland/Games/FlappyBug/main.cpp +++ b/Userland/Games/FlappyBug/main.cpp @@ -60,6 +60,11 @@ ErrorOr serenity_main(Main::Arguments arguments) GUI::Application::the()->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([](auto&) { diff --git a/Userland/Games/Flood/main.cpp b/Userland/Games/Flood/main.cpp index 1433d2fc90..2ad60f0ea7 100644 --- a/Userland/Games/Flood/main.cpp +++ b/Userland/Games/Flood/main.cpp @@ -187,6 +187,11 @@ ErrorOr serenity_main(Main::Arguments arguments) GUI::Application::the()->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([](auto&) { diff --git a/Userland/Games/GameOfLife/main.cpp b/Userland/Games/GameOfLife/main.cpp index fab07031db..95ca1ff172 100644 --- a/Userland/Games/GameOfLife/main.cpp +++ b/Userland/Games/GameOfLife/main.cpp @@ -150,6 +150,11 @@ ErrorOr serenity_main(Main::Arguments arguments) GUI::Application::the()->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([](auto&) { diff --git a/Userland/Games/Hearts/main.cpp b/Userland/Games/Hearts/main.cpp index 7c889a7b24..33f7812731 100644 --- a/Userland/Games/Hearts/main.cpp +++ b/Userland/Games/Hearts/main.cpp @@ -97,6 +97,11 @@ ErrorOr serenity_main(Main::Arguments arguments) game_menu->add_separator(); game_menu->add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([](auto&) { diff --git a/Userland/Games/Minesweeper/main.cpp b/Userland/Games/Minesweeper/main.cpp index d9e9492397..04b6357899 100644 --- a/Userland/Games/Minesweeper/main.cpp +++ b/Userland/Games/Minesweeper/main.cpp @@ -74,6 +74,13 @@ ErrorOr serenity_main(Main::Arguments arguments) game_menu->add_action(*chord_toggler_action); game_menu->add_separator(); + // Put Fullscreen in Game rather than View + // When in beginner mode it can only show 3 menus. Adding View makes 4 + game_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + game_menu->add_separator(); + game_menu->add_action(GUI::CommonActions::make_quit_action([](auto&) { GUI::Application::the()->quit(); })); diff --git a/Userland/Games/Snake/main.cpp b/Userland/Games/Snake/main.cpp index 18e17af94c..029dcbe26e 100644 --- a/Userland/Games/Snake/main.cpp +++ b/Userland/Games/Snake/main.cpp @@ -151,6 +151,11 @@ ErrorOr serenity_main(Main::Arguments arguments) GUI::Application::the()->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([](auto&) { diff --git a/Userland/Games/Solitaire/main.cpp b/Userland/Games/Solitaire/main.cpp index 4d73afbd98..d2b7bb84f0 100644 --- a/Userland/Games/Solitaire/main.cpp +++ b/Userland/Games/Solitaire/main.cpp @@ -239,6 +239,11 @@ ErrorOr serenity_main(Main::Arguments arguments) game_menu->add_separator(); game_menu->add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); })); + auto view_menu = window->add_menu("&View"_string); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([&man_file](auto&) { diff --git a/Userland/Games/Spider/main.cpp b/Userland/Games/Spider/main.cpp index 636e4eee7a..52876b27be 100644 --- a/Userland/Games/Spider/main.cpp +++ b/Userland/Games/Spider/main.cpp @@ -284,6 +284,11 @@ ErrorOr serenity_main(Main::Arguments arguments) view_menu->add_action(high_score_action); view_menu->add_action(best_time_actions); + view_menu->add_separator(); + view_menu->add_action(GUI::CommonActions::make_fullscreen_action([&](auto&) { + window->set_fullscreen(!window->is_fullscreen()); + })); + auto help_menu = window->add_menu("&Help"_string); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_help_action([&man_file](auto&) {