-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
26 lines (21 loc) · 1.09 KB
/
Copy pathpreload.js
File metadata and controls
26 lines (21 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('electronAPI', {
// App info
getVersion: () => ipcRenderer.invoke('get-version'),
// Settings
saveSettings: (settings) => ipcRenderer.invoke('save-settings', settings),
loadSettings: () => ipcRenderer.invoke('load-settings'),
// File operations
onFileOpened: (callback) => ipcRenderer.on('file-opened', callback),
reloadWithEncoding: (data) => ipcRenderer.invoke('reload-with-encoding', data),
showOpenDialog: () => ipcRenderer.send('show-open-dialog'),
// Menu actions
onNewTab: (callback) => ipcRenderer.on('new-tab', callback),
onCloseTab: (callback) => ipcRenderer.on('close-tab', callback),
onToggleSettings: (callback) => ipcRenderer.on('toggle-settings', callback),
onToggleSearch: (callback) => ipcRenderer.on('toggle-search', callback),
onExpandAll: (callback) => ipcRenderer.on('expand-all', callback),
onCollapseAll: (callback) => ipcRenderer.on('collapse-all', callback),
// Remove listeners
removeAllListeners: (channel) => ipcRenderer.removeAllListeners(channel)
});