NotesFolderConfig: Remove from/toFS functions

Adding a new setting is becoming a major pain, and since this isn't even
being used right now, I may as well delete it.
This commit is contained in:
Vishesh Handa
2021-07-14 17:23:42 +02:00
parent 09cf55bc80
commit 59b622dd34
4 changed files with 0 additions and 207 deletions

View File

@ -1,10 +1,5 @@
import 'dart:io';
import 'package:equatable/equatable.dart';
import 'package:meta/meta.dart';
import 'package:path/path.dart' as p;
import 'package:yaml/yaml.dart';
import 'package:yaml_serializer/yaml_serializer.dart';
import 'package:gitjournal/core/notes_folder_fs.dart';
import 'package:gitjournal/core/sorting_mode.dart';
@ -12,7 +7,6 @@ import 'package:gitjournal/editors/common_types.dart';
import 'package:gitjournal/folder_views/common.dart';
import 'package:gitjournal/folder_views/standard_view.dart';
import 'package:gitjournal/settings/settings.dart';
import 'package:gitjournal/utils/logger.dart';
@immutable
class NotesFolderConfig extends Equatable {
@ -178,118 +172,4 @@ class NotesFolderConfig extends Equatable {
imageLocationSpec: imageLocationSpec ?? this.imageLocationSpec,
);
}
static Future<NotesFolderConfig?> fromFS(NotesFolderFS folder) async {
var file = File(p.join(folder.folderPath, FILENAME));
if (!file.existsSync()) {
return null;
}
var map = <String, dynamic>{};
var contents = await file.readAsString();
try {
var yamlMap = loadYaml(contents);
yamlMap.forEach((key, value) {
map[key] = value;
});
} catch (err) {
Log.d('NotesFolderConfig::decode("$contents") -> ${err.toString()}');
}
var sortingField =
SortingField.fromInternalString(map["sortingField"]!.toString());
var sortingOrder =
SortingOrder.fromInternalString(map["sortingOrder"]!.toString());
var sortingMode = SortingMode(sortingField, sortingOrder);
var defaultEditor =
SettingsEditorType.fromInternalString(map["defaultEditor"]?.toString());
var defaultView = SettingsFolderViewType.fromInternalString(
map["defaultView"]?.toString());
var showNoteSummary = map["showNoteSummary"].toString() != "false";
var folderViewHeaderType = map["folderViewHeaderType"]?.toString();
late StandardViewHeader viewHeader;
switch (folderViewHeaderType) {
case "TitleGenerated":
viewHeader = StandardViewHeader.TitleGenerated;
break;
case "FileName":
viewHeader = StandardViewHeader.FileName;
break;
case "TitleOrFileName":
default:
viewHeader = StandardViewHeader.TitleOrFileName;
break;
}
var fileNameFormat = map['noteFileNameFormat']?.toString();
var journalFileNameFormat = map['journalFileNameFormat'].toString();
var yamlHeaderEnabled = map["yamlHeaderEnabled"]?.toString() != "false";
var yamlCreatedKey = map['yamlCreatedKey']!.toString();
var yamlModifiedKey = map['yamlModifiedKey']!.toString();
var yamlTagsKey = map['yamlTagsKey']!.toString();
var titleSettings = map['titleSettings']?.toString();
// FIXME: What about inlineTagPrefixes?
return NotesFolderConfig(
defaultEditor: defaultEditor.toEditorType(),
defaultView: defaultView.toFolderViewType(),
sortingMode: sortingMode,
showNoteSummary: showNoteSummary,
viewHeader: viewHeader,
fileNameFormat: NoteFileNameFormat.fromInternalString(fileNameFormat),
journalFileNameFormat:
NoteFileNameFormat.fromInternalString(journalFileNameFormat),
folder: folder,
yamlHeaderEnabled: yamlHeaderEnabled,
yamlCreatedKey: yamlCreatedKey,
yamlModifiedKey: yamlModifiedKey,
yamlTagsKey: yamlTagsKey,
titleSettings: SettingsTitle.fromInternalString(titleSettings),
inlineTagPrefixes: {},
imageLocationSpec: "",
);
}
Future<void> saveToFS() async {
String? ht;
switch (viewHeader) {
case StandardViewHeader.FileName:
ht = "FileName";
break;
case StandardViewHeader.TitleGenerated:
ht = "TitleGenerated";
break;
case StandardViewHeader.TitleOrFileName:
ht = "TitleOrFileName";
break;
}
var map = <String, dynamic>{
"sortingField": sortingMode.field.toInternalString(),
"sortingOrder": sortingMode.order.toInternalString(),
"defaultEditor":
SettingsEditorType.fromEditorType(defaultEditor).toInternalString(),
"defaultView": SettingsFolderViewType.fromFolderViewType(defaultView)
.toInternalString(),
"showNoteSummary": showNoteSummary,
"folderViewHeaderType": ht,
"noteFileNameFormat": fileNameFormat.toInternalString(),
'journalFileNameFormat': journalFileNameFormat.toInternalString(),
'yamlHeaderEnabled': yamlHeaderEnabled,
'yamlModifiedKey': yamlModifiedKey,
'yamlCreatedKey': yamlCreatedKey,
'yamlTagsKey': yamlTagsKey,
'titleSettings': titleSettings.toInternalString(),
};
var yaml = toYAML(map);
var file = File(p.join(folder!.folderPath, FILENAME));
await file.writeAsString(yaml);
}
}

