diff --git a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchReplaceInFilesManager.cs b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchReplaceInFilesManager.cs index 20d6b924d7..82f4c06f91 100644 --- a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchReplaceInFilesManager.cs +++ b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchReplaceInFilesManager.cs @@ -120,12 +120,12 @@ namespace SearchAndReplace static void OnSearchAllFinished(SearchAllFinishedEventArgs e) { - lastSearches.Add(e); + lastSearches.Insert(0, e); if (SearchAllFinished != null) { SearchAllFinished(null, e); } } - + public static event SearchAllFinishedEventHandler SearchAllFinished; } } diff --git a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanel.cs b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanel.cs index 87427a98dc..b3fce0c973 100644 --- a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanel.cs +++ b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanel.cs @@ -33,7 +33,7 @@ namespace SearchAndReplace { Flat, PerFile, - //Structural // TODO: what is this intended for? + //Structural // TODO: SearchAndReplace - develop Structural view } public class SearchResultPanel : AbstractPadContent, IOwnerState diff --git a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanelToolbarCommands.cs b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanelToolbarCommands.cs index 3ac6c9c753..ae8f963bc4 100644 --- a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanelToolbarCommands.cs +++ b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanelToolbarCommands.cs @@ -55,6 +55,12 @@ namespace SearchAndReplace void SwitchSearchResults(object sender, EventArgs e) { SearchAllFinishedEventArgs args = (SearchAllFinishedEventArgs)((ToolStripItem)sender).Tag; + + // "bubble" this saved search to the top of the list + SearchReplaceInFilesManager.LastSearches.Remove(args); + SearchReplaceInFilesManager.LastSearches.Insert(0, args); + UpdateLastSearches(null, args); + PadDescriptor searchResultPanel = WorkbenchSingleton.Workbench.GetPad(typeof(SearchResultPanel)); if (searchResultPanel != null) { searchResultPanel.BringPadToFront();