import React from 'react' import linkState from 'boost/linkState' import remote from 'remote' import ipc from 'ipc' export default class AppSettingTab extends React.Component { constructor (props) { super(props) let keymap = remote.getGlobal('keymap') this.state = { toggleFinder: keymap.toggleFinder, alert: null } } componentDidMount () { this.handleSettingDone = () => { this.setState({alert: { type: 'success', message: 'Successfully done!' }}) } this.handleSettingError = err => { this.setState({alert: { type: 'error', message: err.message }}) } ipc.addListener('APP_SETTING_DONE', this.handleSettingDone) ipc.addListener('APP_SETTING_ERROR', this.handleSettingError) } componentWillUnmount () { ipc.removeListener('APP_SETTING_DONE', this.handleSettingDone) ipc.removeListener('APP_SETTING_ERROR', this.handleSettingError) } submitHotKey () { ipc.send('hotkeyUpdated', { toggleFinder: this.state.toggleFinder }) } handleSaveButtonClick (e) { this.submitHotKey() } handleKeyDown (e) { this.submitHotKey() } render () { let alert = this.state.alert let alertElement = alert != null ? (
{alert.message}
) : null return (0 to 9A to ZF1 to F24~, !, @, #, $, etc.PlusSpaceBackspaceDeleteInsertReturn (or Enter as alias)Up, Down, Left and RightHome and EndPageUp and PageDownEscape (or Esc for short)VolumeUp, VolumeDown and VolumeMuteMediaNextTrack, MediaPreviousTrack, MediaStop and MediaPlayPause