1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:17:36 +00:00

Chess: Port to Core::Stream

This commit is contained in:
Lucas CHOLLET 2023-01-07 10:30:35 -05:00 committed by Sam Atkins
parent 9a05175a88
commit a5d5b970ff
3 changed files with 43 additions and 34 deletions

View file

@ -67,20 +67,24 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
TRY(game_menu->try_add_separator());
TRY(game_menu->try_add_action(GUI::Action::create("&Import PGN...", { Mod_Ctrl, Key_O }, [&](auto&) {
auto result = FileSystemAccessClient::Client::the().try_open_file_deprecated(window);
auto result = FileSystemAccessClient::Client::the().open_file(window);
if (result.is_error())
return;
widget->import_pgn(result.value());
dbgln("Imported PGN file from {}", result.value()->filename());
if (auto maybe_error = widget->import_pgn(*result.value().release_stream()); maybe_error.is_error())
dbgln("Failed to import PGN: {}", maybe_error.release_error());
else
dbgln("Imported PGN file from {}", result.value().filename());
})));
TRY(game_menu->try_add_action(GUI::Action::create("&Export PGN...", { Mod_Ctrl, Key_S }, [&](auto&) {
auto result = FileSystemAccessClient::Client::the().try_save_file_deprecated(window, "Untitled", "pgn");
auto result = FileSystemAccessClient::Client::the().save_file(window, "Untitled", "pgn");
if (result.is_error())
return;
widget->export_pgn(result.value());
dbgln("Exported PGN file to {}", result.value()->filename());
if (auto maybe_error = widget->export_pgn(*result.value().release_stream()); maybe_error.is_error())
dbgln("Failed to export PGN: {}", maybe_error.release_error());
else
dbgln("Exported PGN file to {}", result.value().filename());
})));
TRY(game_menu->try_add_action(GUI::Action::create("&Copy FEN", { Mod_Ctrl, Key_C }, [&](auto&) {
GUI::Clipboard::the().set_data(widget->get_fen().bytes());