Author: mkrueger
Date: 2008-02-13 07:04:48 -0500 (Wed, 13 Feb 2008)
New Revision: 95571

Modified:
   trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/FoldMarkerMargin.cs
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/GutterMargin.cs
   trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/IMargin.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/TextViewMargin.cs,
  Mono.TextEditor/FoldMarkerMargin.cs, Mono.TextEditor/IMargin.cs,
  Mono.TextEditor/TextEditor.cs, Mono.TextEditor/BookmarkMargin.cs,
  Mono.TextEditor/GutterMargin.cs: Implemented shift+click behavior.

Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-13 
11:54:04 UTC (rev 95570)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-13 
12:04:48 UTC (rev 95571)
@@ -1,5 +1,12 @@
 2008-02-13  Mike Krüger <[EMAIL PROTECTED]> 
 
+       * Mono.TextEditor/TextViewMargin.cs, 
Mono.TextEditor/FoldMarkerMargin.cs,
+         Mono.TextEditor/IMargin.cs, Mono.TextEditor/TextEditor.cs,
+         Mono.TextEditor/BookmarkMargin.cs, Mono.TextEditor/GutterMargin.cs:
+         Implemented shift+click behavior.
+
+2008-02-13  Mike Krüger <[EMAIL PROTECTED]> 
+
        * Mono.TextEditor/TextEditor.cs: Changed delete action.
 
 2008-02-13  Mike Krüger <[EMAIL PROTECTED]> 

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
 2008-02-13 11:54:04 UTC (rev 95570)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
 2008-02-13 12:04:48 UTC (rev 95571)
@@ -98,7 +98,7 @@
                        cr.CurveTo (x, y, x, y, x + r, y);
                }
 
-               public override void MousePressed (int button, int x, int y, 
bool doubleClick)
+               public override void MousePressed (int button, int x, int y, 
bool doubleClick, Gdk.ModifierType modifierState)
                {
                        if (button != 1 || doubleClick)
                                return;

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/FoldMarkerMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/FoldMarkerMargin.cs
       2008-02-13 11:54:04 UTC (rev 95570)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/FoldMarkerMargin.cs
       2008-02-13 12:04:48 UTC (rev 95571)
@@ -50,7 +50,7 @@
                        this.editor = editor;
                }
                
-               public override void MousePressed (int button, int x, int y, 
bool doubleClick)
+               public override void MousePressed (int button, int x, int y, 
bool doubleClick, Gdk.ModifierType modifierState)
                {
                        if (lineHover == null)
                                return;
@@ -64,14 +64,16 @@
                public override void MouseHover (int x, int y, bool 
buttonPressed)
                {
                        int lineNumber = editor.Document.VisualToLogicalLine 
((int)(y + editor.TextEditorData.VAdjustment.Value) / editor.LineHeight);
-                       lineHover = null;
+                       LineSegment lineSegment = null;
                        if (lineNumber < editor.Splitter.LineCount) {
-                               LineSegment lineSegment = 
editor.Document.GetLine (lineNumber);
+                               lineSegment = editor.Document.GetLine 
(lineNumber);
                                if (lineHover != lineSegment) {
                                        lineHover = lineSegment;
                                        editor.QueueDraw ();
                                }
-                       }
+                       } 
+                       lineHover = lineSegment;
+                       
                }
                
                public override void MouseLeft ()

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/GutterMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/GutterMargin.cs
   2008-02-13 11:54:04 UTC (rev 95570)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/GutterMargin.cs
   2008-02-13 12:04:48 UTC (rev 95571)
@@ -67,7 +67,7 @@
                        }
                }
                
-               public override void MousePressed (int button, int x, int y, 
bool doubleClick)
+               public override void MousePressed (int button, int x, int y, 
bool doubleClick, Gdk.ModifierType modifierState)
                {
                        int lineNumber = editor.Document.VisualToLogicalLine 
((int)(y + editor.TextEditorData.VAdjustment.Value) / editor.LineHeight);
                        if (lineNumber < editor.Splitter.LineCount) {

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/IMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/IMargin.cs    
    2008-02-13 11:54:04 UTC (rev 95570)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/IMargin.cs    
    2008-02-13 12:04:48 UTC (rev 95571)
@@ -48,7 +48,7 @@
                
                void Draw (Gdk.Drawable drawable, Gdk.Rectangle area, int line, 
int x, int y);
                
-               void MousePressed (int button, int x, int y, bool doubleClick);
+               void MousePressed (int button, int x, int y, bool doubleClick, 
Gdk.ModifierType modifierState);
                void MouseHover (int x, int y, bool buttonPressed);
                void MouseLeft ();
        }
@@ -84,7 +84,8 @@
                public virtual void OptionsChanged ()
                {
                }
-               public virtual void MousePressed (int button, int x, int y, 
bool doubleClick)
+               
+               public virtual void MousePressed (int button, int x, int y, 
bool doubleClick, Gdk.ModifierType modifierState)
                {
                }
                

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-13 11:54:04 UTC (rev 95570)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs 
    2008-02-13 12:04:48 UTC (rev 95571)
@@ -436,6 +436,7 @@
                protected override bool OnButtonPressEvent (Gdk.EventButton e)
                {
                        base.IsFocus = true;
+                       
                        if (lastTime != e.Time) {// filter double clicks
                                if (e.Type == EventType.TwoButtonPress) {
                                    lastTime = e.Time;
@@ -447,7 +448,7 @@
                                int startPos;
                                IMargin margin = GetMarginAtX ((int)e.X, out 
startPos);
                                if (margin != null) {
-                                       margin.MousePressed ((int)e.Button, 
(int)(e.X - startPos), (int)e.Y, e.Type == EventType.TwoButtonPress);
+                                       margin.MousePressed ((int)e.Button, 
(int)(e.X - startPos), (int)e.Y, e.Type == EventType.TwoButtonPress, e.State);
                                }
                        }
                        return base.OnButtonPressEvent (e);

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-13 11:54:04 UTC (rev 95570)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
 2008-02-13 12:04:48 UTC (rev 95571)
@@ -365,7 +365,7 @@
                public bool inDrag = false;
                public DocumentLocation clickLocation;
                
-               public override void MousePressed (int button, int x, int y, 
bool doubleClick)
+               public override void MousePressed (int button, int x, int y, 
bool doubleClick, Gdk.ModifierType modifierState)
                {
                        inSelectionDrag = false;
                        inDrag = false;
@@ -393,12 +393,20 @@
                                        inDrag = true;
                                } else {
                                        inSelectionDrag = true;
-                                       Caret.Location = clickLocation; 
+                                       if ((modifierState & 
Gdk.ModifierType.ShiftMask) == ModifierType.ShiftMask) {
+                                               if 
(!TextEditorData.IsSomethingSelected) 
+                                                       
SelectionMoveLeft.StartSelection (TextEditorData);
+                                               Caret.PreserveSelection = true;
+                                               Caret.Location = clickLocation;
+                                               Caret.PreserveSelection = false;
+                                               SelectionMoveLeft.EndSelection 
(TextEditorData);
+                                       } else {
+                                               Caret.Location = clickLocation; 
+                                       }
                                        this.caretBlink = false;
                                }
                        }
                        if (button == 2) {
-                               System.Console.WriteLine("Paste From Binary");
                                PasteAction.PasteFromPrimary (TextEditorData);
                        }
                }

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

Reply via email to