From 4c65bd373111b9fe17e5dd6f79a9b79fc6e181d4 Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Mon, 24 Aug 2020 21:38:45 +0430 Subject: [PATCH] Spreadsheet: Add back the menubar --- Applications/Spreadsheet/main.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Applications/Spreadsheet/main.cpp b/Applications/Spreadsheet/main.cpp index cd4fd4ff17..dbfb18317a 100644 --- a/Applications/Spreadsheet/main.cpp +++ b/Applications/Spreadsheet/main.cpp @@ -28,7 +28,10 @@ #include "SpreadsheetWidget.h" #include #include +#include #include +#include +#include #include int main(int argc, char* argv[]) @@ -67,7 +70,26 @@ int main(int argc, char* argv[]) window->set_title("Spreadsheet"); window->resize(640, 480); - window->set_main_widget(); + auto& spreadsheet_widget = window->set_main_widget(); + + auto menubar = GUI::MenuBar::construct(); + auto& app_menu = menubar->add_menu("Spreadsheet"); + + app_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { + app->quit(0); + })); + + auto& file_menu = menubar->add_menu("File"); + file_menu.add_action(GUI::CommonActions::make_save_action([&](auto&) { + String name = "sheet"; + Optional save_path = GUI::FilePicker::get_save_filepath(window, name, "json"); + if (!save_path.has_value()) + return; + + spreadsheet_widget.save(save_path.value()); + })); + + app->set_menubar(move(menubar)); window->show();