Skip to content

Commit ffe3247

Browse files
committed
export zoom factor to frontend
1 parent 3e0c425 commit ffe3247

4 files changed

Lines changed: 12 additions & 0 deletions

File tree

emain/emain-tabview.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ export class WaveTabView extends WebContentsView {
8383
removeWaveTabView(this.waveTabId);
8484
this.isDestroyed = true;
8585
});
86+
this.webContents.on("zoom-changed", (_event, zoomDirection) => {
87+
this.webContents.send("zoom-factor-change", this.webContents.getZoomFactor());
88+
});
8689
this.setBackgroundColor(computeBgColor(fullConfig));
8790
}
8891

emain/emain.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,10 @@ electron.ipcMain.on("get-about-modal-details", (event) => {
280280
event.returnValue = getWaveVersion() as AboutModalDetails;
281281
});
282282

283+
electron.ipcMain.on("get-zoom-factor", (event) => {
284+
event.returnValue = event.sender.getZoomFactor();
285+
});
286+
283287
const hasBeforeInputRegisteredMap = new Map<number, boolean>();
284288

285289
electron.ipcMain.on("webview-focus", (event: Electron.IpcMainEvent, focusedId: number) => {

emain/preload.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ contextBridge.exposeInMainWorld("api", {
1515
getAboutModalDetails: () => ipcRenderer.sendSync("get-about-modal-details"),
1616
getDocsiteUrl: () => ipcRenderer.sendSync("get-docsite-url"),
1717
getWebviewPreload: () => ipcRenderer.sendSync("get-webview-preload"),
18+
getZoomFactor: () => ipcRenderer.sendSync("get-zoom-factor"),
1819
openNewWindow: () => ipcRenderer.send("open-new-window"),
1920
showContextMenu: (workspaceId, menu) => ipcRenderer.send("contextmenu-show", workspaceId, menu),
2021
onContextMenuClick: (callback) => ipcRenderer.on("contextmenu-click", (_event, id) => callback(id)),
@@ -29,6 +30,8 @@ contextBridge.exposeInMainWorld("api", {
2930
getEnv: (varName) => ipcRenderer.sendSync("get-env", varName),
3031
onFullScreenChange: (callback) =>
3132
ipcRenderer.on("fullscreen-change", (_event, isFullScreen) => callback(isFullScreen)),
33+
onZoomFactorChange: (callback) =>
34+
ipcRenderer.on("zoom-factor-change", (_event, zoomFactor) => callback(zoomFactor)),
3235
onUpdaterStatusChange: (callback) => ipcRenderer.on("app-update-status", (_event, status) => callback(status)),
3336
getUpdaterStatus: () => ipcRenderer.sendSync("get-app-update-status"),
3437
getUpdaterChannel: () => ipcRenderer.sendSync("get-updater-channel"),

frontend/types/custom.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,15 @@ declare global {
7474
getWebviewPreload: () => string; // get-webview-preload
7575
getAboutModalDetails: () => AboutModalDetails; // get-about-modal-details
7676
getDocsiteUrl: () => string; // get-docsite-url
77+
getZoomFactor: () => number; // get-zoom-factor
7778
showContextMenu: (workspaceId: string, menu?: ElectronContextMenuItem[]) => void; // contextmenu-show
7879
onContextMenuClick: (callback: (id: string) => void) => void; // contextmenu-click
7980
onNavigate: (callback: (url: string) => void) => void;
8081
onIframeNavigate: (callback: (url: string) => void) => void;
8182
downloadFile: (path: string) => void; // download
8283
openExternal: (url: string) => void; // open-external
8384
onFullScreenChange: (callback: (isFullScreen: boolean) => void) => void; // fullscreen-change
85+
onZoomFactorChange: (callback: (zoomFactor: number) => void) => void; // zoom-factor-change
8486
onUpdaterStatusChange: (callback: (status: UpdaterStatus) => void) => void; // app-update-status
8587
getUpdaterStatus: () => UpdaterStatus; // get-app-update-status
8688
getUpdaterChannel: () => string; // get-updater-channel

0 commit comments

Comments
 (0)