diff --git a/Games/Minesweeper/main.cpp b/Games/Minesweeper/main.cpp index ef623d278b..3330793a5a 100644 --- a/Games/Minesweeper/main.cpp +++ b/Games/Minesweeper/main.cpp @@ -3,6 +3,9 @@ #include #include #include +#include +#include +#include int main(int argc, char** argv) { @@ -30,6 +33,29 @@ int main(int argc, char** argv) field->reset(); }; + auto menubar = make(); + + auto app_menu = make("Minesweeper"); + app_menu->add_action(GAction::create("Quit", { Mod_Alt, Key_F4 }, [] (const GAction&) { + GApplication::the().quit(0); + return; + })); + menubar->add_menu(move(app_menu)); + + auto game_menu = make("Game"); + game_menu->add_action(GAction::create("New game", { Mod_None, Key_F2 }, [field] (const GAction&) { + field->reset(); + })); + menubar->add_menu(move(game_menu)); + + auto help_menu = make("Help"); + help_menu->add_action(GAction::create("About", [] (const GAction&) { + dbgprintf("FIXME: Implement Help/About\n"); + })); + menubar->add_menu(move(help_menu)); + + app.set_menubar(move(menubar)); + window->show(); return app.exec(); diff --git a/Kernel/KeyCode.h b/Kernel/KeyCode.h index 31e9dd13e6..bd62dceb31 100644 --- a/Kernel/KeyCode.h +++ b/Kernel/KeyCode.h @@ -111,6 +111,7 @@ enum KeyCode : byte { }; enum KeyModifier { + Mod_None = 0x00, Mod_Alt = 0x01, Mod_Ctrl = 0x02, Mod_Shift = 0x04,