Explorar o código

Settings: Sort text editor themes alphabetically

Rémi Verschelde %!s(int64=7) %!d(string=hai) anos
pai
achega
f0051394da
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  1. 8 1
      editor/editor_settings.cpp

+ 8 - 1
editor/editor_settings.cpp

@@ -1216,18 +1216,25 @@ bool EditorSettings::is_dark_theme() {
 
 
 void EditorSettings::list_text_editor_themes() {
 void EditorSettings::list_text_editor_themes() {
 	String themes = "Adaptive,Default,Custom";
 	String themes = "Adaptive,Default,Custom";
+
 	DirAccess *d = DirAccess::open(get_text_editor_themes_dir());
 	DirAccess *d = DirAccess::open(get_text_editor_themes_dir());
 	if (d) {
 	if (d) {
+		List<String> custom_themes;
 		d->list_dir_begin();
 		d->list_dir_begin();
 		String file = d->get_next();
 		String file = d->get_next();
 		while (file != String()) {
 		while (file != String()) {
 			if (file.get_extension() == "tet" && file.get_basename().to_lower() != "default" && file.get_basename().to_lower() != "adaptive" && file.get_basename().to_lower() != "custom") {
 			if (file.get_extension() == "tet" && file.get_basename().to_lower() != "default" && file.get_basename().to_lower() != "adaptive" && file.get_basename().to_lower() != "custom") {
-				themes += "," + file.get_basename();
+				custom_themes.push_back(file.get_basename());
 			}
 			}
 			file = d->get_next();
 			file = d->get_next();
 		}
 		}
 		d->list_dir_end();
 		d->list_dir_end();
 		memdelete(d);
 		memdelete(d);
+
+		custom_themes.sort();
+		for (List<String>::Element *E = custom_themes.front(); E; E = E->next()) {
+			themes += "," + E->get();
+		}
 	}
 	}
 	add_property_hint(PropertyInfo(Variant::STRING, "text_editor/theme/color_theme", PROPERTY_HINT_ENUM, themes));
 	add_property_hint(PropertyInfo(Variant::STRING, "text_editor/theme/color_theme", PROPERTY_HINT_ENUM, themes));
 }
 }