@@ -9,17 +9,47 @@ export default class AppSettingTab extends React.Component {
99 let keymap = remote . getGlobal ( 'keymap' )
1010
1111 this . state = {
12- toggleFinder : keymap . toggleFinder
12+ toggleFinder : keymap . toggleFinder ,
13+ alert : null
1314 }
1415 }
1516
17+ componentDidMount ( ) {
18+ this . handleSettingDone = ( ) => {
19+ this . setState ( { alert : {
20+ type : 'success' ,
21+ message : 'Successfully done!'
22+ } } )
23+ }
24+ this . handleSettingError = err => {
25+ this . setState ( { alert : {
26+ type : 'error' ,
27+ message : err . message
28+ } } )
29+ }
30+ ipc . addListener ( 'APP_SETTING_DONE' , this . handleSettingDone )
31+ ipc . addListener ( 'APP_SETTING_ERROR' , this . handleSettingError )
32+ }
33+
34+ componentWillUnmount ( ) {
35+ ipc . removeListener ( 'APP_SETTING_DONE' , this . handleSettingDone )
36+ ipc . removeListener ( 'APP_SETTING_ERROR' , this . handleSettingError )
37+ }
38+
1639 handleSaveButtonClick ( e ) {
1740 ipc . send ( 'hotkeyUpdated' , {
1841 toggleFinder : this . state . toggleFinder
1942 } )
2043 }
2144
2245 render ( ) {
46+ let alert = this . state . alert
47+ let alertElement = alert != null ? (
48+ < p className = { `alert ${ alert . type } ` } >
49+ { alert . message }
50+ </ p >
51+ ) : null
52+
2353 return (
2454 < div className = 'AppSettingTab content' >
2555 < div className = 'section' >
@@ -30,6 +60,7 @@ export default class AppSettingTab extends React.Component {
3060 </ div >
3161 < div className = 'sectionConfirm' >
3262 < button onClick = { e => this . handleSaveButtonClick ( e ) } > Save</ button >
63+ { alertElement }
3364 </ div >
3465 < div className = 'description' >
3566 < ul >
0 commit comments