Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/MainToolbarController.cs')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/MainToolbarController.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/MainToolbarController.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/MainToolbarController.cs
index e371e00cb5..b497d148ff 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/MainToolbarController.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/MainToolbarController.cs
@@ -77,6 +77,7 @@ namespace MonoDevelop.Components.MainToolbar
ToolbarView.SearchEntryChanged += HandleSearchEntryChanged;
ToolbarView.SearchEntryActivated += HandleSearchEntryActivated;
ToolbarView.SearchEntryKeyPressed += HandleSearchEntryKeyPressed;
+ ToolbarView.PerformCommand += HandleSearchEntryCommand;
ToolbarView.SearchEntryResized += (o, e) => PositionPopup ();
ToolbarView.SearchEntryLostFocus += (o, e) => {
ToolbarView.SearchText = "";
@@ -741,6 +742,21 @@ namespace MonoDevelop.Components.MainToolbar
popup.OpenFile ();
}
+ void HandleSearchEntryCommand (object sender, SearchEntryCommandArgs args)
+ {
+ if (args.Command == SearchPopupCommand.Cancel) {
+ DestroyPopup ();
+ var doc = IdeApp.Workbench.ActiveDocument;
+ if (doc != null)
+ doc.Select ();
+ return;
+ }
+
+ if (popup != null) {
+ args.Handled = popup.ProcessCommand (args.Command);
+ }
+ }
+
void HandleSearchEntryKeyPressed (object sender, Xwt.KeyEventArgs e)
{
if (e.Key == Xwt.Key.Escape) {
@@ -1181,5 +1197,15 @@ namespace MonoDevelop.Components.MainToolbar
public event EventHandler Activated;
}
}
+
+ public class SearchEntryCommandArgs : HandledEventArgs
+ {
+ public SearchPopupCommand Command { get; private set; }
+
+ public SearchEntryCommandArgs (SearchPopupCommand command)
+ {
+ Command = command;
+ }
+ }
}