diff --git a/lib/editors/scaffold.dart b/lib/editors/scaffold.dart index 4e793e5a..4b450a4e 100644 --- a/lib/editors/scaffold.dart +++ b/lib/editors/scaffold.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:gitjournal/core/notes_folder_fs.dart'; import 'package:gitjournal/editors/common.dart'; +import 'package:gitjournal/settings.dart'; class EditorScaffold extends StatefulWidget { final Editor editor; @@ -27,13 +28,13 @@ class EditorScaffold extends StatefulWidget { } class _EditorScaffoldState extends State { - var zenMode = false; var hideUIElements = false; @override void initState() { super.initState(); + hideUIElements = Settings.instance.zenMode; widget.editorState.addListener(_editorChanged); } @@ -45,7 +46,7 @@ class _EditorScaffoldState extends State { } void _editorChanged() { - if (zenMode && !hideUIElements) { + if (Settings.instance.zenMode && !hideUIElements) { setState(() { hideUIElements = true; }); @@ -71,7 +72,7 @@ class _EditorScaffoldState extends State { child: GestureDetector( child: widget.body, onTap: () { - if (zenMode) { + if (Settings.instance.zenMode) { setState(() { hideUIElements = false; }); @@ -88,11 +89,13 @@ class _EditorScaffoldState extends State { editorState: widget.editorState, parentFolder: widget.parentFolder, allowEdits: widget.allowEdits, - zenMode: zenMode, + zenMode: Settings.instance.zenMode, onZenModeChanged: () { setState(() { - zenMode = !zenMode; - if (zenMode) { + Settings.instance.zenMode = !Settings.instance.zenMode; + Settings.instance.save(); + + if (Settings.instance.zenMode) { hideUIElements = true; } }); diff --git a/lib/settings.dart b/lib/settings.dart index 2e01a796..8710e3b8 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -52,6 +52,8 @@ class Settings { bool experimentalBacklinks = true; bool experimentalFs = false; + bool zenMode = false; + void load(SharedPreferences pref) { gitAuthor = pref.getString("gitAuthor") ?? gitAuthor; gitAuthorEmail = pref.getString("gitAuthorEmail") ?? gitAuthorEmail; @@ -114,6 +116,8 @@ class Settings { experimentalBacklinks = pref.getBool("experimentalBacklinks") ?? experimentalBacklinks; experimentalFs = pref.getBool("experimentalFs") ?? experimentalFs; + + zenMode = pref.getBool("zenMode") ?? zenMode; } Future save() async { @@ -179,6 +183,7 @@ class Settings { _setBool(pref, "experimentalBacklinks", experimentalBacklinks, defaultSet.experimentalBacklinks); _setBool(pref, "experimentalFs", experimentalFs, defaultSet.experimentalFs); + _setBool(pref, "zenMode", zenMode, defaultSet.zenMode); pref.setInt("settingsVersion", version); } @@ -238,6 +243,7 @@ class Settings { 'debugLogLevel': debugLogLevel, 'experimentalBacklinks': experimentalBacklinks.toString(), 'experimentalFs': experimentalFs.toString(), + 'zenMode': zenMode.toString(), }; }