Manually store the zoom factor

This commit is contained in:
jliddev
2020-12-28 10:01:24 -06:00
parent 796942546f
commit 4b87bf3a67
3 changed files with 13 additions and 1 deletions

View File

@@ -14,6 +14,7 @@ import {
DEFAULT_THEME,
HORDE_LIGHT_THEME,
HORDE_THEME,
ZOOM_FACTOR_KEY,
} from "../common/constants";
import { SystemTrayConfig } from "../common/wowup/system-tray-config";
import { TelemetryDialogComponent } from "./components/telemetry-dialog/telemetry-dialog.component";
@@ -27,6 +28,7 @@ import { SessionService } from "./services/session/session.service";
import { getZoomDirection } from "./utils/zoom.utils";
import { Addon } from "./entities/addon";
import { AppConfig } from "../environments/environment";
import { PreferenceStorageService } from "./services/storage/preference-storage.service";
@Component({
selector: "app-root",
@@ -56,11 +58,17 @@ export class AppComponent implements OnInit, AfterViewInit {
private _addonService: AddonService,
private _iconService: IconService,
private _sessionService: SessionService,
private _preferenceStore: PreferenceStorageService,
public overlayContainer: OverlayContainer,
public wowUpService: WowUpService
) {}
ngOnInit(): void {
const zoomFactor = parseFloat(this._preferenceStore.get(ZOOM_FACTOR_KEY) as string);
if (!isNaN(zoomFactor) && isFinite(zoomFactor)) {
this._electronService.setZoomFactor(zoomFactor);
}
this.overlayContainer.getContainerElement().classList.add(this.wowUpService.currentTheme);
this.wowUpService.preferenceChange$.pipe(filter((pref) => pref.key === CURRENT_THEME_KEY)).subscribe((pref) => {

View File

@@ -5,6 +5,7 @@ import {
APP_UPDATE_CHECK_START,
APP_UPDATE_DOWNLOADED,
APP_UPDATE_START_DOWNLOAD,
ZOOM_FACTOR_KEY,
} from "../../../common/constants";
import * as minimist from "minimist";
// If you import a module but never use any of the imported values other than as TypeScript types,
@@ -19,6 +20,7 @@ import { ValueRequest } from "../../../common/models/value-request";
import { ValueResponse } from "../../../common/models/value-response";
import { AppOptions } from "../../../common/wowup/app-options";
import { ZoomDirection, ZOOM_SCALE } from "../../utils/zoom.utils";
import { PreferenceStorageService } from "../storage/preference-storage.service";
@Injectable({
providedIn: "root",
@@ -62,7 +64,7 @@ export class ElectronService {
this.remote.app.setLoginItemSettings(settings);
}
constructor() {
constructor(private _preferenceStorageService: PreferenceStorageService) {
// Conditional imports
if (!this.isElectron) {
return;
@@ -241,6 +243,7 @@ export class ElectronService {
const currentWindow = this.remote.getCurrentWindow();
currentWindow.webContents.zoomFactor = zoomFactor;
this._zoomFactorChangeSrc.next(zoomFactor);
this._preferenceStorageService.set(ZOOM_FACTOR_KEY, zoomFactor);
};
public getZoomFactor(): number {

View File

@@ -47,6 +47,7 @@ export const ADDON_PROVIDERS_KEY = "addon_providers";
export const CURRENT_THEME_KEY = "current_theme";
export const TELEMETRY_ENABLED_KEY = "telemetry_enabled";
export const BLIZZARD_AGENT_PATH_KEY = "blizzard_agent_path";
export const ZOOM_FACTOR_KEY = "zoom_factor";
// APP UPDATER
export const APP_UPDATE_ERROR = "app-update-error";