godot/editor/gui/editor_file_dialog.cpp

/**************************************************************************/
/*  editor_file_dialog.cpp                                                */
/**************************************************************************/
/*                         This file is part of:                          */
/*                             GODOT ENGINE                               */
/*                        https://godotengine.org                         */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.                  */
/*                                                                        */
/* Permission is hereby granted, free of charge, to any person obtaining  */
/* a copy of this software and associated documentation files (the        */
/* "Software"), to deal in the Software without restriction, including    */
/* without limitation the rights to use, copy, modify, merge, publish,    */
/* distribute, sublicense, and/or sell copies of the Software, and to     */
/* permit persons to whom the Software is furnished to do so, subject to  */
/* the following conditions:                                              */
/*                                                                        */
/* The above copyright notice and this permission notice shall be         */
/* included in all copies or substantial portions of the Software.        */
/*                                                                        */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,        */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF     */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY   */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,   */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE      */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                 */
/**************************************************************************/

#include "editor_file_dialog.h"

#include "core/config/project_settings.h"
#include "core/os/keyboard.h"
#include "core/os/os.h"
#include "editor/dependency_editor.h"
#include "editor/editor_file_system.h"
#include "editor/editor_node.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_settings.h"
#include "editor/filesystem_dock.h"
#include "editor/themes/editor_scale.h"
#include "scene/gui/center_container.h"
#include "scene/gui/check_box.h"
#include "scene/gui/grid_container.h"
#include "scene/gui/label.h"
#include "scene/gui/margin_container.h"
#include "scene/gui/option_button.h"
#include "scene/gui/separator.h"
#include "scene/gui/split_container.h"
#include "scene/gui/texture_rect.h"
#include "servers/display_server.h"

EditorFileDialog::GetIconFunc EditorFileDialog::get_icon_func =;
EditorFileDialog::GetIconFunc EditorFileDialog::get_thumbnail_func =;

EditorFileDialog::RegisterFunc EditorFileDialog::register_func =;
EditorFileDialog::RegisterFunc EditorFileDialog::unregister_func =;

void EditorFileDialog::_native_popup() {}

void EditorFileDialog::popup(const Rect2i &p_rect) {}

void EditorFileDialog::set_visible(bool p_visible) {}

void EditorFileDialog::_native_dialog_cb(bool p_ok, const Vector<String> &p_files, int p_filter, const Dictionary &p_selected_options) {}

void EditorFileDialog::popup_file_dialog() {}

void EditorFileDialog::_focus_file_text() {}

VBoxContainer *EditorFileDialog::get_vbox() {}

void EditorFileDialog::_update_theme_item_cache() {}

void EditorFileDialog::_notification(int p_what) {}

void EditorFileDialog::shortcut_input(const Ref<InputEvent> &p_event) {}

void EditorFileDialog::set_enable_multiple_selection(bool p_enable) {
	item_list->set_select_mode(p_enable ? ItemList::SELECT_MULTI : ItemList::SELECT_SINGLE);
};

Vector<String> EditorFileDialog::get_selected_files() const {
	Vector<String> list;
	for (int i = 0; i < item_list->get_item_count(); i++) {
		if (item_list->is_selected(i)) {
			list.push_back(item_list->get_item_text(i));
		}
	}
	return list;
};

void EditorFileDialog::update_dir() {}

void EditorFileDialog::_dir_submitted(const String &p_dir) {}

void EditorFileDialog::_file_submitted(const String &p_file) {}

void EditorFileDialog::_save_confirm_pressed() {}

void EditorFileDialog::_post_popup() {}

void EditorFileDialog::_thumbnail_result(const String &p_path, const Ref<Texture2D> &p_preview, const Ref<Texture2D> &p_small_preview, const Variant &p_udata) {}

void EditorFileDialog::_thumbnail_done(const String &p_path, const Ref<Texture2D> &p_preview, const Ref<Texture2D> &p_small_preview, const Variant &p_udata) {}

void EditorFileDialog::_request_single_thumbnail(const String &p_path) {}

void EditorFileDialog::_action_pressed() {}

void EditorFileDialog::_cancel_pressed() {}

void EditorFileDialog::_item_selected(int p_item) {}

void EditorFileDialog::_multi_selected(int p_item, bool p_selected) {}

void EditorFileDialog::_items_clear_selection(const Vector2 &p_pos, MouseButton p_mouse_button_index) {}

void EditorFileDialog::_push_history() {}

void EditorFileDialog::_item_dc_selected(int p_item) {}

void EditorFileDialog::_item_list_item_rmb_clicked(int p_item, const Vector2 &p_pos, MouseButton p_mouse_button_index) {}

void EditorFileDialog::_item_list_empty_clicked(const Vector2 &p_pos, MouseButton p_mouse_button_index) {}

void EditorFileDialog::_item_menu_id_pressed(int p_option) {}

bool EditorFileDialog::_is_open_should_be_disabled() {}