View File

@ -257,9 +257,6 @@ class _FolderViewState extends State<FolderView> {
var settings = Provider.of<Settings>(context, listen: false);
config.saveToSettings(settings);
var container = context.read<GitJournalRepo>();
container.saveFolderConfig(sortedNotesFolder.config);
setState(() {
sortedNotesFolder.changeSortingMode(newSortingMode);
});
@ -284,9 +281,6 @@ class _FolderViewState extends State<FolderView> {
var settings = Provider.of<Settings>(context, listen: false);
config.saveToSettings(settings);
var container = context.read<GitJournalRepo>();
container.saveFolderConfig(sortedNotesFolder.config);
};
var summaryChanged = (bool newVal) {
@ -300,9 +294,6 @@ class _FolderViewState extends State<FolderView> {
var settings = Provider.of<Settings>(context, listen: false);
config.saveToSettings(settings);
var container = context.read<GitJournalRepo>();
container.saveFolderConfig(sortedNotesFolder.config);
};
return StatefulBuilder(
@ -432,9 +423,6 @@ class _FolderViewState extends State<FolderView> {
var settings = Provider.of<Settings>(context, listen: false);
config.saveToSettings(settings);
var container = context.read<GitJournalRepo>();
container.saveFolderConfig(widget.notesFolder.config);
}
}

View File

@ -17,10 +17,8 @@ import 'package:gitjournal/analytics/analytics.dart';
import 'package:gitjournal/core/git_repo.dart';
import 'package:gitjournal/core/note.dart';
import 'package:gitjournal/core/notes_cache.dart';
import 'package:gitjournal/core/notes_folder.dart';
import 'package:gitjournal/core/notes_folder_fs.dart';
import 'package:gitjournal/error_reporting.dart';
import 'package:gitjournal/features.dart';
import 'package:gitjournal/settings/settings.dart';
import 'package:gitjournal/settings/settings_migrations.dart';
import 'package:gitjournal/utils/logger.dart';
@ -396,24 +394,6 @@ class GitJournalRepo with ChangeNotifier {
});
}
void saveFolderConfig(NotesFolderConfig config) async {
if (!Features.perFolderConfig) {
return;
}
logEvent(Event.FolderConfigUpdated);
return _opLock.synchronized(() async {
Log.d("Got saveFolderConfig lock");
await config.saveToFS();
_gitRepo.addFolderConfig(config).then((Result<void> _) {
_syncNotes();
numChanges += 1;
notifyListeners();
});
});
}
Future<void> completeGitHostSetup(
String repoFolderName, String remoteName) async {
repoPath = p.join(gitBaseDirectory, repoFolderName);

View File

@ -1,55 +0,0 @@
import 'dart:io';
import 'package:path/path.dart' as p;
import 'package:test/test.dart';
import 'package:gitjournal/core/notes_folder_config.dart';
import 'package:gitjournal/core/notes_folder_fs.dart';
import 'package:gitjournal/core/sorting_mode.dart';
import 'package:gitjournal/editors/common_types.dart';
import 'package:gitjournal/folder_views/common.dart';
import 'package:gitjournal/folder_views/standard_view.dart';
import 'package:gitjournal/settings/settings.dart';
void main() {
group('Notes Folder Config', () {
late Directory tempDir;
setUp(() async {
tempDir = await Directory.systemTemp.createTemp('__notes_config_test__');
});
tearDown(() async {
tempDir.deleteSync(recursive: true);
});
test('Should load from FS correctly', () async {
var folder = NotesFolderFS(null, tempDir.path, Settings(''));
var config = NotesFolderConfig(
defaultEditor: EditorType.Checklist,
defaultView: FolderViewType.Standard,
showNoteSummary: true,
sortingMode:
SortingMode(SortingField.Modified, SortingOrder.Descending),
viewHeader: StandardViewHeader.TitleOrFileName,
fileNameFormat: NoteFileNameFormat.Default,
journalFileNameFormat: NoteFileNameFormat.Default,
folder: folder,
yamlHeaderEnabled: true,
yamlCreatedKey: 'created',
yamlModifiedKey: 'modified',
yamlTagsKey: 'tags',
titleSettings: SettingsTitle.InYaml,
inlineTagPrefixes: {},
imageLocationSpec: "",
);
await config.saveToFS();
var file = File(p.join(tempDir.path, NotesFolderConfig.FILENAME));
expect(file.existsSync(), true);
var config2 = await NotesFolderConfig.fromFS(folder);
expect(config, config2);
});
});
}