summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2023-03-07 18:41:54 +0100
committerYuri Sizov <yuris@humnom.net>2023-03-27 17:17:19 +0200
commit636d7905b061311eaaeec61f88cdc1a627013f54 (patch)
tree8cc3a671ac10ca9858a714221a81519ecd4b670c /editor
parente1de9f9fc4d8499b9e71585f0dcebcc2a42a00ea (diff)
Update property keying state without a full Inspector rebuild
(cherry picked from commit f68eb4a96711139d58d3f676d52576f1acb9c94e)
Diffstat (limited to 'editor')
-rw-r--r--editor/editor_inspector.cpp12
-rw-r--r--editor/editor_inspector.h2
2 files changed, 13 insertions, 1 deletions
diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp
index 563bf5ce7f..44426dc143 100644
--- a/editor/editor_inspector.cpp
+++ b/editor/editor_inspector.cpp
@@ -3370,7 +3370,17 @@ void EditorInspector::set_keying(bool p_active) {
return;
}
keying = p_active;
- update_tree();
+ _keying_changed();
+}
+
+void EditorInspector::_keying_changed() {
+ for (const KeyValue<StringName, List<EditorProperty *>> &F : editor_property_map) {
+ for (EditorProperty *E : F.value) {
+ if (E) {
+ E->set_keying(keying);
+ }
+ }
+ }
}
void EditorInspector::set_read_only(bool p_read_only) {
diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h
index 01231108d8..76fe929ce4 100644
--- a/editor/editor_inspector.h
+++ b/editor/editor_inspector.h
@@ -521,6 +521,8 @@ class EditorInspector : public ScrollContainer {
void _changed_callback();
void _edit_request_change(Object *p_object, const String &p_prop);
+ void _keying_changed();
+
void _filter_changed(const String &p_text);
void _parse_added_editors(VBoxContainer *current_vbox, EditorInspectorSection *p_section, Ref<EditorInspectorPlugin> ped);