d4fe5dfa32
* refactor: update zoom handling in IPC and settings * renamed zoom-related IPC channels for clarity * refactored zoom handling logic in ipc.ts and ShortcutService * removed unused zoom factor state management from settings * updated DisplaySettings component to manage zoom via buttons * localized zoom settings in multiple languages * refactor: remove unused zoom factor state from settings * eliminated the zoomFactor state from initialSettings as part of the zoom handling refactor * refactor: improve zoom handling in DisplaySettings component * initialized current zoom value on component mount * refactored resize event listener to prevent memory leaks * added cleanup for resize event listener to enhance performance * refactor: enhance resize event handling in DisplaySettings component * added logic to track previous window width to prevent unnecessary updates during resize events * improved comments for clarity on zoom handling and resize event listener functionality * refactor: streamline zoom handling across IPC and ShortcutService * updated handleZoomFactor function to accept an array of BrowserWindows for batch processing * simplified zoom factor adjustments in IPC and shortcut handlers * removed unnecessary window destruction checks for improved performance
27 lines
681 B
TypeScript
27 lines
681 B
TypeScript
import { BrowserWindow } from 'electron'
|
|
|
|
import { configManager } from '../services/ConfigManager'
|
|
|
|
export function handleZoomFactor(wins: BrowserWindow[], delta: number, reset: boolean = false) {
|
|
if (reset) {
|
|
wins.forEach((win) => {
|
|
win.webContents.setZoomFactor(1)
|
|
})
|
|
configManager.setZoomFactor(1)
|
|
return
|
|
}
|
|
|
|
if (delta === 0) {
|
|
return
|
|
}
|
|
|
|
const currentZoom = configManager.getZoomFactor()
|
|
const newZoom = Number((currentZoom + delta).toFixed(1))
|
|
if (newZoom >= 0.5 && newZoom <= 2.0) {
|
|
wins.forEach((win) => {
|
|
win.webContents.setZoomFactor(newZoom)
|
|
})
|
|
configManager.setZoomFactor(newZoom)
|
|
}
|
|
}
|