Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
Implement and expose OS::shell_show_in_file_manager()
This commit is contained in:
@ -257,6 +257,15 @@ Error OS::shell_open(String p_uri) {
|
||||
return ::OS::get_singleton()->shell_open(p_uri);
|
||||
}
|
||||
|
||||
Error OS::shell_show_in_file_manager(String p_path, bool p_open_folder) {
|
||||
if (p_path.begins_with("res://")) {
|
||||
WARN_PRINT("Attempting to explore file path with the \"res://\" protocol. Use `ProjectSettings.globalize_path()` to convert a Godot-specific path to a system path before opening it with `OS.shell_show_in_file_manager()`.");
|
||||
} else if (p_path.begins_with("user://")) {
|
||||
WARN_PRINT("Attempting to explore file path with the \"user://\" protocol. Use `ProjectSettings.globalize_path()` to convert a Godot-specific path to a system path before opening it with `OS.shell_show_in_file_manager()`.");
|
||||
}
|
||||
return ::OS::get_singleton()->shell_show_in_file_manager(p_path, p_open_folder);
|
||||
}
|
||||
|
||||
String OS::read_string_from_stdin() {
|
||||
return ::OS::get_singleton()->get_stdin_string();
|
||||
}
|
||||
@ -553,6 +562,7 @@ void OS::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("create_instance", "arguments"), &OS::create_instance);
|
||||
ClassDB::bind_method(D_METHOD("kill", "pid"), &OS::kill);
|
||||
ClassDB::bind_method(D_METHOD("shell_open", "uri"), &OS::shell_open);
|
||||
ClassDB::bind_method(D_METHOD("shell_show_in_file_manager", "file_or_dir_path", "open_folder"), &OS::shell_show_in_file_manager, DEFVAL(true));
|
||||
ClassDB::bind_method(D_METHOD("is_process_running", "pid"), &OS::is_process_running);
|
||||
ClassDB::bind_method(D_METHOD("get_process_id"), &OS::get_process_id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user