void EditorFileDialog::update_file_name() {}

// TODO: Could use a unit test.
Color EditorFileDialog::get_dir_icon_color(const String &p_dir_path) {}

// DO NOT USE THIS FUNCTION UNLESS NEEDED, CALL INVALIDATE() INSTEAD.
void EditorFileDialog::update_file_list() {}

void EditorFileDialog::_filter_selected(int) {}

void EditorFileDialog::update_filters() {}

void EditorFileDialog::clear_filters() {}

void EditorFileDialog::add_filter(const String &p_filter, const String &p_description) {}

void EditorFileDialog::set_filters(const Vector<String> &p_filters) {}

Vector<String> EditorFileDialog::get_filters() const {}

String EditorFileDialog::get_current_dir() const {}

String EditorFileDialog::get_current_file() const {}

String EditorFileDialog::get_current_path() const {}

void EditorFileDialog::set_current_dir(const String &p_dir) {}

void EditorFileDialog::set_current_file(const String &p_file) {}

void EditorFileDialog::set_current_path(const String &p_path) {}

void EditorFileDialog::set_file_mode(FileMode p_mode) {}

EditorFileDialog::FileMode EditorFileDialog::get_file_mode() const {}

void EditorFileDialog::set_access(Access p_access) {}

void EditorFileDialog::invalidate() {}

void EditorFileDialog::_invalidate() {}

EditorFileDialog::Access EditorFileDialog::get_access() const {}

void EditorFileDialog::_make_dir_confirm() {}

void EditorFileDialog::_make_dir() {}

void EditorFileDialog::_focus_filter_box() {}

void EditorFileDialog::_filter_changed(const String &p_text) {}

void EditorFileDialog::_file_sort_popup(int p_id) {}

void EditorFileDialog::_delete_items() {}

void EditorFileDialog::_delete_files_global() {}

void EditorFileDialog::_select_drive(int p_idx) {}

void EditorFileDialog::_update_drives(bool p_select) {}

void EditorFileDialog::_update_icons() {}

void EditorFileDialog::_favorite_selected(int p_idx) {}

void EditorFileDialog::_favorite_move_up() {}

void EditorFileDialog::_favorite_move_down() {}

void EditorFileDialog::_update_favorites() {}

void EditorFileDialog::_favorite_pressed() {}

void EditorFileDialog::_update_recent() {}

void EditorFileDialog::_recent_selected(int p_idx) {}

void EditorFileDialog::_go_up() {}

void EditorFileDialog::_go_back() {}

void EditorFileDialog::_go_forward() {}

bool EditorFileDialog::default_show_hidden_files =;

EditorFileDialog::DisplayMode EditorFileDialog::default_display_mode =;

void EditorFileDialog::set_display_mode(DisplayMode p_mode) {}

EditorFileDialog::DisplayMode EditorFileDialog::get_display_mode() const {}

TypedArray<Dictionary> EditorFileDialog::_get_options() const {}

void EditorFileDialog::_option_changed_checkbox_toggled(bool p_pressed, const String &p_name) {}

void EditorFileDialog::_option_changed_item_selected(int p_idx, const String &p_name) {}

void EditorFileDialog::_update_option_controls() {}

Dictionary EditorFileDialog::get_selected_options() const {}

String EditorFileDialog::get_option_name(int p_option) const {}

Vector<String> EditorFileDialog::get_option_values(int p_option) const {}

int EditorFileDialog::get_option_default(int p_option) const {}

void EditorFileDialog::set_option_name(int p_option, const String &p_name) {}

void EditorFileDialog::set_option_values(int p_option, const Vector<String> &p_values) {}

void EditorFileDialog::set_option_default(int p_option, int p_index) {}

void EditorFileDialog::add_option(const String &p_name, const Vector<String> &p_values, int p_index) {}

void EditorFileDialog::set_option_count(int p_count) {}

int EditorFileDialog::get_option_count() const {}

void EditorFileDialog::_bind_methods() {}

void EditorFileDialog::set_show_hidden_files(bool p_show) {}

bool EditorFileDialog::is_showing_hidden_files() const {}

void EditorFileDialog::set_default_show_hidden_files(bool p_show) {}

void EditorFileDialog::set_default_display_mode(DisplayMode p_mode) {}

void EditorFileDialog::_save_to_recent() {}

void EditorFileDialog::set_disable_overwrite_warning(bool p_disable) {}

bool EditorFileDialog::is_overwrite_warning_disabled() const {}

void EditorFileDialog::set_previews_enabled(bool p_enabled) {}

bool EditorFileDialog::are_previews_enabled() {}

void EditorFileDialog::add_side_menu(Control *p_menu, const String &p_title) {}

void EditorFileDialog::_update_side_menu_visibility(bool p_native_dlg) {}

EditorFileDialog::EditorFileDialog() {}

EditorFileDialog::~EditorFileDialog() {}