Changing the close icon when the tab is modified

This commit is contained in:
Jon Rohan
2012-12-27 21:01:17 -08:00
parent d97651d19a
commit 4f433ce0e8
2 changed files with 34 additions and 0 deletions

View File

@@ -11,6 +11,26 @@ class Tab extends View
@updateFileName()
@editSession.on 'buffer-path-change.tab', =>
@updateFileName()
@subscribeToBuffer()
updateTab: ->
@updateBufferHasModifiedText(@buffer.isModified())
subscribeToBuffer: ->
@buffer?.off '.tabs'
@buffer = @editSession.buffer
@buffer.on 'contents-modified.tabs', (e) => @updateBufferHasModifiedText(e.differsFromDisk)
@buffer.on 'after-save.tabs', => @updateTab()
@buffer.on 'git-status-change.tabs', => @updateTab()
@updateTab()
updateBufferHasModifiedText: (differsFromDisk) ->
if differsFromDisk
@toggleClass('file-modified') unless @isModified
@isModified = true
else
@removeClass('file-modified') if @isModified
@isModified = false
updateFileName: ->
@fileName.text(@editSession.buffer.getBaseName() ? 'untitled')

View File

@@ -21,6 +21,20 @@
height: 24px;
}
.tab.file-modified .close-icon {
box-shadow: inset 0 1px 2px #333;
background-color: #F9EE98;
top: 8px;
border-radius: 10px;
width: 7px;
height: 7px;
right: 7px;
}
.tab.file-modified .close-icon:before {
content: "";
}
.tab:first-child {
box-shadow: inset 0 0 5px #383838, 0 1px 0 #585858, inset -1px 0 0 #4a4a4a;
}