Author: mkrueger Date: 2008-02-19 10:40:15 -0500 (Tue, 19 Feb 2008) New Revision: 96158
Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.pidb trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs Log: * Mono.TextEditor.Tests/Mono.TextEditor.Tests.pidb: Copy to primary clipboard is now lazy (Improves performance for large selections). Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog =================================================================== --- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-19 15:40:02 UTC (rev 96157) +++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-19 15:40:15 UTC (rev 96158) @@ -1,5 +1,10 @@ 2008-02-19 Mike Krüger <[EMAIL PROTECTED]> + * Mono.TextEditor.Tests/Mono.TextEditor.Tests.pidb: Copy to primary + clipboard is now lazy (Improves performance for large selections). + +2008-02-19 Mike Krüger <[EMAIL PROTECTED]> + * Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/InsertTabTests.cs, Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/RemoveTabTests.cs: Added Remove tab tests. Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs =================================================================== --- trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs 2008-02-19 15:40:02 UTC (rev 96157) +++ trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs 2008-02-19 15:40:15 UTC (rev 96158) @@ -794,6 +794,7 @@ } } + void ClipboardGetFunc (Clipboard clipboard, SelectionData selection_data, uint info) { SetData (selection_data, info); @@ -930,21 +931,36 @@ } } - public void CopyData (TextEditorData data) + void CopyData (TextEditorData data, ISegment segment) { - if (data.IsSomethingSelected && data.Document.Contains (data.SelectionRange)) { - text = data.Document.GetTextAt (data.SelectionRange); + if (segment != null) { + text = data.Document.GetTextAt (segment); rtf = GenerateRtf (data); } else { text = rtf = null; } } + public void CopyData (TextEditorData data) + { + CopyData (data, data.SelectionRange); + } + TextEditorData data; + ISegment selection; + + void ClipboardGetFuncLazy (Clipboard clipboard, SelectionData selection_data, uint info) + { + CopyData (data, selection); + ClipboardGetFunc (clipboard, selection_data, info); + } + public void CopyToPrimary (TextEditorData data) { + this.data = data; + this.selection = data.SelectionRange; + Clipboard clipboard = Clipboard.Get (CopyAction.PRIMARYCLIPBOARD_ATOM); - CopyData (data); - clipboard.SetWithData ((Gtk.TargetEntry[])TargetList, ClipboardGetFunc, ClipboardClearFunc); + clipboard.SetWithData ((Gtk.TargetEntry[])TargetList, ClipboardGetFuncLazy, ClipboardClearFunc); } public override void Run (TextEditorData data) Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.pidb =================================================================== (Binary files differ) _______________________________________________ Mono-patches maillist - Mono-patches@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-patches