From 2396b34b7536d1cfd8aafb2dd1f51326e8808455 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Sun, 26 Jul 2020 18:12:04 +0200 Subject: [PATCH] Allow the FS view to be experimentaly enabled --- assets/langs/en.yaml | 1 + lib/features.dart | 1 - lib/screens/settings_experimental.dart | 9 +++++++++ lib/settings.dart | 4 ++++ lib/widgets/app_drawer.dart | 3 +-- 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/assets/langs/en.yaml b/assets/langs/en.yaml index 80556359..c246d1de 100644 --- a/assets/langs/en.yaml +++ b/assets/langs/en.yaml @@ -51,6 +51,7 @@ settings: title: Experimental Features subtitle: Try out features in Development backlinks: Show Backlinks in Markdown Preview + fs: Show File System editors: checklist: diff --git a/lib/features.dart b/lib/features.dart index ac717bab..51d98688 100644 --- a/lib/features.dart +++ b/lib/features.dart @@ -1,4 +1,3 @@ class Features { static bool perFolderConfig = false; - static bool showFileSystem = false; } diff --git a/lib/screens/settings_experimental.dart b/lib/screens/settings_experimental.dart index f1214a5f..1197b273 100644 --- a/lib/screens/settings_experimental.dart +++ b/lib/screens/settings_experimental.dart @@ -38,6 +38,15 @@ class _ExperimentalSettingsScreenState setState(() {}); }, ), + SwitchListTile( + title: Text(tr('settings.experimental.fs')), + value: settings.experimentalFs, + onChanged: (bool newVal) { + settings.experimentalFs = newVal; + settings.save(); + setState(() {}); + }, + ), ], padding: const EdgeInsets.fromLTRB(0.0, 16.0, 0.0, 0.0), ), diff --git a/lib/settings.dart b/lib/settings.dart index 3949f515..2e01a796 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -50,6 +50,7 @@ class Settings { String debugLogLevel = 'v'; bool experimentalBacklinks = true; + bool experimentalFs = false; void load(SharedPreferences pref) { gitAuthor = pref.getString("gitAuthor") ?? gitAuthor; @@ -112,6 +113,7 @@ class Settings { debugLogLevel = pref.getString("debugLogLevel") ?? debugLogLevel; experimentalBacklinks = pref.getBool("experimentalBacklinks") ?? experimentalBacklinks; + experimentalFs = pref.getBool("experimentalFs") ?? experimentalFs; } Future save() async { @@ -176,6 +178,7 @@ class Settings { _setString(pref, "debugLogLevel", debugLogLevel, defaultSet.debugLogLevel); _setBool(pref, "experimentalBacklinks", experimentalBacklinks, defaultSet.experimentalBacklinks); + _setBool(pref, "experimentalFs", experimentalFs, defaultSet.experimentalFs); pref.setInt("settingsVersion", version); } @@ -234,6 +237,7 @@ class Settings { 'imageLocationSpec': imageLocationSpec, 'debugLogLevel': debugLogLevel, 'experimentalBacklinks': experimentalBacklinks.toString(), + 'experimentalFs': experimentalFs.toString(), }; } diff --git a/lib/widgets/app_drawer.dart b/lib/widgets/app_drawer.dart index a9eaa4a2..59260539 100644 --- a/lib/widgets/app_drawer.dart +++ b/lib/widgets/app_drawer.dart @@ -10,7 +10,6 @@ import 'package:share/share.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:gitjournal/analytics.dart'; -import 'package:gitjournal/features.dart'; import 'package:gitjournal/settings.dart'; import 'package:gitjournal/state_container.dart'; import 'package:gitjournal/utils.dart'; @@ -81,7 +80,7 @@ class AppDrawer extends StatelessWidget { onTap: () => _navTopLevel(context, '/folders'), selected: currentRoute == "/folders", ), - if (Features.showFileSystem) + if (Settings.instance.experimentalFs) _buildDrawerTile( context, icon: FontAwesomeIcons.solidFolderOpen,