- Group names now get filtered again (currently doing a second filtering pass through the items)
- More cleanup
This commit is contained in:
@@ -450,7 +450,25 @@ namespace FlaxEditor.Surface.ContextMenu
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Profiler.BeginEvent("VisjectCM.OnSearchFilterChanged");
|
Profiler.BeginEvent("VisjectCM.OnSearchFilterChanged");
|
||||||
|
UpdateFilters();
|
||||||
|
_searchBox.Focus();
|
||||||
|
Profiler.EndEvent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnContextSensitiveToggleStateChanged(CheckBox checkBox)
|
||||||
|
{
|
||||||
|
// Skip events during setup or init stuff
|
||||||
|
if (IsLayoutLocked)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Profiler.BeginEvent("VisjectCM.OnContextSensitiveToggleStateChanged");
|
||||||
|
_contextSensitiveSearchEnabled = checkBox.Checked;
|
||||||
|
UpdateFilters();
|
||||||
|
Profiler.EndEvent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateFilters()
|
||||||
|
{
|
||||||
if (string.IsNullOrEmpty(_searchBox.Text) && _selectedBox == null)
|
if (string.IsNullOrEmpty(_searchBox.Text) && _selectedBox == null)
|
||||||
{
|
{
|
||||||
ResetView();
|
ResetView();
|
||||||
@@ -475,33 +493,6 @@ namespace FlaxEditor.Surface.ContextMenu
|
|||||||
PerformLayout();
|
PerformLayout();
|
||||||
if (SelectedItem != null)
|
if (SelectedItem != null)
|
||||||
_panel1.ScrollViewTo(SelectedItem);
|
_panel1.ScrollViewTo(SelectedItem);
|
||||||
_searchBox.Focus();
|
|
||||||
Profiler.EndEvent();
|
|
||||||
|
|
||||||
Profiler.EndEvent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnContextSensitiveToggleStateChanged(CheckBox checkBox)
|
|
||||||
{
|
|
||||||
Profiler.BeginEvent("VisjectCM.OnContextSensitiveToggleStateChanged");
|
|
||||||
_contextSensitiveSearchEnabled = checkBox.Checked;
|
|
||||||
|
|
||||||
LockChildrenRecursive();
|
|
||||||
for (int i = 0; i < _groups.Count; i++)
|
|
||||||
{
|
|
||||||
_groups[i].UpdateFilter(_searchBox.Text, _contextSensitiveSearchEnabled ? _selectedBox : null);
|
|
||||||
}
|
|
||||||
SortGroups();
|
|
||||||
UnlockChildrenRecursive();
|
|
||||||
|
|
||||||
Profiler.BeginEvent("VisjectCM.Layout");
|
|
||||||
if (SelectedItem == null || !SelectedItem.VisibleInHierarchy)
|
|
||||||
SelectedItem = _groups.Find(g => g.Visible)?.Children.Find(c => c.Visible && c is VisjectCMItem) as VisjectCMItem;
|
|
||||||
PerformLayout();
|
|
||||||
if (SelectedItem != null)
|
|
||||||
_panel1.ScrollViewTo(SelectedItem);
|
|
||||||
Profiler.EndEvent();
|
|
||||||
|
|
||||||
Profiler.EndEvent();
|
Profiler.EndEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -100,17 +100,17 @@ namespace FlaxEditor.Surface.ContextMenu
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Update header title
|
// Update header title
|
||||||
/*if (QueryFilterHelper.Match(filterText, HeaderText))
|
if (QueryFilterHelper.Match(filterText, HeaderText))
|
||||||
{
|
{
|
||||||
for (int i = 0; i < _children.Count; i++)
|
for (int i = 0; i < _children.Count; i++)
|
||||||
{
|
{
|
||||||
if (_children[i] is VisjectCMItem item)
|
if (_children[i] is VisjectCMItem item)
|
||||||
{
|
{
|
||||||
item.Visible = true;
|
item.UpdateFilter(null, selectedBox);
|
||||||
|
isAnyVisible |= item.Visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
isAnyVisible = true;
|
}
|
||||||
}*/
|
|
||||||
|
|
||||||
// Update itself
|
// Update itself
|
||||||
if (isAnyVisible)
|
if (isAnyVisible)
|
||||||
|
|||||||
Reference in New Issue
Block a user