diff --git a/browser/main/NoteList/index.js b/browser/main/NoteList/index.js index 31efaede..d1c8d14a 100644 --- a/browser/main/NoteList/index.js +++ b/browser/main/NoteList/index.js @@ -71,6 +71,7 @@ class NoteList extends React.Component { this.jumpNoteByHash = this.jumpNoteByHashHandler.bind(this) this.handleNoteListKeyUp = this.handleNoteListKeyUp.bind(this) this.getNoteKeyFromTargetIndex = this.getNoteKeyFromTargetIndex.bind(this) + this.cloneNote = this.cloneNote.bind(this) this.deleteNote = this.deleteNote.bind(this) this.focusNote = this.focusNote.bind(this) this.pinToTop = this.pinToTop.bind(this) @@ -96,6 +97,7 @@ class NoteList extends React.Component { this.refreshTimer = setInterval(() => this.forceUpdate(), 60 * 1000) ee.on('list:next', this.selectNextNoteHandler) ee.on('list:prior', this.selectPriorNoteHandler) + ee.on('list:clone', this.cloneNote) ee.on('list:focus', this.focusHandler) ee.on('list:isMarkdownNote', this.alertIfSnippetHandler) ee.on('import:file', this.importFromFileHandler) @@ -118,6 +120,7 @@ class NoteList extends React.Component { ee.off('list:next', this.selectNextNoteHandler) ee.off('list:prior', this.selectPriorNoteHandler) + ee.off('list:clone', this.cloneNote) ee.off('list:focus', this.focusHandler) ee.off('list:isMarkdownNote', this.alertIfSnippetHandler) ee.off('import:file', this.importFromFileHandler) @@ -277,12 +280,6 @@ class NoteList extends React.Component { ee.emit('top:new-note') } - // D key - if (e.keyCode === 68) { - e.preventDefault() - this.deleteNote() - } - // E key if (e.keyCode === 69) { e.preventDefault() diff --git a/lib/main-menu.js b/lib/main-menu.js index eb08273a..05921347 100644 --- a/lib/main-menu.js +++ b/lib/main-menu.js @@ -85,14 +85,39 @@ const file = { }, { label: 'Focus Note', - accelerator: 'Control+E', + accelerator: macOS ? 'Command+E' : 'Control+E', click () { mainWindow.webContents.send('detail:focus') } }, + { + label: 'Delete Note', + accelerator: macOS ? 'Command+Shift+Backspace' : 'Control+Shift+Backspace', + click () { + mainWindow.webContents.send('detail:delete') + } + }, + { + label: 'Clone Note', + accelerator: macOS ? 'Command+D' : 'Control+D', + click () { + mainWindow.webContents.send('list:clone') + } + }, { type: 'separator' }, + { + label: 'Import from', + submenu: [ + { + label: 'Plain Text, MarkDown (.txt, .md)', + click () { + mainWindow.webContents.send('import:file') + } + } + ] + }, { label: 'Export as', submenu: [ @@ -123,18 +148,11 @@ const file = { type: 'separator' }, { - label: 'Import from', - submenu: [ - { - label: 'Plain Text, MarkDown (.txt, .md)', - click () { - mainWindow.webContents.send('import:file') - } - } - ] - }, - { - type: 'separator' + label: 'Generate/Update Markdown TOC', + accelerator: 'Shift+Ctrl+T', + click () { + mainWindow.webContents.send('code:generate-toc') + } }, { label: 'Format Table', @@ -145,16 +163,6 @@ const file = { { type: 'separator' }, - { - label: 'Generate/Update Markdown TOC', - accelerator: 'Shift+Ctrl+T', - click () { - mainWindow.webContents.send('code:generate-toc') - } - }, - { - type: 'separator' - }, { label: 'Print', accelerator: 'CommandOrControl+P', @@ -162,16 +170,6 @@ const file = { mainWindow.webContents.send('list:isMarkdownNote', 'print') mainWindow.webContents.send('print') } - }, - { - type: 'separator' - }, - { - label: 'Delete Note', - accelerator: macOS ? 'Control+Backspace' : 'Control+Delete', - click () { - mainWindow.webContents.send('detail:delete') - } } ] } @@ -296,9 +294,6 @@ const view = { mainWindow.setFullScreen(!mainWindow.isFullScreen()) } }, - { - type: 'separator' - }, { label: 'Toggle Side Bar', accelerator: 'CommandOrControl+B',