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