From 4f57b70e0f6f885c8a8b6f5d5d1eea94db51561e Mon Sep 17 00:00:00 2001 From: Raphael Forment Date: Mon, 31 Jul 2023 17:14:41 +0200 Subject: [PATCH] fix bug with font size --- src/AppSettings.ts | 8 +++++++- src/main.ts | 14 +++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/AppSettings.ts b/src/AppSettings.ts index bf283fe..d4c7bfe 100644 --- a/src/AppSettings.ts +++ b/src/AppSettings.ts @@ -20,6 +20,7 @@ export interface Settings { font: string font_size: number universes: Universes + selected_universe: string } export const template_universe = { @@ -65,6 +66,7 @@ export class AppSettings { public font: string = "SpaceMono" public font_size: number = 22 public universes: Universes + public selected_universe: string = "Default" constructor() { @@ -75,7 +77,9 @@ export class AppSettings { this.vimMode = settingsFromStorage.vimMode this.theme = settingsFromStorage.theme this.font = settingsFromStorage.font + this.font_size = settingsFromStorage.font_size this.universes = settingsFromStorage.universes + this.selected_universe = settingsFromStorage.selected_universe } else { this.universes = template_universes } @@ -89,7 +93,8 @@ export class AppSettings { theme: this.theme, font: this.font, font_size: this.font_size, - universes: this.universes + universes: this.universes, + selected_universe: this.selected_universe } } @@ -98,6 +103,7 @@ export class AppSettings { this.vimMode = settings.vimMode; this.font = settings.font; this.font_size = settings.font_size; + this.selected_universe = settings.selected_universe; localStorage.setItem('topos', JSON.stringify(this.data)) } } \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index a3bced0..114ce0f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -106,7 +106,7 @@ export class Editor { // Loading the universe from local storage // ================================================================================ - this.selected_universe = "Default"; + this.selected_universe = this.settings.selected_universe; this.universe_viewer.innerHTML = `Topos: ${this.selected_universe}`; this.universes = { ...template_universes, ...this.settings.universes }; @@ -127,6 +127,8 @@ export class Editor { // CodeMirror Management // ================================================================================ + console.log(this.settings) + this.fontSize = new Compartment(); this.vimModeCompartment = new Compartment(); const vimPlugin = this.settings.vimMode ? vim() : []; @@ -320,9 +322,9 @@ export class Editor { ); this.settings_button.addEventListener("click", () => { - // Query the current font size and set the slider to that value - let font_size_witness = document.getElementById("font-size-witness"); - font_size_witness?.setAttribute('style', `font-size: ${this.settings.font_size}px;`) + this.font_size_slider.value = this.settings.font_size.toString(); + this.font_size_witness.innerHTML = `Font Size: ${this.settings.font_size}px` + this.font_size_witness?.setAttribute('style', `font-size: ${this.settings.font_size}px;`) let modal_settings = document.getElementById('modal-settings'); let editor = document.getElementById('editor'); modal_settings?.classList.remove('invisible') @@ -338,6 +340,7 @@ export class Editor { this.font_size_slider.addEventListener("input", () => { const new_value = this.font_size_slider.value; + this.settings.font_size = parseInt(new_value); this.font_size_witness.style.fontSize = `${new_value}px`; this.font_size_witness.innerHTML = `Font Size: ${new_value}px`; @@ -367,6 +370,7 @@ export class Editor { let query = this.buffer_search.value; if (query.length > 2 && query.length < 20) { this.loadUniverse(query); + this.settings.selected_universe = query; this.buffer_search.value = ""; this.closeBuffersModal(); // Focus on the editor @@ -529,7 +533,7 @@ export class Editor { if (this.universes[selectedUniverse] === undefined) { this.universes[selectedUniverse] = template_universe; } - this.selected_universe = selectedUniverse; + this.selected_universe = this.settings.selected_universe; this.universe_viewer.innerHTML = `Topos: ${selectedUniverse}`; // We should also update the editor accordingly this.view.dispatch({