diff options
Diffstat (limited to 'main/src')
2 files changed, 13 insertions, 4 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleCache.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleCache.cs index 5a9636481a..4f58778258 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleCache.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleCache.cs @@ -58,10 +58,17 @@ namespace MonoDevelop.SourceEditor editor.LeaveNotifyEvent += HandleLeaveNotifyEvent; editor.MotionNotifyEvent += HandleMotionNotifyEvent; editor.TextArea.BeginHover += HandleBeginHover; + editor.VAdjustment.ValueChanged += HandleValueChanged; + editor.HAdjustment.ValueChanged += HandleValueChanged; fontDescription = FontService.GetFontDescription ("MessageBubbles"); tooltipFontDescription = FontService.GetFontDescription ("MessageBubbleTooltip"); } + void HandleValueChanged (object sender, EventArgs e) + { + DestroyPopoverWindow (); + } + void HandleMotionNotifyEvent (object o, Gtk.MotionNotifyEventArgs args) { if (CurrentSelectedTextMarker == null) @@ -79,7 +86,8 @@ namespace MonoDevelop.SourceEditor } MessageBubblePopoverWindow popoverWindow; - + internal static readonly Cairo.Color ShadowColor = new Cairo.Color (0, 0, 0, MonoDevelop.Core.Platform.IsMac ? 0.12 : 0.2); + class MessageBubblePopoverWindow : PopoverWindow { readonly MessageBubbleCache cache; @@ -173,8 +181,7 @@ namespace MonoDevelop.SourceEditor g.Save (); g.Translate (showBulletedList ? textBorder + iconTextSpacing + icon.Width: textBorder, y + verticalTextSpace / 2 + 1); - - g.SetSourceColor (new Cairo.Color (0, 0, 0, MonoDevelop.Core.Platform.IsMac ? 0.1 : 0.2)); + g.SetSourceColor (ShadowColor); g.ShowLayout (drawingLayout); g.Translate (0, -1); @@ -257,6 +264,8 @@ namespace MonoDevelop.SourceEditor { CancelHoverTimeout (); DestroyPopoverWindow (); + editor.VAdjustment.ValueChanged -= HandleValueChanged; + editor.HAdjustment.ValueChanged -= HandleValueChanged; editor.TextArea.BeginHover -= HandleBeginHover; editor.LeaveNotifyEvent -= HandleLeaveNotifyEvent; editor.MotionNotifyEvent -= HandleMotionNotifyEvent; diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleTextMarker.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleTextMarker.cs index d9f3598b4f..362724f02f 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleTextMarker.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleTextMarker.cs @@ -456,7 +456,7 @@ namespace MonoDevelop.SourceEditor g.Translate (sx + editor.LineHeight / 2, y + (editor.LineHeight - layouts [0].Height) / 2 + 1); // draw shadow - g.SetSourceColor (new Cairo.Color (0, 0, 0, MonoDevelop.Core.Platform.IsMac ? 0.1 : 0.2)); + g.SetSourceColor (MessageBubbleCache.ShadowColor); g.ShowLayout (drawLayout); g.Translate (0, -1); |