mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-28 18:03:14 +08:00
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.
This commit is contained in:
@ -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<EditorScaffold> {
|
||||
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<EditorScaffold> {
|
||||
}
|
||||
|
||||
void _editorChanged() {
|
||||
if (zenMode && !hideUIElements) {
|
||||
if (Settings.instance.zenMode && !hideUIElements) {
|
||||
setState(() {
|
||||
hideUIElements = true;
|
||||
});
|
||||
@ -71,7 +72,7 @@ class _EditorScaffoldState extends State<EditorScaffold> {
|
||||
child: GestureDetector(
|
||||
child: widget.body,
|
||||
onTap: () {
|
||||
if (zenMode) {
|
||||
if (Settings.instance.zenMode) {
|
||||
setState(() {
|
||||
hideUIElements = false;
|
||||
});
|
||||
@ -88,11 +89,13 @@ class _EditorScaffoldState extends State<EditorScaffold> {
|
||||
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;
|
||||
}
|
||||
});
|
||||
|
@ -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(),
|
||||
};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user