summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-03-22 14:46:09 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-03-22 14:46:09 -0300
commit47efcff8bba522af430ba41016d1966a864c1f4b (patch)
treeead16ccf2347e0c4cbd0840f9700f49afdf95800 /scene/gui
parent1aaaee99e9e0ad0c21dcc22faccb9186c9515778 (diff)
parentdb0a71fc58137da99137e9fbea3ee982679c9afd (diff)
Merge pull request #1535 from rollenrolm/hidden_files
New option to show/hide hidden files
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/file_dialog.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp
index fbcfdb69bb..47f862a58d 100644
--- a/scene/gui/file_dialog.cpp
+++ b/scene/gui/file_dialog.cpp
@@ -29,6 +29,8 @@
#include "file_dialog.h"
#include "scene/gui/label.h"
#include "print_string.h"
+#include "os/keyboard.h"
+#include "tools/editor/editor_settings.h"
FileDialog::GetIconFunc FileDialog::get_icon_func=NULL;
@@ -278,13 +280,20 @@ void FileDialog::update_file_list() {
List<String> dirs;
bool isdir;
+ bool ishidden;
+ bool show_hidden = EditorSettings::get_singleton()->get("file_dialog/show_hidden_files");
String item;
+
while ((item=dir_access->get_next(&isdir))!="") {
-
- if (!isdir)
- files.push_back(item);
- else
- dirs.push_back(item);
+
+ ishidden = dir_access->current_is_hidden();
+
+ if (show_hidden || !ishidden) {
+ if (!isdir)
+ files.push_back(item);
+ else
+ dirs.push_back(item);
+ }
}
dirs.sort_custom<NoCaseComparator>();