Copy full project setting path from dialog.

The EditorProperty UI elements for project settings are created from
SectionedInspector, which has a prefix added to each property path. Each
EditorProperty needs to be made aware of this path so copy_property_path
copies the full path, and not just the suffix.

Fixes #59020.
This commit is contained in:
Ryan Roden-Corrent 2022-03-13 09:23:44 -04:00
parent 90faf04f29
commit d271e2517e
No known key found for this signature in database
GPG key ID: 435D8B10692555C9
2 changed files with 4 additions and 1 deletions

View file

@ -881,7 +881,7 @@ void EditorProperty::menu_option(int p_option) {
emit_changed(property, InspectorDock::get_inspector_singleton()->get_property_clipboard());
} break;
case MENU_COPY_PROPERTY_PATH: {
DisplayServer::get_singleton()->clipboard_set(property);
DisplayServer::get_singleton()->clipboard_set(property_path);
} break;
case MENU_PIN_VALUE: {
emit_signal(SNAME("property_pinned"), property, !pinned);
@ -2331,6 +2331,7 @@ void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, Ref<Edit
if (F.properties.size() == 1) {
//since it's one, associate:
ep->property = F.properties[0];
ep->property_path = property_prefix + F.properties[0];
ep->property_usage = 0;
}
@ -2889,6 +2890,7 @@ void EditorInspector::update_tree() {
if (F.properties.size() == 1) {
//since it's one, associate:
ep->property = F.properties[0];
ep->property_path = property_prefix + F.properties[0];
ep->property_usage = p.usage;
//and set label?
}

View file

@ -68,6 +68,7 @@ private:
friend class EditorInspector;
Object *object;
StringName property;
String property_path;
int property_usage;