diff options
author | Vsevolod Kukol <sevoku@xamarin.com> | 2015-12-21 12:09:28 +0300 |
---|---|---|
committer | Vsevolod Kukol <sevoku@xamarin.com> | 2015-12-21 12:09:28 +0300 |
commit | 6cf90a3902e792ddbb94c17c238cedbfbfe4dcbb (patch) | |
tree | ef1d1b5e7e27363b65481c9a44f43e52d3ec1017 /main | |
parent | 84f0a2b34845a4969ad1ae606d4b1db9c37c19b9 (diff) |
[Ide] Fix completion popover alignment
Align the popover next to the alignemnt target
rectangle (caret) and not over its border. This happens
only when the target is on the left or top side of the
popover.
Diffstat (limited to 'main')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Components/PopoverWindow.cs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/PopoverWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/PopoverWindow.cs index 7be6f51a2f..10e8832f09 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/PopoverWindow.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/PopoverWindow.cs @@ -233,6 +233,8 @@ namespace MonoDevelop.Components caret = GtkUtil.ToScreenCoordinates (parent, parent.GdkWindow, caret); } + caret.Inflate (CaretSpacing, CaretSpacing); + Gtk.Requisition request = SizeRequest (); var screen = parent.Screen; Gdk.Rectangle geometry = GtkWorkarounds.GetUsableMonitorGeometry (screen, screen.GetMonitorAtPoint (caret.X, caret.Y)); @@ -269,14 +271,14 @@ namespace MonoDevelop.Components switch ((PopupPosition)((int)position & 0x0f)) { case PopupPosition.Top: - y = caret.Bottom + CaretSpacing; + y = caret.Bottom + 1; break; case PopupPosition.Bottom: - y = caret.Y - request.Height - CaretSpacing; break; + y = caret.Y - request.Height; break; case PopupPosition.Right: - x = caret.X - request.Width - CaretSpacing; break; + x = caret.X - request.Width; break; case PopupPosition.Left: - x = caret.Right + CaretSpacing; break; + x = caret.Right + 1; break; } int offset; if ((position & PopupPosition.Top) != 0 || (position & PopupPosition.Bottom) != 0) { |