Author: mkrueger
Date: 2008-02-09 09:48:03 -0500 (Sat, 09 Feb 2008)
New Revision: 95335

Modified:
   trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
Log:
* Mono.TextEditor/DefaultEditActions.cs, Mono.TextEditor/TextEditor.cs:
  Primary clipboard now works.

Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-09 
13:43:40 UTC (rev 95334)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-09 
14:48:03 UTC (rev 95335)
@@ -1,5 +1,10 @@
 2008-02-09  Mike Krüger <[EMAIL PROTECTED]> 
 
+       * Mono.TextEditor/DefaultEditActions.cs, Mono.TextEditor/TextEditor.cs:
+         Primary clipboard now works.
+
+2008-02-09  Mike Krüger <[EMAIL PROTECTED]> 
+
        * Mono.TextEditor/TextEditor.cs, Mono.TextEditor/Caret.cs: Overwrite 
mode
          now works.
 

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-09 13:43:40 UTC (rev 95334)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs
     2008-02-09 14:48:03 UTC (rev 95335)
@@ -707,7 +707,8 @@
                
                const int UTF8_FORMAT = 8;
                
-               public static readonly Gdk.Atom CLIPBOARD_ATOM = 
Gdk.Atom.Intern ("CLIPBOARD", false);
+               public static readonly Gdk.Atom CLIPBOARD_ATOM        = 
Gdk.Atom.Intern ("CLIPBOARD", false);
+               public static readonly Gdk.Atom PRIMARYCLIPBOARD_ATOM = 
Gdk.Atom.Intern ("PRIMARY", false);
                static readonly Gdk.Atom RTF_ATOM = Gdk.Atom.Intern 
("text/rtf", false);
                
                public void SetData (SelectionData selection_data, uint info)
@@ -863,15 +864,23 @@
                        if (data.IsSomethingSelected) {
                                text = data.Document.Buffer.GetTextAt 
(data.SelectionRange);
                                rtf  = GenerateRtf (data);
+                       } else {
+                               text = rtf = null;
                        }
                }
                
+               public void CopyToPrimary (TextEditorData data)
+               {
+                       Clipboard clipboard = Clipboard.Get 
(CopyAction.PRIMARYCLIPBOARD_ATOM);
+                       CopyData (data);
+                       clipboard.SetWithData ((Gtk.TargetEntry[])TargetList, 
ClipboardGetFunc, ClipboardClearFunc);
+               }
+               
                public override void Run (TextEditorData data)
                {
                        if (data.IsSomethingSelected) {
                                Clipboard clipboard = Clipboard.Get 
(CopyAction.CLIPBOARD_ATOM);
                                CopyData (data);
-                               
                                clipboard.SetWithData 
((Gtk.TargetEntry[])TargetList, ClipboardGetFunc, ClipboardClearFunc);
                        }
                }

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs 
    2008-02-09 13:43:40 UTC (rev 95334)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs 
    2008-02-09 14:48:03 UTC (rev 95335)
@@ -218,6 +218,9 @@
                        margins.Add (this);
                        ISegment oldSelection = null;
                        this.TextEditorData.SelectionChanged += delegate {
+                               new CopyAction ().CopyToPrimary 
(this.TextEditorData);
+                               
+                               // Handle redraw
                                ISegment selection = 
this.TextEditorData.SelectionRange;
                                int startLine    = selection != null ? 
Document.Splitter.GetLineNumberForOffset (selection.Offset) : -1;
                                int endLine      = selection != null ? 
Document.Splitter.GetLineNumberForOffset (selection.EndOffset) : -1;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to