Author: mkrueger
Date: 2008-02-11 15:47:52 -0500 (Mon, 11 Feb 2008)
New Revision: 95465

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
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
Log:
* Mono.TextEditor/DefaultEditActions.cs,
  Mono.TextEditor/TextViewMargin.cs, Mono.TextEditor/TextEditor.cs:
  Middle mouse button paste now works.

Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-11 
20:36:14 UTC (rev 95464)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-11 
20:47:52 UTC (rev 95465)
@@ -1,5 +1,10 @@
 2008-02-11  Mike Krüger <[EMAIL PROTECTED]> 
 
+       * Mono.TextEditor/DefaultEditActions.cs, 
Mono.TextEditor/TextViewMargin.cs,
+         Mono.TextEditor/TextEditor.cs: Middle mouse button paste now works.
+
+2008-02-11  Mike Krüger <[EMAIL PROTECTED]> 
+
        * TangoLightStyle.xml, Mono.TextEditor.mdp, bookmark.png, 
OblivionStyle.xml,
          UbuntuStyle.xml, Mono.TextEditor/TextViewMargin.cs,
          Mono.TextEditor/Document.cs, Mono.TextEditor/FoldMarkerMargin.cs,

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-11 20:36:14 UTC (rev 95464)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/DefaultEditActions.cs
     2008-02-11 20:47:52 UTC (rev 95465)
@@ -713,6 +713,8 @@
                
                public void SetData (SelectionData selection_data, uint info)
                {
+                       if (selection_data == null)
+                               return;
                        switch (info) {
                        case TextType:
                                selection_data.Text = text;
@@ -888,9 +890,8 @@
        
        public class PasteAction : EditAction
        {
-               public override void Run (TextEditorData data)
+               static void PasteFrom (Clipboard clipboard, TextEditorData data)
                {
-                       Clipboard clipboard = Clipboard.Get 
(CopyAction.CLIPBOARD_ATOM);
                        if (clipboard.WaitIsTextAvailable ()) {
                                if (data.IsSomethingSelected) {
                                        DeleteAction.DeleteSelection (data);
@@ -902,6 +903,14 @@
                                data.Document.RequestUpdate (oldLine != 
data.Caret.Line ? (DocumentUpdateRequest)new LineToEndUpdate (oldLine) : 
(DocumentUpdateRequest)new LineUpdate (oldLine));
                        }
                }
+               public static void PasteFromPrimary (TextEditorData data)
+               {
+                       PasteFrom (Clipboard.Get 
(CopyAction.PRIMARYCLIPBOARD_ATOM), data);
+               }
+               public override void Run (TextEditorData data)
+               {
+                       PasteFrom (Clipboard.Get (CopyAction.CLIPBOARD_ATOM), 
data);
+               }
        }
 #endregion
        

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-11 20:36:14 UTC (rev 95464)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs 
    2008-02-11 20:47:52 UTC (rev 95465)
@@ -194,7 +194,8 @@
                        margins.Add (textViewMargin);
                        ISegment oldSelection = null;
                        this.TextEditorData.SelectionChanged += delegate {
-                               new CopyAction ().CopyToPrimary 
(this.TextEditorData);
+                               if (this.TextEditorData.IsSomethingSelected && 
this.TextEditorData.SelectionRange.Offset > 0)
+                                       new CopyAction ().CopyToPrimary 
(this.TextEditorData);
                                
                                // Handle redraw
                                ISegment selection = 
this.TextEditorData.SelectionRange;

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
 2008-02-11 20:36:14 UTC (rev 95464)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
 2008-02-11 20:47:52 UTC (rev 95465)
@@ -394,6 +394,10 @@
                                        this.caretBlink = false;
                                }
                        }
+                       if (button == 2) {
+                               System.Console.WriteLine("Paste From Binary");
+                               PasteAction.PasteFromPrimary (TextEditorData);
+                       }
                }
                
                int ScanWord (int offset, bool forwardDirection)

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

Reply via email to