1
0
mirror of https://github.com/GitJournal/GitJournal.git synced 2025-07-18 11:20:16 +08:00

include subfolders feature

This commit is contained in:
Alen Šiljak
2021-03-05 16:42:53 +01:00
committed by Vishesh Handa
parent c8cc3553a8
commit 4cf623e9f0
4 changed files with 26 additions and 1 deletions

@ -82,6 +82,7 @@ settings:
markdownToolbar: Show Markdown Toolbar in Editor
graphView: Graph View
accounts: Platform Independent Accounts
includeSubfolders: Include Subfolders
editors:
title: Editor Settings
subtitle: Configure how different editors work

@ -47,6 +47,7 @@ class AppSettings extends ChangeNotifier {
var debugLogLevel = 'v';
var experimentalFs = false;
var experimentalSubfolders = false;
var experimentalMarkdownToolbar = false;
var experimentalGraphView = false;
var experimentalZeroConf = false;

@ -17,6 +17,9 @@ limitations under the License.
import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:gitjournal/app_settings.dart';
import 'package:gitjournal/core/flattened_notes_folder.dart';
import 'package:gitjournal/screens/settings_experimental.dart';
import 'package:provider/provider.dart';
import 'package:gitjournal/core/notes_folder_fs.dart';
@ -35,18 +38,29 @@ class FolderListingScreen extends StatefulWidget {
class _FolderListingScreenState extends State<FolderListingScreen> {
final _folderTreeViewKey = GlobalKey<FolderTreeViewState>();
NotesFolderFS selectedFolder;
AppSettings settings;
@override
Widget build(BuildContext context) {
final notesFolder = Provider.of<NotesFolderFS>(context);
// Load experimental setting
settings = Provider.of<AppSettings>(context);
var treeView = FolderTreeView(
key: _folderTreeViewKey,
rootFolder: notesFolder,
onFolderEntered: (NotesFolderFS folder) {
var destination;
if (settings.experimentalSubfolders) {
destination = FlattenedNotesFolder(folder, title: folder.name);
} else {
destination = folder;
}
var route = MaterialPageRoute(
builder: (context) => FolderView(
notesFolder: folder,
notesFolder: destination,
),
settings: const RouteSettings(name: '/folder/'),
);

@ -58,6 +58,15 @@ class _ExperimentalSettingsScreenState
setState(() {});
},
),
SwitchListTile(
title: Text(tr('settings.experimental.includeSubfolders')),
value: appSettings.experimentalSubfolders,
onChanged: (bool newVal) {
appSettings.experimentalSubfolders = newVal;
appSettings.save();
setState(() {});
},
),
SwitchListTile(
title: Text(tr('settings.experimental.graphView')),
value: appSettings.experimentalGraphView,