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:

committed by
Vishesh Handa

parent
c8cc3553a8
commit
4cf623e9f0
@ -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,
|
||||
|
Reference in New Issue
Block a user