From b0d1dd217b03e22d0fec63dd9cc0cf07cfdba5f6 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 8 Jun 2012 18:49:18 -0600 Subject: [PATCH] Cursor *model* clears selection when cursor moves, not the view. --- src/app/cursor-view.coffee | 5 ----- src/app/cursor.coffee | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/app/cursor-view.coffee b/src/app/cursor-view.coffee index 81f8aec1a..537dbb0fa 100644 --- a/src/app/cursor-view.coffee +++ b/src/app/cursor-view.coffee @@ -17,7 +17,6 @@ class CursorView extends View @cursor.on 'change-screen-position', (position, options) => @updateAppearance() unless options.bufferChange - @clearSelection() @removeIdleClassTemporarily() @trigger 'cursor-move', bufferChange: options.bufferChange @@ -74,7 +73,3 @@ class CursorView extends View window.clearTimeout(@idleTimeout) if @idleTimeout @removeClass 'idle' _.defer => @addClass 'idle' - - clearSelection: -> - if selectionView = @getSelectionView() - selectionView.clearSelection() unless selectionView.retainSelection diff --git a/src/app/cursor.coffee b/src/app/cursor.coffee index 2ea2ec808..93c9bd6b1 100644 --- a/src/app/cursor.coffee +++ b/src/app/cursor.coffee @@ -23,6 +23,7 @@ class Cursor setScreenPosition: (screenPosition, options) -> @anchor.setScreenPosition(screenPosition, options) @goalColumn = null + @clearSelection() @trigger 'change-screen-position', @getScreenPosition(), bufferChange: false getScreenPosition: -> @@ -31,11 +32,16 @@ class Cursor setBufferPosition: (bufferPosition, options) -> @anchor.setBufferPosition(bufferPosition, options) @goalColumn = null + @clearSelection() @trigger 'change-screen-position', @getScreenPosition(), bufferChange: false getBufferPosition: -> @anchor.getBufferPosition() + clearSelection: -> + if @selection + @selection.clear() unless @selection.retainSelection + getCurrentScreenRow: -> @getScreenPosition().row