[BUG] Fix not scrolled to searched item (#398), version 1.2.9.18

This commit is contained in:
Markus Hofknecht 2022-06-11 13:04:21 +02:00
parent 7afcb95f5c
commit d6093e46b6
3 changed files with 14 additions and 11 deletions

View file

@ -173,10 +173,14 @@ namespace SystemTrayMenu.Handler
ClearIsSelectedByKey();
}
internal void SearchTextChanged(Menu menu)
internal void SearchTextChanged(Menu menu, bool isSearchStringEmpty)
{
DataGridView dgv = menu.GetDataGridView();
if (dgv.Rows.Count > 0)
if (isSearchStringEmpty)
{
ClearIsSelectedByKey();
}
else if (dgv.Rows.Count > 0)
{
Select(dgv, 0, true);
}

View file

@ -1511,10 +1511,10 @@ namespace SystemTrayMenu.Business
keyboardInput.SearchTextChanging();
}
private void Menu_SearchTextChanged(object sender, EventArgs e)
private void Menu_SearchTextChanged(object sender, bool isSearchStringEmpty)
{
Menu menu = (Menu)sender;
keyboardInput.SearchTextChanged(menu);
keyboardInput.SearchTextChanged(menu, isSearchStringEmpty);
AdjustMenusSizeAndLocation();
searchTextChanging = false;

View file

@ -191,7 +191,7 @@ namespace SystemTrayMenu.UserInterface
internal event EventHandlerEmpty SearchTextChanging;
internal event EventHandler SearchTextChanged;
internal event EventHandler<bool> SearchTextChanged;
internal event EventHandlerEmpty UserDragsMenu;
@ -828,16 +828,15 @@ namespace SystemTrayMenu.UserInterface
.Replace("%", " ")
.Replace("*", " ");
// Replace special characters
string tmp = new(searchString);
string searchStringReplaceSpecialCharacters = new(searchString);
searchString = string.Empty;
foreach (char ch in tmp)
foreach (char character in searchStringReplaceSpecialCharacters)
{
searchString += ch switch
searchString += character switch
{
'[' => "[[]",
']' => "[]]",
_ => ch,
_ => character,
};
}
@ -957,7 +956,7 @@ namespace SystemTrayMenu.UserInterface
SetCounts(foldersCount, filesCount);
SearchTextChanged.Invoke(this, null);
SearchTextChanged.Invoke(this, isSearchStringEmpty);
if (anyIconNotUpdated)
{