mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
update tabs extension to listen to project:resource:close. like a boss.
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
tabs:
|
||||
'cmd-w': (tabs) -> tabs.pane.closeActiveTab()
|
||||
'cmd-shift-{': (tabs) -> tabs.pane.prevTab()
|
||||
'cmd-shift-}': (tabs) -> tabs.pane.nextTab()
|
||||
'cmd-1': (tabs) -> tabs.pane.switchToTab 1
|
||||
|
||||
@@ -49,20 +49,6 @@ class TabsPane extends Pane
|
||||
"""
|
||||
$("#tabs ul li:last").addClass 'active'
|
||||
|
||||
closeActiveTab: ->
|
||||
tabsLength = $('#tabs ul li').length
|
||||
activePath = $('#tabs ul .active').data 'path'
|
||||
|
||||
if tabsLength is 1
|
||||
@removeTab activePath
|
||||
$('#main-container').children().css 'display', 'none !important'
|
||||
window.setTitle window.resource.title()
|
||||
else if tabsLength > 0
|
||||
@removeTab activePath
|
||||
@prevTab()
|
||||
else
|
||||
window.close()
|
||||
|
||||
removeTab: (path) ->
|
||||
tab = $("#tabs li[data-path='#{path}']")
|
||||
if tab.hasClass("active")
|
||||
|
||||
@@ -10,6 +10,7 @@ class Tabs extends Extension
|
||||
constructor: ->
|
||||
atom.on 'project:open', @startup
|
||||
atom.on 'project:resource:active', @focus
|
||||
atom.on 'project:resource:close', @close
|
||||
|
||||
startup: (@project) =>
|
||||
@pane = new TabsPane this
|
||||
@@ -24,4 +25,7 @@ class Tabs extends Extension
|
||||
@pane?.toggle()
|
||||
|
||||
focus: (project, resource) =>
|
||||
@pane?.addTab resource.url
|
||||
@pane?.addTab resource.url
|
||||
|
||||
close: (project, resource) =>
|
||||
@pane?.removeTab resource.url
|
||||
Reference in New Issue
Block a user