Use change event instead of buffer-change event

This will update the modified indicator after operations
are undone
This commit is contained in:
Kevin Sawicki
2012-10-12 15:08:01 -07:00
parent 19aa192c47
commit 0da869589e
3 changed files with 12 additions and 5 deletions

View File

@@ -55,18 +55,26 @@ describe "StatusBar", ->
describe "when the buffer content has changed from the content on disk", ->
it "disables the buffer modified indicator on save", ->
expect(statusBar.bufferModified.text()).toBe ''
editor.insertText("\n")
expect(statusBar.bufferModified.text()).toBe '*'
editor.save()
expect(statusBar.bufferModified.text()).toBe ''
editor.backspace()
editor.save()
it "disables the buffer modified indicator if the content matches again", ->
expect(statusBar.bufferModified.text()).toBe ''
editor.insertText("\n")
expect(statusBar.bufferModified.text()).toBe '*'
editor.backspace()
expect(statusBar.bufferModified.text()).toBe ''
it "disables the buffer modified indicator when the change is undone", ->
expect(statusBar.bufferModified.text()).toBe ''
editor.insertText("\n")
expect(statusBar.bufferModified.text()).toBe '*'
editor.undo()
expect(statusBar.bufferModified.text()).toBe ''
describe "when the associated editor's cursor position changes", ->
it "updates the cursor position in the status bar", ->
editor.setCursorScreenPosition([1, 2])

View File

@@ -192,7 +192,6 @@ class Buffer
oldRange = Range.fromObject(oldRange)
operation = new BufferChangeOperation({buffer: this, oldRange, newText})
range = @pushOperation(operation)
@trigger 'buffer-change'
range
clipPosition: (position) ->
@@ -241,7 +240,6 @@ class Buffer
@setPath(path)
@contentOnDisk = @getText()
@trigger 'after-save'
@trigger 'buffer-change'
isInConflict: ->
@isModified() and @isModifiedOnDisk()

View File

@@ -30,7 +30,8 @@ class StatusBar extends View
@editor.on 'cursor-move', => @updateCursorPositionText()
@updateBufferModifiedText()
@editor.getBuffer().on 'buffer-change', => @updateBufferModifiedText()
@editor.getBuffer().on 'change', => @updateBufferModifiedText()
@editor.getBuffer().on 'after-save', => @updateBufferModifiedText()
updateBufferModifiedText: ->
buffer = @editor.getBuffer()