2024-09-13 19:38:29 +08:00
|
|
|
import { BrowserWindow, ipcMain } from 'electron'
|
2024-09-12 19:11:46 +08:00
|
|
|
import { initControlWindow, openControlWindow } from './helpers/index.js'
|
|
|
|
|
2024-09-13 19:38:29 +08:00
|
|
|
import { devices, gnirehtet, rotation, volume } from './events/index.js'
|
|
|
|
|
|
|
|
function onControlMounted(controlWindow) {
|
|
|
|
ipcMain.on('language-change', (event, data) => {
|
|
|
|
controlWindow.webContents.send('language-change', data)
|
|
|
|
})
|
|
|
|
|
|
|
|
ipcMain.on('theme-change', (event, data) => {
|
|
|
|
controlWindow.webContents.send('theme-change', data)
|
|
|
|
})
|
|
|
|
|
|
|
|
rotation(controlWindow)
|
|
|
|
devices(controlWindow)
|
|
|
|
volume(controlWindow)
|
|
|
|
gnirehtet(controlWindow)
|
|
|
|
}
|
|
|
|
|
2024-09-12 19:11:46 +08:00
|
|
|
export default (mainWindow) => {
|
|
|
|
let controlWindow
|
|
|
|
|
2024-09-13 19:38:29 +08:00
|
|
|
ipcMain.handle('open-control-window', (event, data) => {
|
2024-09-12 19:11:46 +08:00
|
|
|
controlWindow = BrowserWindow.getAllWindows().find(
|
|
|
|
win => win.customId === 'control',
|
|
|
|
)
|
|
|
|
|
|
|
|
if (controlWindow) {
|
2024-09-13 19:38:29 +08:00
|
|
|
openControlWindow(controlWindow, data)
|
|
|
|
return false
|
2024-09-12 19:11:46 +08:00
|
|
|
}
|
|
|
|
|
2024-09-13 19:38:29 +08:00
|
|
|
controlWindow = initControlWindow(mainWindow)
|
2024-09-12 19:11:46 +08:00
|
|
|
|
2024-09-13 19:38:29 +08:00
|
|
|
ipcMain.on('control-mounted', () => {
|
|
|
|
openControlWindow(controlWindow, data)
|
2024-09-16 15:33:24 +08:00
|
|
|
onControlMounted(controlWindow)
|
2024-09-12 19:11:46 +08:00
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|