Quellcode durchsuchen

Merge pull request #51628 from timothyqiu/drag-property-path

Allow dropping property path into script editor
Rémi Verschelde vor 4 Jahren
Ursprung
Commit
4c3ece8c4b
1 geänderte Dateien mit 10 neuen und 0 gelöschten Zeilen
  1. 10 0
      editor/plugins/script_text_editor.cpp

+ 10 - 0
editor/plugins/script_text_editor.cpp

@@ -1390,6 +1390,7 @@ bool ScriptTextEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_
 	if (d.has("type") && (String(d["type"]) == "resource" ||
 								 String(d["type"]) == "files" ||
 								 String(d["type"]) == "nodes" ||
+								 String(d["type"]) == "obj_property" ||
 								 String(d["type"]) == "files_and_dirs")) {
 		return true;
 	}
@@ -1495,6 +1496,15 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
 		te->set_caret_column(col);
 		te->insert_text_at_caret(text_to_drop);
 	}
+
+	if (d.has("type") && String(d["type"]) == "obj_property") {
+		const String quote_style = EDITOR_DEF("text_editor/completion/use_single_quotes", false) ? "'" : "\"";
+		const String text_to_drop = String(d["property"]).c_escape().quote(quote_style);
+
+		te->set_caret_line(row);
+		te->set_caret_column(col);
+		te->insert_text_at_caret(text_to_drop);
+	}
 }
 
 void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) {