mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-05-29 16:49:36 +12:00
[BUG] Fix not scrolled to searched item (#398), version 1.2.9.18
This commit is contained in:
parent
7afcb95f5c
commit
d6093e46b6
|
@ -173,10 +173,14 @@ namespace SystemTrayMenu.Handler
|
||||||
ClearIsSelectedByKey();
|
ClearIsSelectedByKey();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void SearchTextChanged(Menu menu)
|
internal void SearchTextChanged(Menu menu, bool isSearchStringEmpty)
|
||||||
{
|
{
|
||||||
DataGridView dgv = menu.GetDataGridView();
|
DataGridView dgv = menu.GetDataGridView();
|
||||||
if (dgv.Rows.Count > 0)
|
if (isSearchStringEmpty)
|
||||||
|
{
|
||||||
|
ClearIsSelectedByKey();
|
||||||
|
}
|
||||||
|
else if (dgv.Rows.Count > 0)
|
||||||
{
|
{
|
||||||
Select(dgv, 0, true);
|
Select(dgv, 0, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1511,10 +1511,10 @@ namespace SystemTrayMenu.Business
|
||||||
keyboardInput.SearchTextChanging();
|
keyboardInput.SearchTextChanging();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Menu_SearchTextChanged(object sender, EventArgs e)
|
private void Menu_SearchTextChanged(object sender, bool isSearchStringEmpty)
|
||||||
{
|
{
|
||||||
Menu menu = (Menu)sender;
|
Menu menu = (Menu)sender;
|
||||||
keyboardInput.SearchTextChanged(menu);
|
keyboardInput.SearchTextChanged(menu, isSearchStringEmpty);
|
||||||
AdjustMenusSizeAndLocation();
|
AdjustMenusSizeAndLocation();
|
||||||
searchTextChanging = false;
|
searchTextChanging = false;
|
||||||
|
|
||||||
|
|
|
@ -191,7 +191,7 @@ namespace SystemTrayMenu.UserInterface
|
||||||
|
|
||||||
internal event EventHandlerEmpty SearchTextChanging;
|
internal event EventHandlerEmpty SearchTextChanging;
|
||||||
|
|
||||||
internal event EventHandler SearchTextChanged;
|
internal event EventHandler<bool> SearchTextChanged;
|
||||||
|
|
||||||
internal event EventHandlerEmpty UserDragsMenu;
|
internal event EventHandlerEmpty UserDragsMenu;
|
||||||
|
|
||||||
|
@ -828,16 +828,15 @@ namespace SystemTrayMenu.UserInterface
|
||||||
.Replace("%", " ")
|
.Replace("%", " ")
|
||||||
.Replace("*", " ");
|
.Replace("*", " ");
|
||||||
|
|
||||||
// Replace special characters
|
string searchStringReplaceSpecialCharacters = new(searchString);
|
||||||
string tmp = new(searchString);
|
|
||||||
searchString = string.Empty;
|
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);
|
SetCounts(foldersCount, filesCount);
|
||||||
|
|
||||||
SearchTextChanged.Invoke(this, null);
|
SearchTextChanged.Invoke(this, isSearchStringEmpty);
|
||||||
|
|
||||||
if (anyIconNotUpdated)
|
if (anyIconNotUpdated)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue