فهرست منبع

Fix FileDialog file name autocompletion with filters

Fixes #38195.
Thakee Nathees 5 سال پیش
والد
کامیت
446f1b7052
2فایلهای تغییر یافته به همراه8 افزوده شده و 3 حذف شده
  1. 2 2
      editor/editor_file_dialog.cpp
  2. 6 1
      scene/gui/file_dialog.cpp

+ 2 - 2
editor/editor_file_dialog.cpp

@@ -731,9 +731,9 @@ void EditorFileDialog::update_file_name() {
 		String base_name = file_str.get_basename();
 		Vector<String> filter_substr = filter_str.split(";");
 		if (filter_substr.size() >= 2) {
-			file_str = base_name + "." + filter_substr[0].strip_edges().lstrip("*.").to_lower();
+			file_str = base_name + "." + filter_substr[0].strip_edges().get_extension().to_lower();
 		} else {
-			file_str = base_name + "." + filter_str.get_extension().strip_edges().to_lower();
+			file_str = base_name + "." + filter_str.strip_edges().get_extension().to_lower();
 		}
 		file->set_text(file_str);
 	}

+ 6 - 1
scene/gui/file_dialog.cpp

@@ -480,7 +480,12 @@ void FileDialog::update_file_name() {
 		String filter_str = filters[idx];
 		String file_str = file->get_text();
 		String base_name = file_str.get_basename();
-		file_str = base_name + "." + filter_str.strip_edges().to_lower();
+		Vector<String> filter_substr = filter_str.split(";");
+		if (filter_substr.size() >= 2) {
+			file_str = base_name + "." + filter_substr[0].strip_edges().get_extension().to_lower();
+		} else {
+			file_str = base_name + "." + filter_str.strip_edges().get_extension().to_lower();
+		}
 		file->set_text(file_str);
 	}
 }