소스 검색

Merge pull request #64573 from KoBeWi/signal_name_plagiarism

Add "Copy Name" option to signal menu
Rémi Verschelde 3 년 전
부모
커밋
f3c906757c
2개의 변경된 파일7개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 0
      editor/connections_dialog.cpp
  2. 3 2
      editor/connections_dialog.h

+ 4 - 0
editor/connections_dialog.cpp

@@ -840,6 +840,9 @@ void ConnectionsDock::_handle_signal_menu_option(int p_option) {
 			disconnect_all_dialog->set_text(vformat(TTR("Are you sure you want to remove all connections from the \"%s\" signal?"), signal_name));
 			disconnect_all_dialog->popup_centered();
 		} break;
+		case COPY_NAME: {
+			DisplayServer::get_singleton()->clipboard_set(item->get_metadata(0).operator Dictionary()["name"]);
+		} break;
 	}
 }
 
@@ -1164,6 +1167,7 @@ ConnectionsDock::ConnectionsDock() {
 	signal_menu->connect("id_pressed", callable_mp(this, &ConnectionsDock::_handle_signal_menu_option));
 	signal_menu->add_item(TTR("Connect..."), CONNECT);
 	signal_menu->add_item(TTR("Disconnect All"), DISCONNECT_ALL);
+	signal_menu->add_item(TTR("Copy Name"), COPY_NAME);
 
 	slot_menu = memnew(PopupMenu);
 	add_child(slot_menu);

+ 3 - 2
editor/connections_dialog.h

@@ -177,13 +177,14 @@ class ConnectionsDock : public VBoxContainer {
 	//Right-click Pop-up Menu Options.
 	enum SignalMenuOption {
 		CONNECT,
-		DISCONNECT_ALL
+		DISCONNECT_ALL,
+		COPY_NAME,
 	};
 
 	enum SlotMenuOption {
 		EDIT,
 		GO_TO_SCRIPT,
-		DISCONNECT
+		DISCONNECT,
 	};
 
 	Node *selected_node = nullptr;