mirror of
https://github.com/atom/atom.git
synced 2026-01-26 23:38:48 -05:00
don't allow duplicate tabs in the same edit session
This commit is contained in:
@@ -44,6 +44,14 @@ class TabView extends SortableList
|
||||
removeTabAtIndex: (index) ->
|
||||
@find(".tab:eq(#{index})").remove()
|
||||
|
||||
containsTab: (tab) ->
|
||||
unique = true
|
||||
path = $(tab).view().buffer.file.path
|
||||
paths = $.makeArray(@find('.tab')).map (e) ->
|
||||
$(e).view().buffer.file.path
|
||||
|
||||
return paths.some (tabpath) -> tabpath == path
|
||||
|
||||
shouldAllowDrag: (event) ->
|
||||
panes = rootView.find('.pane')
|
||||
!(panes.length == 1 && panes.find('.sortable').length == 1)
|
||||
@@ -75,7 +83,8 @@ class TabView extends SortableList
|
||||
|
||||
droppedNearTab = @getSortableElement(event)
|
||||
draggedTab = fromPane.find(".#{TabView.viewClass()} .sortable:eq(#{previousDraggedTabIndex})")
|
||||
return if draggedTab[0] is droppedNearTab[0]
|
||||
|
||||
return if draggedTab[0] is droppedNearTab[0] or @containsTab(draggedTab)
|
||||
|
||||
draggedTab.remove()
|
||||
draggedTab.insertAfter(droppedNearTab)
|
||||
|
||||
@@ -38,4 +38,4 @@ class Tab extends View
|
||||
fileNameText = 'untitled'
|
||||
|
||||
@fileName.text(fileNameText)
|
||||
@fileName.attr('title', @editSession.getPath())
|
||||
@fileName.attr('title', @editSession.getPath())
|
||||
Reference in New Issue
Block a user