diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2013-05-24 13:43:48 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2013-05-24 13:43:48 +0400 |
commit | 394c8d6cc952457bf98e8bbcec4994d0506adb39 (patch) | |
tree | 29a512aa08f522add20fb36bad4ed8eef940ecf6 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content | |
parent | cf99d8064cbc1fcb2f3c5fdba5bf90995bea31a0 (diff) |
Fixed 'Bug 12332 - Line after #if removed due to message bubble'.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content/CompletionTextEditorExtension.cs | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content/CompletionTextEditorExtension.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content/CompletionTextEditorExtension.cs index 9d0385d0f4..59508048eb 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content/CompletionTextEditorExtension.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content/CompletionTextEditorExtension.cs @@ -177,7 +177,6 @@ namespace MonoDevelop.Ide.Gui.Content CompletionWindowManager.HideWindow (); if (autoHideParameterWindow) ParameterInformationWindowManager.HideWindow (this, CompletionWidget); - CompletionWindowManager.UpdateCursorPosition (); ParameterInformationWindowManager.UpdateCursorPosition (this, CompletionWidget); } @@ -430,24 +429,34 @@ namespace MonoDevelop.Ide.Gui.Content return -1; } + void HandlePaste (int insertionOffset, string text, int insertedChars) + { + ParameterInformationWindowManager.HideWindow (this, CompletionWidget); + CompletionWindowManager.HideWindow (); + } + + void HandleFocusOutEvent (object o, Gtk.FocusOutEventArgs args) + { + ParameterInformationWindowManager.HideWindow (this, CompletionWidget); + CompletionWindowManager.HideWindow (); + } + public override void Initialize () { base.Initialize (); - CompletionWindowManager.WindowClosed += HandleWindowClosed; CompletionWidget = Document.GetContent <ICompletionWidget> (); if (CompletionWidget != null) CompletionWidget.CompletionContextChanged += OnCompletionContextChanged; - document.Editor.Paste += (insertionOffset, text, insertedChars) => { - ParameterInformationWindowManager.HideWindow (this, CompletionWidget); - CompletionWindowManager.HideWindow (); - }; - if (document.Editor.Parent != null) { - document.Editor.Parent.TextArea.FocusOutEvent += delegate { - ParameterInformationWindowManager.HideWindow (this, CompletionWidget); - CompletionWindowManager.HideWindow (); - }; - } + document.Editor.Caret.PositionChanged += HandlePositionChanged; + document.Editor.Paste += HandlePaste; + if (document.Editor.Parent != null) + document.Editor.Parent.TextArea.FocusOutEvent += HandleFocusOutEvent; + } + + void HandlePositionChanged (object sender, Mono.TextEditor.DocumentLocationEventArgs e) + { + CompletionWindowManager.UpdateCursorPosition (); } void HandleWindowClosed (object sender, EventArgs e) @@ -463,6 +472,10 @@ namespace MonoDevelop.Ide.Gui.Content ParameterInformationWindowManager.HideWindow (this, CompletionWidget); disposed = true; + if (document.Editor.Parent != null) + document.Editor.Parent.TextArea.FocusOutEvent -= HandleFocusOutEvent; + document.Editor.Paste -= HandlePaste; + document.Editor.Caret.PositionChanged -= HandlePositionChanged; CompletionWindowManager.WindowClosed -= HandleWindowClosed; if (CompletionWidget != null) CompletionWidget.CompletionContextChanged -= OnCompletionContextChanged; |