diff options
Diffstat (limited to 'editor/editor_file_dialog.cpp')
-rw-r--r-- | editor/editor_file_dialog.cpp | 97 |
1 files changed, 55 insertions, 42 deletions
diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index ab994dbe75..a0ca9b88e0 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -53,17 +53,18 @@ void EditorFileDialog::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE) { + //_update_icons mode_thumbnails->set_icon(get_icon("FileThumbnail", "EditorIcons")); mode_list->set_icon(get_icon("FileList", "EditorIcons")); - dir_prev->set_icon(get_icon("ArrowLeft", "EditorIcons")); - dir_next->set_icon(get_icon("ArrowRight", "EditorIcons")); + dir_prev->set_icon(get_icon("Back", "EditorIcons")); + dir_next->set_icon(get_icon("Forward", "EditorIcons")); dir_up->set_icon(get_icon("ArrowUp", "EditorIcons")); refresh->set_icon(get_icon("Reload", "EditorIcons")); favorite->set_icon(get_icon("Favorites", "EditorIcons")); fav_up->set_icon(get_icon("MoveUp", "EditorIcons")); fav_down->set_icon(get_icon("MoveDown", "EditorIcons")); - fav_rm->set_icon(get_icon("RemoveSmall", "EditorIcons")); + fav_rm->set_icon(get_icon("Remove", "EditorIcons")); } else if (p_what == NOTIFICATION_PROCESS) { @@ -92,6 +93,21 @@ void EditorFileDialog::_notification(int p_what) { if (show_hidden_files != show_hidden) set_show_hidden_files(show_hidden); set_display_mode((DisplayMode)EditorSettings::get_singleton()->get("filesystem/file_dialog/display_mode").operator int()); + + //_update_icons + mode_thumbnails->set_icon(get_icon("FileThumbnail", "EditorIcons")); + mode_list->set_icon(get_icon("FileList", "EditorIcons")); + dir_prev->set_icon(get_icon("Back", "EditorIcons")); + dir_next->set_icon(get_icon("Forward", "EditorIcons")); + dir_up->set_icon(get_icon("ArrowUp", "EditorIcons")); + refresh->set_icon(get_icon("Reload", "EditorIcons")); + favorite->set_icon(get_icon("Favorites", "EditorIcons")); + + fav_up->set_icon(get_icon("MoveUp", "EditorIcons")); + fav_down->set_icon(get_icon("MoveDown", "EditorIcons")); + fav_rm->set_icon(get_icon("Remove", "EditorIcons")); + + update_file_list(); } } @@ -488,30 +504,14 @@ void EditorFileDialog::update_file_list() { item_list->set_max_text_lines(2); item_list->set_fixed_icon_size(Size2(thumbnail_size, thumbnail_size)); - if (!has_icon("ResizedFolder", "EditorIcons")) { - Ref<ImageTexture> folder = get_icon("FolderBig", "EditorIcons"); - Ref<Image> img = folder->get_data(); - img = img->duplicate(); - img->resize(thumbnail_size, thumbnail_size); - Ref<ImageTexture> resized_folder = Ref<ImageTexture>(memnew(ImageTexture)); - resized_folder->create_from_image(img, 0); - Theme::get_default()->set_icon("ResizedFolder", "EditorIcons", resized_folder); - } - - folder_thumbnail = get_icon("ResizedFolder", "EditorIcons"); - - if (!has_icon("ResizedFile", "EditorIcons")) { - Ref<ImageTexture> file = get_icon("FileBig", "EditorIcons"); - Ref<Image> img = file->get_data(); - img = img->duplicate(); - img->resize(thumbnail_size, thumbnail_size); - Ref<ImageTexture> resized_file = Ref<ImageTexture>(memnew(ImageTexture)); - resized_file->create_from_image(img, 0); - Theme::get_default()->set_icon("ResizedFile", "EditorIcons", resized_file); + if (thumbnail_size < 64) { + folder_thumbnail = get_icon("FolderMediumThumb", "EditorIcons"); + file_thumbnail = get_icon("FileMediumThumb", "EditorIcons"); + } else { + folder_thumbnail = get_icon("FolderBigThumb", "EditorIcons"); + file_thumbnail = get_icon("FileBigThumb", "EditorIcons"); } - file_thumbnail = get_icon("ResizedFile", "EditorIcons"); - preview_vb->hide(); } else { @@ -1196,6 +1196,9 @@ void EditorFileDialog::_bind_methods() { BIND_ENUM_CONSTANT(ACCESS_RESOURCES); BIND_ENUM_CONSTANT(ACCESS_USERDATA); BIND_ENUM_CONSTANT(ACCESS_FILESYSTEM); + + BIND_ENUM_CONSTANT(DISPLAY_THUMBNAILS); + BIND_ENUM_CONSTANT(DISPLAY_LIST); } void EditorFileDialog::set_show_hidden_files(bool p_show) { @@ -1278,6 +1281,7 @@ EditorFileDialog::EditorFileDialog() { dir_prev = memnew(ToolButton); dir_next = memnew(ToolButton); dir_up = memnew(ToolButton); + dir_up->set_tooltip(TTR("Go to parent folder")); pathhb->add_child(dir_prev); pathhb->add_child(dir_next); @@ -1287,6 +1291,8 @@ EditorFileDialog::EditorFileDialog() { dir_next->connect("pressed", this, "_go_forward"); dir_up->connect("pressed", this, "_go_up"); + pathhb->add_child(memnew(Label(TTR("Path:")))); + dir = memnew(LineEdit); pathhb->add_child(dir); dir->set_h_size_flags(SIZE_EXPAND_FILL); @@ -1296,6 +1302,7 @@ EditorFileDialog::EditorFileDialog() { pathhb->add_child(refresh); favorite = memnew(ToolButton); + favorite->set_flat(true); favorite->set_toggle_mode(true); favorite->connect("toggled", this, "_favorite_toggled"); pathhb->add_child(favorite); @@ -1326,9 +1333,9 @@ EditorFileDialog::EditorFileDialog() { makedir->connect("pressed", this, "_make_dir"); pathhb->add_child(makedir); - list_hb = memnew(HBoxContainer); + list_hb = memnew(HSplitContainer); - vbc->add_margin_child(TTR("Path:"), pathhb); + vbc->add_child(pathhb); vbc->add_child(list_hb); list_hb->set_v_size_flags(SIZE_EXPAND_FILL); @@ -1361,35 +1368,41 @@ EditorFileDialog::EditorFileDialog() { VBoxContainer *item_vb = memnew(VBoxContainer); list_hb->add_child(item_vb); - item_vb->set_h_size_flags(SIZE_EXPAND_FILL); - item_list = memnew(ItemList); - item_list->set_v_size_flags(SIZE_EXPAND_FILL); - item_vb->add_margin_child(TTR("Directories & Files:"), item_list, true); + HBoxContainer *preview_hb = memnew(HBoxContainer); + preview_hb->set_v_size_flags(SIZE_EXPAND_FILL); + item_vb->add_child(preview_hb); - HBoxContainer *filter_hb = memnew(HBoxContainer); - item_vb->add_child(filter_hb); + VBoxContainer *list_vb = memnew(VBoxContainer); + list_vb->set_h_size_flags(SIZE_EXPAND_FILL); + list_vb->add_child(memnew(Label(TTR("Directories & Files:")))); + preview_hb->add_child(list_vb); - VBoxContainer *filter_vb = memnew(VBoxContainer); - filter_hb->add_child(filter_vb); - filter_vb->set_h_size_flags(SIZE_EXPAND_FILL); + item_list = memnew(ItemList); + item_list->set_v_size_flags(SIZE_EXPAND_FILL); + list_vb->add_child(item_list); preview_vb = memnew(VBoxContainer); - filter_hb->add_child(preview_vb); + preview_hb->add_child(preview_vb); CenterContainer *prev_cc = memnew(CenterContainer); preview_vb->add_margin_child(TTR("Preview:"), prev_cc); preview = memnew(TextureRect); prev_cc->add_child(preview); preview_vb->hide(); + HBoxContainer *filename_hbc = memnew(HBoxContainer); + filename_hbc->add_child(memnew(Label(TTR("File:")))); file = memnew(LineEdit); - //add_child(file); - filter_vb->add_margin_child(TTR("File:"), file); - + file->set_stretch_ratio(4); + file->set_h_size_flags(SIZE_EXPAND_FILL); + filename_hbc->add_child(file); filter = memnew(OptionButton); - //add_child(filter); - filter_vb->add_margin_child(TTR("Filter:"), filter); + filter->set_stretch_ratio(3); + filter->set_h_size_flags(SIZE_EXPAND_FILL); filter->set_clip_text(true); //too many extensions overflow it + filename_hbc->add_child(filter); + filename_hbc->set_h_size_flags(SIZE_EXPAND_FILL); + item_vb->add_child(filename_hbc); dir_access = DirAccess::create(DirAccess::ACCESS_RESOURCES); access = ACCESS_RESOURCES; |