2
0
Эх сурвалжийг харах

Allow middle-click to close scripts

Fixes #20871
Thomas ten Cate 7 жил өмнө
parent
commit
d867f11820

+ 16 - 2
editor/plugins/script_editor_plugin.cpp

@@ -2384,9 +2384,23 @@ void ScriptEditor::_unhandled_input(const Ref<InputEvent> &p_event) {
 void ScriptEditor::_script_list_gui_input(const Ref<InputEvent> &ev) {
 
 	Ref<InputEventMouseButton> mb = ev;
-	if (mb.is_valid() && mb->get_button_index() == BUTTON_RIGHT && mb->is_pressed()) {
+	if (mb.is_valid() && mb->is_pressed()) {
+		switch (mb->get_button_index()) {
+
+			case BUTTON_MIDDLE: {
+				// Right-click selects automatically; middle-click does not.
+				int idx = script_list->get_item_at_position(mb->get_position(), true);
+				if (idx >= 0) {
+					script_list->select(idx);
+					_script_selected(idx);
+					_menu_option(FILE_CLOSE);
+				}
+			} break;
 
-		_make_script_list_context_menu();
+			case BUTTON_RIGHT: {
+				_make_script_list_context_menu();
+			} break;
+		}
 	}
 }