From 278cae75c2fea34e0290b693d9c6fb7da5cf026b Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Thu, 23 Jun 2022 20:29:40 +1000 Subject: Make default settings screen-size dependent Also, only save settings when the user has made a change. --- src/components/SettingsModal.vue | 26 ++++++++++++++++++++------ src/components/Tile.vue | 1 + 2 files changed, 21 insertions(+), 6 deletions(-) (limited to 'src/components') diff --git a/src/components/SettingsModal.vue b/src/components/SettingsModal.vue index e95dc34..c4f896d 100644 --- a/src/components/SettingsModal.vue +++ b/src/components/SettingsModal.vue @@ -10,15 +10,26 @@ export default defineComponent({ lytOpts: {type: Object as PropType, required: true}, uiOpts: {type: Object, required: true}, }, + data(){ + return { + optChgd: false, + }; + }, methods: { onCloseClick(evt: Event){ if (evt.target == this.$el || (this.$refs.closeIcon as typeof CloseIcon).$el.contains(evt.target)){ - this.saveSettings(); + if (this.optChgd){ + this.saveSettings(); + } this.$emit('close'); } }, + onOptChg(){ + this.optChgd = true; + }, onLytOptChg(){ this.$emit('layout-setting-chg'); + this.onOptChg(); }, onMinTileSzChg(){ let minInput = this.$refs.minTileSzInput as HTMLInputElement; @@ -38,6 +49,7 @@ export default defineComponent({ }, onTreeChg(){ this.$emit('tree-chg'); + this.onOptChg(); }, saveSettings(){ const savedLytOpts = ['tileSpacing', 'minTileSz', 'maxTileSz', 'layoutType', 'sweepMode', 'sweepToParent', ]; @@ -52,6 +64,7 @@ export default defineComponent({ }, onReset(){ localStorage.clear(); + this.optChgd = false; this.$emit('reset'); console.log('Settings reset'); }, @@ -71,21 +84,21 @@ export default defineComponent({
+ v-model.number="lytOpts.tileSpacing" @change="onLytOptChg"/>


@@ -149,11 +162,12 @@ export default defineComponent({
+ v-model.number="uiOpts.tileChgDuration" @change="onOptChg"/>

- +

diff --git a/src/components/Tile.vue b/src/components/Tile.vue index 7b412b2..3054d46 100644 --- a/src/components/Tile.vue +++ b/src/components/Tile.vue @@ -242,6 +242,7 @@ export default defineComponent({ fontSize: this.uiOpts.nonleafHeaderFontSz + 'px', textAlign: 'center', color: this.uiOpts.nonleafHeaderColor, + paddingLeft: '5px', // For ellipsis overflow: 'hidden', textOverflow: 'ellipsis', -- cgit v1.2.3