diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2011-08-02 13:34:56 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2011-08-02 13:34:56 +0400 |
commit | 507eb11141d324d7e56b0c5092340c2f4534dec9 (patch) | |
tree | c52d77ec547c1b8702118c8a79b1b7c8a154ed8a /main/src/core | |
parent | 567274d93cf075613418adf41994a017b5d44ee4 (diff) |
No longer show preview window on empty segments - fixing 'Bug 68 -
Hovering over comment shows weird text'.
Diffstat (limited to 'main/src/core')
-rw-r--r-- | main/src/core/Mono.Texteditor/Mono.TextEditor/CodeSegmentPreviewWindow.cs | 6 | ||||
-rw-r--r-- | main/src/core/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/main/src/core/Mono.Texteditor/Mono.TextEditor/CodeSegmentPreviewWindow.cs b/main/src/core/Mono.Texteditor/Mono.TextEditor/CodeSegmentPreviewWindow.cs index b06fd2e9db..619c4f2145 100644 --- a/main/src/core/Mono.Texteditor/Mono.TextEditor/CodeSegmentPreviewWindow.cs +++ b/main/src/core/Mono.Texteditor/Mono.TextEditor/CodeSegmentPreviewWindow.cs @@ -53,6 +53,12 @@ namespace Mono.TextEditor private set; } + public bool IsEmptyText { + get { + return string.IsNullOrEmpty ((layout.Text ?? "").Trim ()); + } + } + public CodeSegmentPreviewWindow (TextEditor editor, bool hideCodeSegmentPreviewInformString, ISegment segment) : this(editor, hideCodeSegmentPreviewInformString, segment, DefaultPreviewWindowWidth, DefaultPreviewWindowHeight) { } diff --git a/main/src/core/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs b/main/src/core/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs index 29e8fcae6d..014cc1ce48 100644 --- a/main/src/core/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs +++ b/main/src/core/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs @@ -1702,10 +1702,16 @@ namespace Mono.TextEditor CancelCodeSegmentTooltip (); HideCodeSegmentPreviewWindow (); previewSegment = segment; - if (segment == null) + if (segment == null || segment.Length == 0) return; codeSegmentTooltipTimeoutId = GLib.Timeout.Add (650, delegate { previewWindow = new CodeSegmentPreviewWindow (this.textEditor, false, segment); + if (previewWindow.IsEmptyText) { + previewWindow.Destroy (); + previewWindow = null; + return false; + } + int ox = 0, oy = 0; this.textEditor.GdkWindow.GetOrigin (out ox, out oy); |