1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 01:36:22 +00:00

Merge pull request #2327 from mikaoelitiana/fix-1155

Add osx touchbar support
This commit is contained in:
Junyoung Choi (Sai)
2018-09-15 12:22:42 +09:00
committed by GitHub
3 changed files with 55 additions and 0 deletions

View File

@@ -80,6 +80,7 @@ class NoteList extends React.Component {
this.getViewType = this.getViewType.bind(this)
this.restoreNote = this.restoreNote.bind(this)
this.copyNoteLink = this.copyNoteLink.bind(this)
this.navigate = this.navigate.bind(this)
// TODO: not Selected noteKeys but SelectedNote(for reusing)
this.state = {
@@ -98,6 +99,7 @@ class NoteList extends React.Component {
ee.on('list:isMarkdownNote', this.alertIfSnippetHandler)
ee.on('import:file', this.importFromFileHandler)
ee.on('list:jump', this.jumpNoteByHash)
ee.on('list:navigate', this.navigate)
}
componentWillReceiveProps (nextProps) {
@@ -687,6 +689,16 @@ class NoteList extends React.Component {
return copy(noteLink)
}
navigate (sender, pathname) {
const { router } = this.context
router.push({
pathname,
query: {
// key: noteKey
}
})
}
save (note) {
const { dispatch } = this.props
dataApi

View File

@@ -78,9 +78,11 @@ app.on('ready', function () {
var template = require('./main-menu')
var menu = Menu.buildFromTemplate(template)
var touchBarMenu = require('./touchbar-menu')
switch (process.platform) {
case 'darwin':
Menu.setApplicationMenu(menu)
mainWindow.setTouchBar(touchBarMenu)
break
case 'win32':
mainWindow.setMenu(menu)

41
lib/touchbar-menu.js Normal file
View File

@@ -0,0 +1,41 @@
const {TouchBar} = require('electron')
const {TouchBarButton, TouchBarSpacer} = TouchBar
const mainWindow = require('./main-window')
const allNotes = new TouchBarButton({
label: '📒',
click: () => {
mainWindow.webContents.send('list:navigate', '/home')
}
})
const starredNotes = new TouchBarButton({
label: '⭐️',
click: () => {
mainWindow.webContents.send('list:navigate', '/starred')
}
})
const trash = new TouchBarButton({
label: '🗑',
click: () => {
mainWindow.webContents.send('list:navigate', '/trashed')
}
})
const newNote = new TouchBarButton({
label: '✎',
click: () => {
mainWindow.webContents.send('list:navigate', '/home')
mainWindow.webContents.send('top:new-note')
}
})
module.exports = new TouchBar([
allNotes,
starredNotes,
trash,
new TouchBarSpacer({size: 'small'}),
newNote
])