From 99de0b2c14b2ffbd74f3a32e50f89fc3a14025f3 Mon Sep 17 00:00:00 2001 From: Caoimhe Date: Thu, 11 May 2023 16:07:27 +0100 Subject: HexEditor: Add list of recently opened files --- Userland/Applications/HexEditor/HexEditorWidget.cpp | 10 ++++++++++ Userland/Applications/HexEditor/main.cpp | 1 + 2 files changed, 11 insertions(+) (limited to 'Userland') diff --git a/Userland/Applications/HexEditor/HexEditorWidget.cpp b/Userland/Applications/HexEditor/HexEditorWidget.cpp index 57659f3faa..dde8d28e8c 100644 --- a/Userland/Applications/HexEditor/HexEditorWidget.cpp +++ b/Userland/Applications/HexEditor/HexEditorWidget.cpp @@ -411,6 +411,15 @@ ErrorOr HexEditorWidget::initialize_menubar(GUI::Window& window) TRY(file_menu->try_add_action(*m_save_action)); TRY(file_menu->try_add_action(*m_save_as_action)); TRY(file_menu->try_add_separator()); + TRY(file_menu->add_recent_files_list([&](auto& action) { + auto path = action.text(); + auto response = FileSystemAccessClient::Client::the().request_file_read_only_approved(&window, path); + if (response.is_error()) + return; + + auto file = response.release_value(); + open_file(file.filename(), file.release_stream()); + })); TRY(file_menu->try_add_action(GUI::CommonActions::make_quit_action([this](auto&) { if (!request_close()) return; @@ -566,6 +575,7 @@ void HexEditorWidget::open_file(String const& filename, NonnullOwnPtrset_modified(false); m_editor->open_file(move(file)); set_path(filename.to_deprecated_string()); + GUI::Application::the()->set_most_recently_open_file(filename); } bool HexEditorWidget::request_close() diff --git a/Userland/Applications/HexEditor/main.cpp b/Userland/Applications/HexEditor/main.cpp index 7a55832e16..bfe6cc3df2 100644 --- a/Userland/Applications/HexEditor/main.cpp +++ b/Userland/Applications/HexEditor/main.cpp @@ -28,6 +28,7 @@ ErrorOr serenity_main(Main::Arguments arguments) TRY(Desktop::Launcher::seal_allowlist()); Config::pledge_domain("HexEditor"); + app->set_config_domain(TRY("HexEditor"_string)); auto app_icon = TRY(GUI::Icon::try_create_default_icon("app-hex-editor"sv)); -- cgit v1.2.3