Subscribe to theme change in settings
This commit is contained in:
parent
64fc234490
commit
bdf1287403
8 changed files with 50 additions and 13 deletions
25
ts/windows/waitForSettingsChange.ts
Normal file
25
ts/windows/waitForSettingsChange.ts
Normal file
|
@ -0,0 +1,25 @@
|
|||
// Copyright 2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { ipcRenderer as ipc } from 'electron';
|
||||
|
||||
import { explodePromise } from '../util/explodePromise';
|
||||
|
||||
let preferencesChangeResolvers = new Array<() => void>();
|
||||
|
||||
ipc.on('preferences-changed', _event => {
|
||||
const resolvers = preferencesChangeResolvers;
|
||||
preferencesChangeResolvers = [];
|
||||
|
||||
for (const resolve of resolvers) {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
|
||||
export function waitForSettingsChange(): Promise<void> {
|
||||
const { promise, resolve } = explodePromise<void>();
|
||||
|
||||
preferencesChangeResolvers.push(resolve);
|
||||
|
||||
return promise;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue