Revert "Fix inspector jumping when gaining focus"
This reverts commit9226424401. (cherry picked from commitd0437d5052)
This commit is contained in:
@ -51,6 +51,7 @@
|
|||||||
<members>
|
<members>
|
||||||
<member name="draw_focus_border" type="bool" setter="set_draw_focus_border" getter="get_draw_focus_border" overrides="ScrollContainer" default="true" />
|
<member name="draw_focus_border" type="bool" setter="set_draw_focus_border" getter="get_draw_focus_border" overrides="ScrollContainer" default="true" />
|
||||||
<member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" />
|
<member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" />
|
||||||
|
<member name="follow_focus" type="bool" setter="set_follow_focus" getter="is_following_focus" overrides="ScrollContainer" default="true" />
|
||||||
<member name="horizontal_scroll_mode" type="int" setter="set_horizontal_scroll_mode" getter="get_horizontal_scroll_mode" overrides="ScrollContainer" enum="ScrollContainer.ScrollMode" default="0" />
|
<member name="horizontal_scroll_mode" type="int" setter="set_horizontal_scroll_mode" getter="get_horizontal_scroll_mode" overrides="ScrollContainer" enum="ScrollContainer.ScrollMode" default="0" />
|
||||||
</members>
|
</members>
|
||||||
<signals>
|
<signals>
|
||||||
|
|||||||
@ -3046,7 +3046,6 @@ void EditorInspector::update_tree() {
|
|||||||
int current_focusable = -1;
|
int current_focusable = -1;
|
||||||
|
|
||||||
// Temporarily disable focus following on the root inspector to avoid jumping while the inspector is updating.
|
// Temporarily disable focus following on the root inspector to avoid jumping while the inspector is updating.
|
||||||
bool was_following = get_root_inspector()->is_following_focus();
|
|
||||||
get_root_inspector()->set_follow_focus(false);
|
get_root_inspector()->set_follow_focus(false);
|
||||||
|
|
||||||
if (property_focusable != -1) {
|
if (property_focusable != -1) {
|
||||||
@ -3075,7 +3074,7 @@ void EditorInspector::update_tree() {
|
|||||||
_clear(!object);
|
_clear(!object);
|
||||||
|
|
||||||
if (!object) {
|
if (!object) {
|
||||||
get_root_inspector()->set_follow_focus(was_following);
|
get_root_inspector()->set_follow_focus(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3956,7 +3955,7 @@ void EditorInspector::update_tree() {
|
|||||||
EditorNode::get_singleton()->hide_unused_editors();
|
EditorNode::get_singleton()->hide_unused_editors();
|
||||||
}
|
}
|
||||||
|
|
||||||
get_root_inspector()->set_follow_focus(was_following);
|
get_root_inspector()->set_follow_focus(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorInspector::update_property(const String &p_prop) {
|
void EditorInspector::update_property(const String &p_prop) {
|
||||||
@ -4809,15 +4808,6 @@ void EditorInspector::_notification(int p_what) {
|
|||||||
update_tree();
|
update_tree();
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case NOTIFICATION_FOCUS_ENTER: {
|
|
||||||
set_follow_focus(true);
|
|
||||||
} break;
|
|
||||||
|
|
||||||
case NOTIFICATION_FOCUS_EXIT: {
|
|
||||||
// Don't follow focus when the inspector is not focused. Prevents potential jumping when gaining focus.
|
|
||||||
set_follow_focus(false);
|
|
||||||
} break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4974,6 +4964,7 @@ EditorInspector::EditorInspector() {
|
|||||||
base_vbox->add_child(main_vbox);
|
base_vbox->add_child(main_vbox);
|
||||||
|
|
||||||
set_horizontal_scroll_mode(SCROLL_MODE_DISABLED);
|
set_horizontal_scroll_mode(SCROLL_MODE_DISABLED);
|
||||||
|
set_follow_focus(true);
|
||||||
|
|
||||||
changing = 0;
|
changing = 0;
|
||||||
search_box = nullptr;
|
search_box = nullptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user