diff --git a/packages/web/src/forms/FormCheckboxField.svelte b/packages/web/src/forms/FormCheckboxField.svelte index 1643e48ed..48682428b 100644 --- a/packages/web/src/forms/FormCheckboxField.svelte +++ b/packages/web/src/forms/FormCheckboxField.svelte @@ -1,6 +1,7 @@ setFieldValue(name, !$values[name]) }} + labelProps={disabled + ? { disabled: true } + : { + onClick: () => { + setFieldValue(name, !$values[name]); + dispatch('change'); + }, + }} > - + diff --git a/packages/web/src/forms/FormCheckboxFieldRaw.svelte b/packages/web/src/forms/FormCheckboxFieldRaw.svelte index ad9ffcae6..4df086de8 100644 --- a/packages/web/src/forms/FormCheckboxFieldRaw.svelte +++ b/packages/web/src/forms/FormCheckboxFieldRaw.svelte @@ -11,4 +11,4 @@ } - + diff --git a/packages/web/src/settings/SettingsModal.svelte b/packages/web/src/settings/SettingsModal.svelte index a4ea0444d..818e78c46 100644 --- a/packages/web/src/settings/SettingsModal.svelte +++ b/packages/web/src/settings/SettingsModal.svelte @@ -6,13 +6,15 @@ import FormTextField from '../forms/FormTextField.svelte'; import FormValues from '../forms/FormValues.svelte'; import SettingsFormProvider from '../forms/SettingsFormProvider.svelte'; - + import FontIcon from '../icons/FontIcon.svelte'; + import ModalBase from '../modals/ModalBase.svelte'; import { closeCurrentModal } from '../modals/modalTools'; import getElectron from '../utility/getElectron'; import { showSnackbarInfo } from '../utility/snackbar'; const electron = getElectron(); + let restartWarning = false; @@ -25,8 +27,15 @@ showSnackbarInfo('Native menu settings will be applied after app restart')} + on:change={() => { + restartWarning = true; + }} /> + {#if restartWarning} +
+ Native menu settings will be applied after app restart +
+ {/if} {/if}
Data grid
diff --git a/packages/web/src/stores.ts b/packages/web/src/stores.ts index 6de479210..19a676ac1 100644 --- a/packages/web/src/stores.ts +++ b/packages/web/src/stores.ts @@ -76,12 +76,16 @@ export const currentThemeDefinition = derived([currentTheme, extensions], ([$cur $extensions.themes.find(x => x.themeClassName == $currentTheme) ); +let nativeMenuOnStartup = null; export const visibleTitleBar = derived(useSettings(), $settings => { const electron = getElectron(); if (!electron) return false; // console.log('visibleTitleBar:settings', $settings); if (!$settings) return false; - return !$settings['app.fullscreen'] && !$settings['app.useNativeMenu']; + if (nativeMenuOnStartup == null) { + nativeMenuOnStartup = !!$settings['app.useNativeMenu']; + } + return !$settings['app.fullscreen'] && !nativeMenuOnStartup; }); export const visibleHamburgerMenuWidget = derived(useSettings(), $settings => {