mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:28:11 +00:00
FileSystemAccessServer: Implement FileTypeFilter to open_file()
This is the same functionality as in FilePicker. It allows the specification of what file types are allowed.
This commit is contained in:
parent
106ad6bb13
commit
6a5c561a41
5 changed files with 10 additions and 7 deletions
|
@ -112,14 +112,14 @@ void ConnectionFromClient::request_file(i32 request_id, i32 window_server_client
|
|||
request_file_handler(request_id, window_server_client_id, parent_window_id, path, requested_access, ShouldPrompt::Yes);
|
||||
}
|
||||
|
||||
void ConnectionFromClient::prompt_open_file(i32 request_id, i32 window_server_client_id, i32 parent_window_id, DeprecatedString const& window_title, DeprecatedString const& path_to_view, Core::File::OpenMode requested_access)
|
||||
void ConnectionFromClient::prompt_open_file(i32 request_id, i32 window_server_client_id, i32 parent_window_id, DeprecatedString const& window_title, DeprecatedString const& path_to_view, Core::File::OpenMode requested_access, Optional<Vector<GUI::FileTypeFilter>> const& allowed_file_types)
|
||||
{
|
||||
auto relevant_permissions = requested_access & (Core::File::OpenMode::Read | Core::File::OpenMode::Write);
|
||||
VERIFY(relevant_permissions != Core::File::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, window_title, path_to_view);
|
||||
auto user_picked_file = GUI::FilePicker::get_open_filepath(main_window, window_title, path_to_view, false, GUI::Dialog::ScreenPosition::CenterWithinParent, allowed_file_types);
|
||||
|
||||
prompt_helper(request_id, user_picked_file, requested_access);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue