diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml
index bd0ea02eeb00..86879ab77185 100644
--- a/doc/classes/GraphEdit.xml
+++ b/doc/classes/GraphEdit.xml
@@ -501,9 +501,6 @@
Color the connection line is interpolated to based on the activity value of a connection (see [method set_connection_activity]).
-
- Color which is blended with the connection line when the mouse is hovering over it.
-
Color of the rim around each connection line used for making intersecting lines more distinguishable.
@@ -522,6 +519,9 @@
The outline color of the selection rectangle.
+
+ Widen the line of the connection when the mouse is hovering over it by a percentage factor. A value of [code]0[/code] disables the highlight. A value of [code]100[/code] doubles the line width.
+
The horizontal range within which a port can be grabbed (inner side).
diff --git a/editor/themes/editor_theme_manager.cpp b/editor/themes/editor_theme_manager.cpp
index f4e4f85b5e4a..f1e296e06c2c 100644
--- a/editor/themes/editor_theme_manager.cpp
+++ b/editor/themes/editor_theme_manager.cpp
@@ -1556,7 +1556,7 @@ void EditorThemeManager::_populate_standard_styles(const Ref &p_the
p_theme->set_color("selection_stroke", "GraphEdit", p_theme->get_color(SNAME("box_selection_stroke_color"), EditorStringName(Editor)));
p_theme->set_color("activity", "GraphEdit", p_config.dark_theme ? Color(1, 1, 1) : Color(0, 0, 0));
- p_theme->set_color("connection_hover_tint_color", "GraphEdit", p_config.dark_theme ? Color(0, 0, 0, 0.3) : Color(1, 1, 1, 0.3));
+ p_theme->set_constant("connection_hover_thickness", "GraphEdit", 80);
p_theme->set_color("connection_valid_target_tint_color", "GraphEdit", p_config.dark_theme ? Color(1, 1, 1, 0.4) : Color(0, 0, 0, 0.4));
p_theme->set_color("connection_rim_color", "GraphEdit", p_config.tree_panel_style->get_bg_color());
diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp
index bcf0f5bdc89f..a624ca66d932 100644
--- a/scene/gui/graph_edit.cpp
+++ b/scene/gui/graph_edit.cpp
@@ -1436,15 +1436,14 @@ void GraphEdit::_update_connections() {
to_color = to_color.lerp(theme_cache.activity_color, c->activity);
}
- if (c == hovered_connection) {
- from_color = from_color.blend(theme_cache.connection_hover_tint_color);
- to_color = to_color.blend(theme_cache.connection_hover_tint_color);
- }
-
// Update Line2D node.
Ref line_gradient = memnew(Gradient);
float line_width = _get_shader_line_width();
+ if (c == hovered_connection) {
+ line_width *= 1.0f + ((float)theme_cache.connection_hover_thickness / 100.0f);
+ }
+
c->_cache.line->set_width(line_width);
line_gradient->set_color(0, from_color);
line_gradient->set_color(1, to_color);
@@ -2816,7 +2815,7 @@ void GraphEdit::_bind_methods() {
BIND_THEME_ITEM(Theme::DATA_TYPE_COLOR, GraphEdit, grid_minor);
BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_COLOR, GraphEdit, activity_color, "activity");
- BIND_THEME_ITEM(Theme::DATA_TYPE_COLOR, GraphEdit, connection_hover_tint_color);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, GraphEdit, connection_hover_thickness);
BIND_THEME_ITEM(Theme::DATA_TYPE_COLOR, GraphEdit, connection_valid_target_tint_color);
BIND_THEME_ITEM(Theme::DATA_TYPE_COLOR, GraphEdit, connection_rim_color);
BIND_THEME_ITEM(Theme::DATA_TYPE_COLOR, GraphEdit, selection_fill);
diff --git a/scene/gui/graph_edit.h b/scene/gui/graph_edit.h
index e39bbac13a10..34293212f052 100644
--- a/scene/gui/graph_edit.h
+++ b/scene/gui/graph_edit.h
@@ -273,7 +273,7 @@ class GraphEdit : public Control {
Color grid_minor;
Color activity_color;
- Color connection_hover_tint_color;
+ int connection_hover_thickness;
Color connection_valid_target_tint_color;
Color connection_rim_color;
diff --git a/scene/theme/default_theme.cpp b/scene/theme/default_theme.cpp
index f7ba440faf71..b532757797f7 100644
--- a/scene/theme/default_theme.cpp
+++ b/scene/theme/default_theme.cpp
@@ -1252,7 +1252,7 @@ void fill_default_theme(Ref &theme, const Ref &default_font, const
theme->set_color("selection_fill", "GraphEdit", Color(1, 1, 1, 0.3));
theme->set_color("selection_stroke", "GraphEdit", Color(1, 1, 1, 0.8));
theme->set_color("activity", "GraphEdit", Color(1, 1, 1));
- theme->set_color("connection_hover_tint_color", "GraphEdit", Color(0, 0, 0, 0.3));
+ theme->set_constant("connection_hover_thickness", "GraphEdit", 80);
theme->set_color("connection_valid_target_tint_color", "GraphEdit", Color(1, 1, 1, 0.4));
theme->set_color("connection_rim_color", "GraphEdit", style_normal_color);