mirror of
https://github.com/atom/atom.git
synced 2026-02-16 01:25:13 -05:00
Merge branch 'master' into ns-workspace-custom-elements
Conflicts: spec/pane-view-spec.coffee spec/workspace-view-spec.coffee src/workspace-view.coffee src/workspace.coffee
This commit is contained in:
@@ -6,7 +6,7 @@ Q = require 'q'
|
||||
Serializable = require 'serializable'
|
||||
Delegator = require 'delegato'
|
||||
{Emitter, Disposable, CompositeDisposable} = require 'event-kit'
|
||||
CommandInstaller = require './command-installer'
|
||||
Grim = require 'grim'
|
||||
TextEditor = require './text-editor'
|
||||
PaneContainer = require './pane-container'
|
||||
Pane = require './pane'
|
||||
@@ -47,7 +47,7 @@ class Workspace extends Model
|
||||
|
||||
@subscribeToActiveItem()
|
||||
|
||||
@registerOpener (filePath) =>
|
||||
@addOpener (filePath) =>
|
||||
switch filePath
|
||||
when 'atom://.atom/stylesheet'
|
||||
@open(atom.themes.getUserStylesheetPath())
|
||||
@@ -107,7 +107,7 @@ class Workspace extends Model
|
||||
subscribeToActiveItem: ->
|
||||
@updateWindowTitle()
|
||||
@updateDocumentEdited()
|
||||
atom.project.on 'path-changed', @updateWindowTitle
|
||||
atom.project.onDidChangePaths @updateWindowTitle
|
||||
|
||||
@observeActivePaneItem (item) =>
|
||||
@updateWindowTitle()
|
||||
@@ -136,7 +136,7 @@ class Workspace extends Model
|
||||
# Updates the application's title and proxy icon based on whichever file is
|
||||
# open.
|
||||
updateWindowTitle: =>
|
||||
if projectPath = atom.project?.getPath()
|
||||
if projectPath = atom.project?.getPaths()[0]
|
||||
if item = @getActivePaneItem()
|
||||
document.title = "#{item.getTitle?() ? 'untitled'} - #{projectPath}"
|
||||
atom.setRepresentedFilename(item.getPath?() ? projectPath)
|
||||
@@ -414,8 +414,6 @@ class Workspace extends Model
|
||||
if uri = @destroyedItemUris.pop()
|
||||
@openSync(uri)
|
||||
|
||||
# TODO: make ::registerOpener() return a disposable
|
||||
|
||||
# Public: Register an opener for a uri.
|
||||
#
|
||||
# An {TextEditor} will be used if no openers return a value.
|
||||
@@ -423,17 +421,24 @@ class Workspace extends Model
|
||||
# ## Examples
|
||||
#
|
||||
# ```coffee
|
||||
# atom.project.registerOpener (uri) ->
|
||||
# atom.project.addOpener (uri) ->
|
||||
# if path.extname(uri) is '.toml'
|
||||
# return new TomlEditor(uri)
|
||||
# ```
|
||||
#
|
||||
# * `opener` A {Function} to be called when a path is being opened.
|
||||
registerOpener: (opener) ->
|
||||
#
|
||||
# Returns a {Disposable} on which `.dispose()` can be called to remove the
|
||||
# opener.
|
||||
addOpener: (opener) ->
|
||||
@openers.push(opener)
|
||||
new Disposable => _.remove(@openers, opener)
|
||||
registerOpener: (opener) ->
|
||||
Grim.deprecate("Call Workspace::addOpener instead")
|
||||
@addOpener(opener)
|
||||
|
||||
# Unregister an opener registered with {::registerOpener}.
|
||||
unregisterOpener: (opener) ->
|
||||
Grim.deprecate("Call .dispose() on the Disposable returned from ::addOpener instead")
|
||||
_.remove(@openers, opener)
|
||||
|
||||
getOpeners: ->
|
||||
|
||||
Reference in New Issue
Block a user