Limit inspector updates when dragging anchored controls

This commit is contained in:
Yuri Sizov 2022-02-13 00:19:06 +03:00
parent d3a6b6daaa
commit ddc8ec6b44

View file

@ -1585,14 +1585,25 @@ void Control::set_anchor_and_offset(Side p_side, real_t p_anchor, real_t p_pos,
}
void Control::_set_anchors_layout_preset(int p_preset) {
bool list_changed = false;
if (has_meta("_edit_layout_mode") && (int)get_meta("_edit_layout_mode") != (int)LayoutMode::LAYOUT_MODE_ANCHORS) {
list_changed = true;
set_meta("_edit_layout_mode", (int)LayoutMode::LAYOUT_MODE_ANCHORS);
}
if (p_preset == -1) {
if (!has_meta("_edit_use_custom_anchors") || !(bool)get_meta("_edit_use_custom_anchors")) {
set_meta("_edit_use_custom_anchors", true);
notify_property_list_changed();
}
return; // Keep settings as is.
}
if (!has_meta("_edit_use_custom_anchors") || (bool)get_meta("_edit_use_custom_anchors")) {
list_changed = true;
set_meta("_edit_use_custom_anchors", false);
}
LayoutPreset preset = (LayoutPreset)p_preset;
// Set correct anchors.
@ -1625,8 +1636,10 @@ void Control::_set_anchors_layout_preset(int p_preset) {
// Select correct grow directions.
set_grow_direction_preset(preset);
if (list_changed) {
notify_property_list_changed();
}
}
int Control::_get_anchors_layout_preset() const {
// If the custom preset was selected by user, use it.