From 175bf85531e1b571429292c3c0d7ddb8f7591ecf Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Mon, 27 Jul 2020 10:08:17 +0200 Subject: [PATCH] Save zenMode in settings That way we don't need to toggle it each time. Maybe it would be nice to have this exposed via the settings as well, per editor. So I could enable it / disable it per editor. --- lib/editors/scaffold.dart | 15 +++++++++------ lib/settings.dart | 6 ++++++ 2 files changed, 15 insertions(+), 6 deletions(-) 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(), }; }