Make animation name list scroll to new animation in SpriteEditor

Co-authored-by: DarellLdark <darell.ldark@gmail.com>
This commit is contained in:
Silc Lizard (Tokage) Renew 2023-07-21 19:20:53 +09:00
parent 38ccab2ab3
commit 99451b55c2
1 changed files with 5 additions and 6 deletions

View File

@ -1209,30 +1209,29 @@ void SpriteFramesEditor::_update_library(bool p_skip_selector) {
bool searching = anim_search_box->get_text().size(); bool searching = anim_search_box->get_text().size();
String searched_string = searching ? anim_search_box->get_text().to_lower() : String(); String searched_string = searching ? anim_search_box->get_text().to_lower() : String();
TreeItem *selected = nullptr;
for (const StringName &E : anim_names) { for (const StringName &E : anim_names) {
String name = E; String name = E;
if (searching && name.to_lower().find(searched_string) < 0) { if (searching && name.to_lower().find(searched_string) < 0) {
continue; continue;
} }
TreeItem *it = animations->create_item(anim_root); TreeItem *it = animations->create_item(anim_root);
it->set_metadata(0, name); it->set_metadata(0, name);
it->set_text(0, name); it->set_text(0, name);
it->set_editable(0, true); it->set_editable(0, true);
if (animated_sprite) { if (animated_sprite) {
if (name == String(animated_sprite->call("get_autoplay"))) { if (name == String(animated_sprite->call("get_autoplay"))) {
it->set_icon(0, autoplay_icon); it->set_icon(0, autoplay_icon);
} }
} }
if (E == edited_anim) { if (E == edited_anim) {
it->select(0); it->select(0);
selected = it;
} }
} }
if (selected) {
animations->scroll_to_item(selected);
}
} }
if (animated_sprite) { if (animated_sprite) {