summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfoxydevloper <12120644+foxydevloper@users.noreply.github.com>2021-07-29 00:26:34 -0400
committerfoxydevloper <12120644+foxydevloper@users.noreply.github.com>2021-07-29 00:29:24 -0400
commit07a8f0fe3822edf39df737dcd82071e8ab80b4b0 (patch)
treef122069ab61d8df1477312f866751d74f426983d
parent48857194b360dabdaac7cd4c9c6714546ca15aa1 (diff)
Name nodes added from drag & drop by `name_casing`
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp17
-rw-r--r--scene/main/node.h12
2 files changed, 22 insertions, 7 deletions
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index 9bbafcc79d..02b6dd654e 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -5780,7 +5780,22 @@ bool CanvasItemEditorViewport::_cyclical_dependency_exists(const String &p_targe
}
void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String &path, const Point2 &p_point) {
- child->set_name(path.get_file().get_basename());
+ // Adjust casing according to project setting. The file name is expected to be in snake_case, but will work for others.
+ String name = path.get_file().get_basename();
+ switch (ProjectSettings::get_singleton()->get("editor/node_naming/name_casing").operator int()) {
+ case NAME_CASING_PASCAL_CASE:
+ name = name.capitalize().replace(" ", "");
+ break;
+ case NAME_CASING_CAMEL_CASE:
+ name = name.capitalize().replace(" ", "");
+ name[0] = name.to_lower()[0];
+ break;
+ case NAME_CASING_SNAKE_CASE:
+ name = name.capitalize().replace(" ", "_").to_lower();
+ break;
+ }
+ child->set_name(name);
+
Ref<Texture2D> texture = Ref<Texture2D>(Object::cast_to<Texture2D>(ResourceCache::get(path)));
Size2 texture_size = texture->get_size();
diff --git a/scene/main/node.h b/scene/main/node.h
index 20315d7a86..0a88553ea1 100644
--- a/scene/main/node.h
+++ b/scene/main/node.h
@@ -67,6 +67,12 @@ public:
#endif
};
+ enum NameCasing {
+ NAME_CASING_PASCAL_CASE,
+ NAME_CASING_CAMEL_CASE,
+ NAME_CASING_SNAKE_CASE
+ };
+
struct Comparator {
bool operator()(const Node *p_a, const Node *p_b) const { return p_b->is_greater_than(p_a); }
};
@@ -140,12 +146,6 @@ private:
} data;
- enum NameCasing {
- NAME_CASING_PASCAL_CASE,
- NAME_CASING_CAMEL_CASE,
- NAME_CASING_SNAKE_CASE
- };
-
Ref<MultiplayerAPI> multiplayer;
void _print_tree_pretty(const String &prefix, const bool last);