|
7 | 7 |
|
8 | 8 | import 'vs/css!./dnd'; |
9 | 9 | import { IDisposable, dispose } from 'vs/base/common/lifecycle'; |
10 | | -import { ICodeEditor, IEditorMouseEvent } from 'vs/editor/browser/editorBrowser'; |
| 10 | +import { ICodeEditor, IEditorMouseEvent, IMouseTarget } from 'vs/editor/browser/editorBrowser'; |
11 | 11 | import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions'; |
12 | 12 | import * as editorCommon from 'vs/editor/common/editorCommon'; |
13 | 13 | import { Position } from 'vs/editor/common/core/position'; |
@@ -56,9 +56,7 @@ export class DragAndDropController implements editorCommon.IEditorContribution { |
56 | 56 | } |
57 | 57 |
|
58 | 58 | private _onEditorMouseDrop(mouseEvent: IEditorMouseEvent): void { |
59 | | - if (mouseEvent.target && |
60 | | - (mouseEvent.target.type === editorCommon.MouseTargetType.CONTENT_TEXT || mouseEvent.target.type === editorCommon.MouseTargetType.CONTENT_EMPTY) && |
61 | | - mouseEvent.target.position) { |
| 59 | + if (mouseEvent.target && (this._hitContent(mouseEvent.target) || this._hitMargin(mouseEvent.target)) && mouseEvent.target.position) { |
62 | 60 | let newCursorPosition = new Position(mouseEvent.target.position.lineNumber, mouseEvent.target.position.column); |
63 | 61 |
|
64 | 62 | if (this._dragSelection.containsPosition(newCursorPosition)) { |
@@ -98,6 +96,17 @@ export class DragAndDropController implements editorCommon.IEditorContribution { |
98 | 96 | }); |
99 | 97 | } |
100 | 98 |
|
| 99 | + private _hitContent(target: IMouseTarget): boolean { |
| 100 | + return target.type === editorCommon.MouseTargetType.CONTENT_TEXT || |
| 101 | + target.type === editorCommon.MouseTargetType.CONTENT_EMPTY; |
| 102 | + } |
| 103 | + |
| 104 | + private _hitMargin(target: IMouseTarget): boolean { |
| 105 | + return target.type === editorCommon.MouseTargetType.GUTTER_GLYPH_MARGIN || |
| 106 | + target.type === editorCommon.MouseTargetType.GUTTER_LINE_NUMBERS || |
| 107 | + target.type === editorCommon.MouseTargetType.GUTTER_LINE_DECORATIONS; |
| 108 | + } |
| 109 | + |
101 | 110 | public getId(): string { |
102 | 111 | return DragAndDropController.ID; |
103 | 112 | } |
|
0 commit comments