1
1
const path = require ( 'path' ) ;
2
2
3
3
const {
4
- app,
5
- BrowserWindow,
6
- Menu,
7
- shell,
8
- dialog,
9
- ipcMain
10
- } = require ( "electron" ) ;
4
+ app, BrowserWindow, Menu, shell, dialog, ipcMain,
5
+ } = require ( 'electron' ) ;
11
6
12
7
// Uncomment below for hot reloading during development
13
- < << << << HEAD
14
- require ( "electron-reload" ) ( __dirname ) ;
15
- = === ===
16
8
// require('electron-reload')(__dirname);
17
- >>> >>> > 11e0643 d114b6c294dc2b66c3fd4727ffb173825
18
9
19
10
// const isDev = true;
20
- const isDev =
21
- process . env . NODE_ENV === "development" || process . env . NODE_ENV === "test" ;
11
+ const isDev = process . env . NODE_ENV === 'development' || process . env . NODE_ENV === 'test' ;
22
12
23
13
// Keep a global reference of the window object, if you don't, the window will
24
14
// be closed automatically when the JavaScript object is garbage collected.
@@ -28,53 +18,53 @@ let mainWindow;
28
18
function openFile ( ) {
29
19
// Opens file dialog looking for markdown
30
20
const files = dialog . showOpenDialog ( mainWindow , {
31
- properties : [ " openFile" ] ,
21
+ properties : [ ' openFile' ] ,
32
22
filters : [
33
23
{
34
- name : " Images" ,
35
- extensions : [ " jpeg" , " jpg" , " png" , " gif" , " pdf" ]
36
- }
37
- ]
24
+ name : ' Images' ,
25
+ extensions : [ ' jpeg' , ' jpg' , ' png' , ' gif' , ' pdf' ] ,
26
+ } ,
27
+ ] ,
38
28
} ) ;
39
29
40
30
// if no files
41
31
if ( ! files ) return ;
42
32
const file = files [ 0 ] ;
43
33
44
34
// Send fileContent to renderer
45
- mainWindow . webContents . send ( " new-file" , file ) ;
35
+ mainWindow . webContents . send ( ' new-file' , file ) ;
46
36
}
47
37
48
38
// Choose directory
49
- ipcMain . on ( " choose_app_dir" , event => {
39
+ ipcMain . on ( ' choose_app_dir' , ( event ) => {
50
40
const directory = dialog . showOpenDialog ( mainWindow , {
51
- properties : [ " openDirectory" ] ,
52
- buttonLabel : " Export"
41
+ properties : [ ' openDirectory' ] ,
42
+ buttonLabel : ' Export' ,
53
43
} ) ;
54
44
55
45
if ( ! directory ) return ;
56
- event . sender . send ( " app_dir_selected" , directory [ 0 ] ) ;
46
+ event . sender . send ( ' app_dir_selected' , directory [ 0 ] ) ;
57
47
} ) ;
58
48
59
- ipcMain . on ( " view_app_dir" , ( event , appDir ) => {
49
+ ipcMain . on ( ' view_app_dir' , ( event , appDir ) => {
60
50
shell . openItem ( appDir ) ;
61
51
} ) ;
62
52
63
53
// Update file
64
- ipcMain . on ( " update-file" , ( ) => {
54
+ ipcMain . on ( ' update-file' , ( ) => {
65
55
openFile ( ) ;
66
56
} ) ;
67
57
68
58
const createWindow = ( ) => {
69
59
// Create the browser window.
70
60
// eslint-disable-next-line
71
- const { width, height } = require ( " electron" ) . screen . getPrimaryDisplay ( ) . size ;
61
+ const { width, height } = require ( ' electron' ) . screen . getPrimaryDisplay ( ) . size ;
72
62
mainWindow = new BrowserWindow ( {
73
63
width,
74
64
height,
75
65
webPreferences : {
76
66
zoomFactor : 0.7 ,
77
- " node-Integration" : false
67
+ ' node-Integration' : false ,
78
68
} ,
79
69
show : false ,
80
70
icon : path . join ( __dirname , '/src/public/icons/mac/icon.icns' ) ,
@@ -87,22 +77,22 @@ const createWindow = () => {
87
77
// and load the index.html of the app.
88
78
mainWindow . loadURL ( `file://${ __dirname } /build/index.html` ) ;
89
79
// load page once window is loaded
90
- mainWindow . once ( " ready-to-show" , ( ) => {
80
+ mainWindow . once ( ' ready-to-show' , ( ) => {
91
81
mainWindow . show ( ) ;
92
82
} ) ;
93
83
94
84
const template = [
95
85
{
96
- label : " File" ,
86
+ label : ' File' ,
97
87
submenu : [
98
88
{
99
- label : " Open File" ,
100
- accelerator : process . platform === " darwin" ? " Cmd+O" : " Ctrl+Shift+O" ,
89
+ label : ' Open File' ,
90
+ accelerator : process . platform === ' darwin' ? ' Cmd+O' : ' Ctrl+Shift+O' ,
101
91
click ( ) {
102
92
openFile ( ) ;
103
- }
104
- }
105
- ]
93
+ } ,
94
+ } ,
95
+ ] ,
106
96
} ,
107
97
// {
108
98
// label: 'Edit',
@@ -119,90 +109,89 @@ const createWindow = () => {
119
109
// ],
120
110
// },
121
111
{
122
- label : " View" ,
112
+ label : ' View' ,
123
113
submenu : [
124
- { role : " reload" } ,
125
- { role : " forcereload" } ,
126
- { type : " separator" } ,
127
- { role : " resetzoom" } ,
128
- { role : " zoomin" } ,
129
- { role : " zoomout" } ,
130
- { type : " separator" } ,
131
- { role : " togglefullscreen" }
132
- ]
114
+ { role : ' reload' } ,
115
+ { role : ' forcereload' } ,
116
+ { type : ' separator' } ,
117
+ { role : ' resetzoom' } ,
118
+ { role : ' zoomin' } ,
119
+ { role : ' zoomout' } ,
120
+ { type : ' separator' } ,
121
+ { role : ' togglefullscreen' } ,
122
+ ] ,
133
123
} ,
134
124
{
135
- role : " window" ,
136
- submenu : [ { role : " minimize" } , { role : " close" } ]
125
+ role : ' window' ,
126
+ submenu : [ { role : ' minimize' } , { role : ' close' } ] ,
137
127
} ,
138
128
{
139
- role : " help" ,
129
+ role : ' help' ,
140
130
submenu : [
141
131
{
142
- label : " Learn More" ,
132
+ label : ' Learn More' ,
143
133
click ( ) {
144
- shell . openExternal ( " https://electronjs.org" ) ;
145
- }
146
- }
147
- ]
134
+ shell . openExternal ( ' https://electronjs.org' ) ;
135
+ } ,
136
+ } ,
137
+ ] ,
148
138
} ,
149
139
{
150
- label : " Developer" ,
140
+ label : ' Developer' ,
151
141
submenu : [
152
142
{
153
- label : "Toggle Developer Tools" ,
154
- accelerator :
155
- process . platform === "darwin" ? "Alt+Command+I" : "Ctrl+Shift+I" ,
143
+ label : 'Toggle Developer Tools' ,
144
+ accelerator : process . platform === 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I' ,
156
145
click ( ) {
157
146
mainWindow . webContents . toggleDevTools ( ) ;
158
- }
159
- }
160
- ]
161
- }
147
+ } ,
148
+ } ,
149
+ ] ,
150
+ } ,
162
151
] ;
163
152
164
- if ( process . platform === " darwin" ) {
153
+ if ( process . platform === ' darwin' ) {
165
154
template . unshift ( {
166
155
label : app . getName ( ) ,
167
156
submenu : [
168
- { role : " about" } ,
169
- { type : " separator" } ,
170
- { role : " services" , submenu : [ ] } ,
171
- { type : " separator" } ,
172
- { role : " hide" } ,
173
- { role : " hideothers" } ,
174
- { role : " unhide" } ,
175
- { type : " separator" } ,
176
- { role : " quit" }
177
- ]
157
+ { role : ' about' } ,
158
+ { type : ' separator' } ,
159
+ { role : ' services' , submenu : [ ] } ,
160
+ { type : ' separator' } ,
161
+ { role : ' hide' } ,
162
+ { role : ' hideothers' } ,
163
+ { role : ' unhide' } ,
164
+ { type : ' separator' } ,
165
+ { role : ' quit' } ,
166
+ ] ,
178
167
} ) ;
179
168
180
169
// Edit menu
181
170
template [ 2 ] . submenu . push (
182
171
{
183
- type : " separator"
172
+ type : ' separator' ,
184
173
} ,
185
174
{
186
- label : " Speech" ,
187
- submenu : [ { role : " startspeaking" } , { role : " stopspeaking" } ]
188
- }
175
+ label : ' Speech' ,
176
+ submenu : [ { role : ' startspeaking' } , { role : ' stopspeaking' } ] ,
177
+ } ,
189
178
) ;
190
179
191
180
// Window menu
192
181
template [ 4 ] . submenu = [
193
- { role : " close" } ,
194
- { role : " minimize" } ,
195
- { role : " zoom" } ,
196
- { type : " separator" } ,
197
- { role : " front" }
182
+ { role : ' close' } ,
183
+ { role : ' minimize' } ,
184
+ { role : ' zoom' } ,
185
+ { type : ' separator' } ,
186
+ { role : ' front' } ,
198
187
] ;
199
188
}
200
189
201
190
const menu = Menu . buildFromTemplate ( template ) ;
202
191
Menu . setApplicationMenu ( menu ) ;
203
192
204
193
// Emitted when the window is closed.
205
- mainWindow . on ( " closed" , ( ) => {
194
+ mainWindow . on ( ' closed' , ( ) => {
206
195
// Dereference the window object, usually you would store windows
207
196
// in an array if your app supports multi windows, this is the time
208
197
// when you should delete the corresponding element.
@@ -213,13 +202,13 @@ const createWindow = () => {
213
202
// This method will be called when Electron has finished
214
203
// initialization and is ready to create browser windows.
215
204
// Some APIs can only be used after this event occurs.
216
- app . on ( " ready" , ( ) => {
205
+ app . on ( ' ready' , ( ) => {
217
206
if ( isDev ) {
218
207
const {
219
208
default : installExtension ,
220
209
REACT_DEVELOPER_TOOLS ,
221
- REDUX_DEVTOOLS
222
- } = require ( " electron-devtools-installer" ) ;
210
+ REDUX_DEVTOOLS ,
211
+ } = require ( ' electron-devtools-installer' ) ;
223
212
224
213
installExtension ( [ REACT_DEVELOPER_TOOLS , REDUX_DEVTOOLS ] )
225
214
. then ( ( ) => {
@@ -232,15 +221,15 @@ app.on("ready", () => {
232
221
} ) ;
233
222
234
223
// Quit when all windows are closed.
235
- app . on ( " window-all-closed" , ( ) => {
224
+ app . on ( ' window-all-closed' , ( ) => {
236
225
// On OS X it is common for applications and their menu bar
237
226
// to stay active until the user quits explicitly with Cmd + Q
238
- if ( process . platform !== " darwin" ) {
227
+ if ( process . platform !== ' darwin' ) {
239
228
app . quit ( ) ;
240
229
}
241
230
} ) ;
242
231
243
- app . on ( " activate" , ( ) => {
232
+ app . on ( ' activate' , ( ) => {
244
233
// On OS X it's common to re-create a window in the app when the
245
234
// dock icon is clicked and there are no other windows open.
246
235
if ( mainWindow === null ) {
0 commit comments