don't allow duplicate tabs in the same edit session

This commit is contained in:
Justin Palmer
2013-02-11 13:26:23 -08:00
parent 94cec69e31
commit d448db41d1
2 changed files with 11 additions and 2 deletions

View File

@@ -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)

View File

@@ -38,4 +38,4 @@ class Tab extends View
fileNameText = 'untitled'
@fileName.text(fileNameText)
@fileName.attr('title', @editSession.getPath())
@fileName.attr('title', @editSession.getPath())