switch tab shortkey

pull/1/head
yann300 6 years ago
parent 2f4abcb4ea
commit f8f6dbfe0d
  1. 18
      src/app/editor/editor.js
  2. 2
      src/app/panels/editor-panel.js
  3. 33
      src/app/panels/tab-proxy.js

@ -130,6 +130,24 @@ class Editor {
readOnly: true
})
this.editor.commands.addCommand({
name: 'movenexttab',
bindKey: {win: 'Ctrl-Right', mac: 'Command-Right'},
exec: (editor) => {
this.event.trigger('switchNextTab', [])
},
readOnly: true
})
this.editor.commands.addCommand({
name: 'moveprevioustab',
bindKey: {win: 'Ctrl-Left', mac: 'Command-Left'},
exec: (editor) => {
this.event.trigger('switchPreviousTab', [])
},
readOnly: true
})
this.editor.setShowPrintMargin(false)
this.editor.resize(true)

@ -56,6 +56,8 @@ class EditorPanel {
self._components.contextView.hide()
self._view.mainPanel.style.display = 'block'
}
self._components.editor.event.register('switchNextTab', () => { self.tabProxy.switchNextTab() })
self._components.editor.event.register('switchPreviousTab', () => { self.tabProxy.switchPreviousTab() })
self.appManager.event.on('ensureActivated', (name) => { if (name === 'home') { showApp(name) } })
/*
We listen here on event from the tab component to display / hide the editor and mainpanel

@ -10,7 +10,6 @@ export class TabProxy {
this.fileManager = fileManager
this.appManager = appManager
this.editor = editor
this.entities = {}
this.data = {}
this._view = {}
this._handlers = {}
@ -61,6 +60,7 @@ export class TabProxy {
this.appManager.deactivateOne(name)
}
)
this.switchTab(name)
}
})
@ -69,6 +69,37 @@ export class TabProxy {
})
}
switchTab (tabName) {
if (this._handlers[tabName]) {
this._handlers[tabName].switchTo()
this._view.filetabs.activateTab(tabName)
}
}
switchNextTab () {
const active = this._view.filetabs.active
if (active && this._handlers[active]) {
const handlers = Object.keys(this._handlers)
let i = handlers.indexOf(active)
if (i >= 0) {
i = handlers[i + 1] ? i + 1 : 0
this.switchTab(handlers[i])
}
}
}
switchPreviousTab () {
const active = this._view.filetabs.active
if (active && this._handlers[active]) {
const handlers = Object.keys(this._handlers)
let i = handlers.indexOf(active)
if (i >= 0) {
i = handlers[i - 1] ? i - 1 : handlers.length - 1
this.switchTab(handlers[i])
}
}
}
addTab (name, switchTo, close, kind) {
var slash = name.split('/')
let title = name.indexOf('/') !== -1 ? slash[slash.length - 1] : name

Loading…
Cancel
Save