diff --git a/Userland/Libraries/LibFileSystemAccessClient/Client.cpp b/Userland/Libraries/LibFileSystemAccessClient/Client.cpp index 70eb4846c9..a18b2ed357 100644 --- a/Userland/Libraries/LibFileSystemAccessClient/Client.cpp +++ b/Userland/Libraries/LibFileSystemAccessClient/Client.cpp @@ -8,7 +8,6 @@ // clang-format off #include // clang-format on -#include #include #include @@ -40,7 +39,7 @@ Result Client::request_file(i32 parent_window_id, String const& path, Core::Open return m_promise->await(); } -Result Client::open_file(i32 parent_window_id) +Result Client::open_file(i32 parent_window_id, String const& window_title, StringView const& path) { m_promise = Core::Promise::construct(); auto parent_window_server_client_id = GUI::WindowServerConnection::the().expose_client_id(); @@ -52,7 +51,7 @@ Result Client::open_file(i32 parent_window_id) GUI::WindowServerConnection::the().async_remove_window_stealing_for_client(child_window_server_client_id, parent_window_id); }); - async_prompt_open_file(parent_window_server_client_id, parent_window_id, Core::StandardPaths::home_directory(), Core::OpenMode::ReadOnly); + async_prompt_open_file(parent_window_server_client_id, parent_window_id, window_title, path, Core::OpenMode::ReadOnly); return m_promise->await(); } diff --git a/Userland/Libraries/LibFileSystemAccessClient/Client.h b/Userland/Libraries/LibFileSystemAccessClient/Client.h index 3fb7feb04f..b2b418fd54 100644 --- a/Userland/Libraries/LibFileSystemAccessClient/Client.h +++ b/Userland/Libraries/LibFileSystemAccessClient/Client.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace FileSystemAccessClient { @@ -27,7 +28,7 @@ class Client final public: Result request_file(i32 parent_window_id, String const& path, Core::OpenMode mode); - Result open_file(i32 parent_window_id); + Result open_file(i32 parent_window_id, String const& window_title = {}, StringView const& path = Core::StandardPaths::home_directory()); Result save_file(i32 parent_window_id, String const& name, String const ext); static Client& the(); diff --git a/Userland/Services/FileSystemAccessServer/ClientConnection.cpp b/Userland/Services/FileSystemAccessServer/ClientConnection.cpp index aa697f672c..4e901bc3ef 100644 --- a/Userland/Services/FileSystemAccessServer/ClientConnection.cpp +++ b/Userland/Services/FileSystemAccessServer/ClientConnection.cpp @@ -107,14 +107,14 @@ void ClientConnection::request_file(i32 window_server_client_id, i32 parent_wind } } -void ClientConnection::prompt_open_file(i32 window_server_client_id, i32 parent_window_id, String const& path_to_view, Core::OpenMode const& requested_access) +void ClientConnection::prompt_open_file(i32 window_server_client_id, i32 parent_window_id, String const& window_title, String const& path_to_view, Core::OpenMode const& requested_access) { auto relevant_permissions = requested_access & (Core::OpenMode::ReadOnly | Core::OpenMode::WriteOnly); VERIFY(relevant_permissions != Core::OpenMode::NotOpen); auto main_window = create_dummy_child_window(window_server_client_id, parent_window_id); - auto user_picked_file = GUI::FilePicker::get_open_filepath(main_window, "Select file", path_to_view); + auto user_picked_file = GUI::FilePicker::get_open_filepath(main_window, window_title, path_to_view); prompt_helper(user_picked_file, requested_access); } diff --git a/Userland/Services/FileSystemAccessServer/ClientConnection.h b/Userland/Services/FileSystemAccessServer/ClientConnection.h index 4dc3f77ef6..2b24559de4 100644 --- a/Userland/Services/FileSystemAccessServer/ClientConnection.h +++ b/Userland/Services/FileSystemAccessServer/ClientConnection.h @@ -27,7 +27,7 @@ public: private: virtual void request_file(i32, i32, String const&, Core::OpenMode const&) override; - virtual void prompt_open_file(i32, i32, String const&, Core::OpenMode const&) override; + virtual void prompt_open_file(i32, i32, String const&, String const&, Core::OpenMode const&) override; virtual void prompt_save_file(i32, i32, String const&, String const&, String const&, Core::OpenMode const&) override; void prompt_helper(Optional const&, Core::OpenMode const&); diff --git a/Userland/Services/FileSystemAccessServer/FileSystemAccessServer.ipc b/Userland/Services/FileSystemAccessServer/FileSystemAccessServer.ipc index 9b0d68b4c0..9976018907 100644 --- a/Userland/Services/FileSystemAccessServer/FileSystemAccessServer.ipc +++ b/Userland/Services/FileSystemAccessServer/FileSystemAccessServer.ipc @@ -4,7 +4,7 @@ endpoint FileSystemAccessServer { request_file(i32 window_server_client_id, i32 window_id, String path, Core::OpenMode requested_access) =| - prompt_open_file(i32 window_server_client_id, i32 window_id, String path_to_view, Core::OpenMode requested_access) =| + prompt_open_file(i32 window_server_client_id, i32 window_id, String window_title, String path_to_view, Core::OpenMode requested_access) =| prompt_save_file(i32 window_server_client_id, i32 window_id,String title, String ext, String path_to_view, Core::OpenMode requested_access) =| expose_window_server_client_id() => (i32 client_id)