From 8aad2480b64ea18db69fe4f9f5823e85ce3e697a Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 13 Nov 2012 14:30:24 -0700 Subject: [PATCH] Only autoscroll to cursor when it is attached *after* reset --- src/app/cursor-view.coffee | 7 ++++--- src/app/editor.coffee | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/app/cursor-view.coffee b/src/app/cursor-view.coffee index cddcaaa24..44b5ba226 100644 --- a/src/app/cursor-view.coffee +++ b/src/app/cursor-view.coffee @@ -11,8 +11,10 @@ class CursorView extends View editor: null visible: true + autoscrollOnAttach: null - initialize: (@cursor, @editor) -> + initialize: (@cursor, @editor, options={}) -> + @autoscrollOnAttach = options.autoscroll ? true @cursor.on 'change-screen-position.cursor-view', (screenPosition, { bufferChange, autoscroll }) => @updateDisplay({autoscroll}) @removeIdleClassTemporarily() unless bufferChange @@ -23,7 +25,7 @@ class CursorView extends View afterAttach: (onDom) -> return unless onDom - @updateDisplay(autoscroll: false) + @updateDisplay(autoscroll: @autoscrollOnAttach) @editor.syncCursorAnimations() remove: -> @@ -43,7 +45,6 @@ class CursorView extends View @editor.pixelPositionForScreenPosition(@getScreenPosition()) autoscroll: -> - pixelPosition = @editor.scrollTo(@getPixelPosition()) setVisible: (visible) -> diff --git a/src/app/editor.coffee b/src/app/editor.coffee index 5534a6b90..c54f7e713 100644 --- a/src/app/editor.coffee +++ b/src/app/editor.coffee @@ -642,8 +642,8 @@ class Editor extends View getCursorViews: -> new Array(@cursorViews...) - addCursorView: (cursor) -> - cursorView = new CursorView(cursor, this) + addCursorView: (cursor, options) -> + cursorView = new CursorView(cursor, this, options) @cursorViews.push(cursorView) @overlayer.append(cursorView) cursorView @@ -735,7 +735,7 @@ class Editor extends View @updateLayerDimensions() @setScrollPositionFromActiveEditSession() - @addCursorView(cursor) for cursor in @activeEditSession.getCursors() + @addCursorView(cursor, autoscroll: false) for cursor in @activeEditSession.getCursors() @addSelectionView(selection) for selection in @activeEditSession.getSelections() @activeEditSession.on 'add-cursor', (cursor) => @addCursorView(cursor)