diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2012-05-04 12:26:26 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2012-05-04 12:27:38 +0400 |
commit | b2d999bb16ddb5004d509ef6b18151e8f469aaf5 (patch) | |
tree | d8278fbbec2bb6bb31dfa83bb5726eea476ed101 | |
parent | 94c91dd2fcb1a1d8186acbf1a6d7ed9ca09f3ceb (diff) |
Fixed 'Bug 4863 - [Regression] AutoComplete dropdown does not allow
clicking on alternate suggestions'.
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWidget.cs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWidget.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWidget.cs index 72e2e751ce..38f8733fc2 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWidget.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWidget.cs @@ -48,6 +48,14 @@ namespace MonoDevelop.Ide.CodeCompletion int rowHeight; bool buttonPressed; public event EventHandler SelectionChanged; + + protected virtual void OnSelectionChanged (EventArgs e) + { + var handler = this.SelectionChanged; + if (handler != null) + handler (this, e); + } + string completionString; class Category { @@ -155,8 +163,7 @@ namespace MonoDevelop.Ide.CodeCompletion if (value != selection) { selection = value; UpdatePage (); - if (SelectionChanged != null) - SelectionChanged (this, EventArgs.Empty); + OnSelectionChanged (EventArgs.Empty); this.QueueDraw (); } } @@ -281,14 +288,13 @@ namespace MonoDevelop.Ide.CodeCompletion page = value; this.QueueDraw (); } - if (SelectionChanged != null) - SelectionChanged (this, EventArgs.Empty); + OnSelectionChanged (EventArgs.Empty); } } protected override bool OnButtonPressEvent (EventButton e) { - SelectionFilterIndex = GetRowByPosition ((int)e.Y); + SelectedItem = GetRowByPosition ((int)e.Y); buttonPressed = true; return base.OnButtonPressEvent (e); } @@ -311,7 +317,7 @@ namespace MonoDevelop.Ide.CodeCompletion return base.OnMotionNotifyEvent (e); int winWidth, winHeight; this.GdkWindow.GetSize (out winWidth, out winHeight); - SelectionFilterIndex = GetRowByPosition ((int)e.Y); + SelectedItem = GetRowByPosition ((int)e.Y); return true; } |