summaryrefslogtreecommitdiff
path: root/editor/editor_file_dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/editor_file_dialog.cpp')
-rw-r--r--editor/editor_file_dialog.cpp97
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;