Simplify functionality into function.

This commit is contained in:
Chandler Cox
2023-07-23 15:20:57 -05:00
parent 02d135053f
commit 12005ad314
2 changed files with 22 additions and 25 deletions

View File

@@ -484,18 +484,7 @@ namespace FlaxEditor.GUI
if (_selected != null)
{
var selectedAssetName = Path.GetFileNameWithoutExtension(_selected.Path);
foreach (var child in popup.ItemsPanel.Children)
{
if (child is not ItemsListContextMenu.Item item)
continue;
if (string.Equals(item.Name, selectedAssetName, StringComparison.Ordinal))
{
// Highlight and scroll to item
item.Focus();
popup.ScrollViewTo(item);
break;
}
}
popup.ScrollToAndHighlightItemByName(selectedAssetName);
}
}
else
@@ -509,19 +498,7 @@ namespace FlaxEditor.GUI
});
if (_selectedItem != null)
{
var selectedItemName = _selectedItem.ShortName;
foreach (var child in popup.ItemsPanel.Children)
{
if (child is not ItemsListContextMenu.Item item)
continue;
if (string.Equals(item.Name, selectedItemName, StringComparison.Ordinal))
{
// Highlight and scroll to item
item.Focus();
popup.ScrollViewTo(item);
break;
}
}
popup.ScrollToAndHighlightItemByName(_selectedItem.ShortName);
}
}
}

View File

@@ -274,6 +274,26 @@ namespace FlaxEditor.GUI
_scrollPanel.ScrollViewTo(item, true);
}
/// <summary>
/// Scrolls to the item and focuses it by name.
/// </summary>
/// <param name="itemName">The item name.</param>
public void ScrollToAndHighlightItemByName(string itemName)
{
foreach (var child in ItemsPanel.Children)
{
if (child is not ItemsListContextMenu.Item item)
continue;
if (string.Equals(item.Name, itemName, StringComparison.Ordinal))
{
// Highlight and scroll to item
item.Focus();
ScrollViewTo(item);
break;
}
}
}
/// <summary>
/// Sorts the items list (by item name by default).
/// </summary>