mirror of
https://github.com/atom/atom.git
synced 2026-02-12 23:55:10 -05:00
Changing the close icon when the tab is modified
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user