mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-30 03:19:11 +08:00
Remove more instances of Settings.instance
Use the Provider
This commit is contained in:
@ -188,7 +188,7 @@ class Note with NotesNotifier {
|
||||
if (_fileFormat == NoteFileFormat.Txt) {
|
||||
return false;
|
||||
}
|
||||
return Settings.instance.yamlHeaderEnabled;
|
||||
return parent.config.yamlHeaderEnabled;
|
||||
}
|
||||
|
||||
MdYamlDoc get data {
|
||||
|
@ -26,6 +26,7 @@ class NotesFolderConfig extends Equatable {
|
||||
final bool showNoteSummary;
|
||||
final NoteFileNameFormat fileNameFormat;
|
||||
final NotesFolderFS folder;
|
||||
final bool yamlHeaderEnabled;
|
||||
//int _version = 1;
|
||||
|
||||
NotesFolderConfig({
|
||||
@ -36,6 +37,7 @@ class NotesFolderConfig extends Equatable {
|
||||
@required this.showNoteSummary,
|
||||
@required this.fileNameFormat,
|
||||
@required this.folder,
|
||||
@required this.yamlHeaderEnabled,
|
||||
});
|
||||
|
||||
@override
|
||||
@ -46,6 +48,7 @@ class NotesFolderConfig extends Equatable {
|
||||
viewHeader,
|
||||
fileNameFormat,
|
||||
folder,
|
||||
yamlHeaderEnabled,
|
||||
];
|
||||
|
||||
static NotesFolderConfig fromSettings(NotesFolderFS folder) {
|
||||
@ -72,15 +75,17 @@ class NotesFolderConfig extends Equatable {
|
||||
viewHeader: viewHeader,
|
||||
fileNameFormat: settings.noteFileNameFormat,
|
||||
folder: folder,
|
||||
yamlHeaderEnabled: settings.yamlHeaderEnabled,
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> saveToSettings() async {
|
||||
Settings.instance.sortingMode = sortingMode;
|
||||
Settings.instance.showNoteSummary = showNoteSummary;
|
||||
Settings.instance.defaultEditor =
|
||||
SettingsEditorType.fromEditorType(defaultEditor);
|
||||
Settings.instance.defaultView =
|
||||
var settings = Settings.instance;
|
||||
|
||||
settings.sortingMode = sortingMode;
|
||||
settings.showNoteSummary = showNoteSummary;
|
||||
settings.defaultEditor = SettingsEditorType.fromEditorType(defaultEditor);
|
||||
settings.defaultView =
|
||||
SettingsFolderViewType.fromFolderViewType(defaultView);
|
||||
|
||||
String ht;
|
||||
@ -95,9 +100,10 @@ class NotesFolderConfig extends Equatable {
|
||||
ht = "TitleOrFileName";
|
||||
break;
|
||||
}
|
||||
Settings.instance.folderViewHeaderType = ht;
|
||||
Settings.instance.noteFileNameFormat = fileNameFormat;
|
||||
Settings.instance.save();
|
||||
settings.folderViewHeaderType = ht;
|
||||
settings.noteFileNameFormat = fileNameFormat;
|
||||
settings.yamlHeaderEnabled = yamlHeaderEnabled;
|
||||
settings.save();
|
||||
}
|
||||
|
||||
NotesFolderConfig copyWith({
|
||||
@ -108,6 +114,7 @@ class NotesFolderConfig extends Equatable {
|
||||
bool showNoteSummary,
|
||||
NoteFileNameFormat fileNameFormat,
|
||||
NotesFolderFS folder,
|
||||
bool yamlHeaderEnabled,
|
||||
}) {
|
||||
return NotesFolderConfig(
|
||||
sortingMode: sortingMode ?? this.sortingMode,
|
||||
@ -117,6 +124,7 @@ class NotesFolderConfig extends Equatable {
|
||||
showNoteSummary: showNoteSummary ?? this.showNoteSummary,
|
||||
fileNameFormat: fileNameFormat ?? this.fileNameFormat,
|
||||
folder: folder ?? this.folder,
|
||||
yamlHeaderEnabled: yamlHeaderEnabled ?? this.yamlHeaderEnabled,
|
||||
);
|
||||
}
|
||||
|
||||
@ -161,6 +169,7 @@ class NotesFolderConfig extends Equatable {
|
||||
}
|
||||
|
||||
var fileNameFormat = map['noteFileNameFormat']?.toString();
|
||||
var yamlHeaderEnabled = map["yamlHeaderEnabled"].toString() != "false";
|
||||
|
||||
return NotesFolderConfig(
|
||||
defaultEditor: defaultEditor.toEditorType(),
|
||||
@ -170,6 +179,7 @@ class NotesFolderConfig extends Equatable {
|
||||
viewHeader: viewHeader,
|
||||
fileNameFormat: NoteFileNameFormat.fromInternalString(fileNameFormat),
|
||||
folder: folder,
|
||||
yamlHeaderEnabled: yamlHeaderEnabled,
|
||||
);
|
||||
}
|
||||
|
||||
@ -196,6 +206,7 @@ class NotesFolderConfig extends Equatable {
|
||||
"showNoteSummary": showNoteSummary,
|
||||
"folderViewHeaderType": ht,
|
||||
"noteFileNameFormat": fileNameFormat.toInternalString(),
|
||||
'yamlHeaderEnabled': yamlHeaderEnabled,
|
||||
};
|
||||
|
||||
var yaml = toYAML(map);
|
||||
|
@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'package:gitjournal/settings.dart';
|
||||
|
||||
@ -14,7 +15,7 @@ class _ExperimentalSettingsScreenState
|
||||
extends State<ExperimentalSettingsScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var settings = Settings.instance;
|
||||
var settings = Provider.of<Settings>(context);
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:function_types/function_types.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'package:gitjournal/analytics.dart';
|
||||
import 'package:gitjournal/apis/githost_factory.dart';
|
||||
@ -54,13 +55,14 @@ class GitHostSetupAutoConfigureState extends State<GitHostSetupAutoConfigure> {
|
||||
});
|
||||
|
||||
var userInfo = await gitHost.getUserInfo();
|
||||
var settings = Provider.of<Settings>(context, listen: false);
|
||||
if (userInfo.name != null && userInfo.name.isNotEmpty) {
|
||||
Settings.instance.gitAuthor = userInfo.name;
|
||||
settings.gitAuthor = userInfo.name;
|
||||
}
|
||||
if (userInfo.email != null && userInfo.email.isNotEmpty) {
|
||||
Settings.instance.gitAuthorEmail = userInfo.email;
|
||||
settings.gitAuthorEmail = userInfo.email;
|
||||
}
|
||||
Settings.instance.save();
|
||||
settings.save();
|
||||
} on Exception catch (e, stacktrace) {
|
||||
_handleGitHostException(e, stacktrace);
|
||||
return;
|
||||
|
@ -33,6 +33,7 @@ void main() {
|
||||
viewHeader: StandardViewHeader.TitleOrFileName,
|
||||
fileNameFormat: NoteFileNameFormat.Default,
|
||||
folder: folder,
|
||||
yamlHeaderEnabled: true,
|
||||
);
|
||||
|
||||
await config.saveToFS();
|
||||
|
Reference in New Issue
Block a user