MarkdownEditor: Change default mode to "Last Used"

Add an extra option of Last Used, along with Edit / View.
This commit is contained in:
Vishesh Handa
2020-07-06 17:14:07 +02:00
parent a86843a2b5
commit c31edc3b57
2 changed files with 33 additions and 3 deletions

View File

@ -67,8 +67,14 @@ class MarkdownEditorState extends State<MarkdownEditor> implements EditorState {
_titleTextController = TextEditingController(text: note.title); _titleTextController = TextEditingController(text: note.title);
_oldText = note.body; _oldText = note.body;
editingMode = Settings.instance.markdownDefaultView == var settings = Settings.instance;
SettingsMarkdownDefaultView.Edit; if (settings.markdownDefaultView == SettingsMarkdownDefaultView.LastUsed) {
editingMode =
settings.markdownLastUsedView == SettingsMarkdownDefaultView.Edit;
} else {
editingMode =
settings.markdownDefaultView == SettingsMarkdownDefaultView.Edit;
}
} }
@override @override
@ -138,6 +144,17 @@ class MarkdownEditorState extends State<MarkdownEditor> implements EditorState {
void _switchMode() { void _switchMode() {
setState(() { setState(() {
editingMode = !editingMode; editingMode = !editingMode;
switch (editingMode) {
case true:
Settings.instance.markdownLastUsedView =
SettingsMarkdownDefaultView.Edit;
break;
case false:
Settings.instance.markdownLastUsedView =
SettingsMarkdownDefaultView.View;
break;
}
Settings.instance.save();
_updateNote(); _updateNote();
}); });
} }

View File

@ -45,6 +45,8 @@ class Settings {
SettingsMarkdownDefaultView markdownDefaultView = SettingsMarkdownDefaultView markdownDefaultView =
SettingsMarkdownDefaultView.Default; SettingsMarkdownDefaultView.Default;
SettingsMarkdownDefaultView markdownLastUsedView =
SettingsMarkdownDefaultView.Edit;
String imageLocationSpec = "."; // . means the same folder String imageLocationSpec = "."; // . means the same folder
String debugLogLevel = 'v'; String debugLogLevel = 'v';
@ -79,8 +81,11 @@ class Settings {
SettingsEditorType.fromInternalString(pref.getString("defaultEditor")); SettingsEditorType.fromInternalString(pref.getString("defaultEditor"));
defaultView = SettingsFolderViewType.fromInternalString( defaultView = SettingsFolderViewType.fromInternalString(
pref.getString("defaultView")); pref.getString("defaultView"));
markdownDefaultView = SettingsMarkdownDefaultView.fromInternalString( markdownDefaultView = SettingsMarkdownDefaultView.fromInternalString(
pref.getString("markdownDefaultView")); pref.getString("markdownDefaultView"));
markdownLastUsedView = SettingsMarkdownDefaultView.fromInternalString(
pref.getString("markdownLastUsedView"));
showNoteSummary = pref.getBool("showNoteSummary") ?? showNoteSummary; showNoteSummary = pref.getBool("showNoteSummary") ?? showNoteSummary;
folderViewHeaderType = folderViewHeaderType =
@ -151,6 +156,11 @@ class Settings {
"markdownDefaultView", "markdownDefaultView",
markdownDefaultView.toInternalString(), markdownDefaultView.toInternalString(),
defaultSet.markdownDefaultView.toInternalString()); defaultSet.markdownDefaultView.toInternalString());
_setString(
pref,
"markdownLastUsedView",
markdownLastUsedView.toInternalString(),
defaultSet.markdownLastUsedView.toInternalString());
_setBool( _setBool(
pref, "showNoteSummary", showNoteSummary, defaultSet.showNoteSummary); pref, "showNoteSummary", showNoteSummary, defaultSet.showNoteSummary);
_setString(pref, "folderViewHeaderType", folderViewHeaderType, _setString(pref, "folderViewHeaderType", folderViewHeaderType,
@ -223,6 +233,7 @@ class Settings {
'proExpirationDate': proExpirationDate, 'proExpirationDate': proExpirationDate,
'pseudoId': pseudoId, 'pseudoId': pseudoId,
'markdownDefaultView': markdownDefaultView.toInternalString(), 'markdownDefaultView': markdownDefaultView.toInternalString(),
'markdownLastUsedView': markdownLastUsedView.toInternalString(),
'homeScreen': homeScreen.toInternalString(), 'homeScreen': homeScreen.toInternalString(),
'imageLocationSpec': imageLocationSpec, 'imageLocationSpec': imageLocationSpec,
'debugLogLevel': debugLogLevel, 'debugLogLevel': debugLogLevel,
@ -508,7 +519,8 @@ class SettingsFolderViewType {
class SettingsMarkdownDefaultView { class SettingsMarkdownDefaultView {
static const Edit = SettingsMarkdownDefaultView("Edit"); static const Edit = SettingsMarkdownDefaultView("Edit");
static const View = SettingsMarkdownDefaultView("View"); static const View = SettingsMarkdownDefaultView("View");
static const Default = Edit; static const LastUsed = SettingsMarkdownDefaultView("Last Used");
static const Default = LastUsed;
final String _str; final String _str;
const SettingsMarkdownDefaultView(this._str); const SettingsMarkdownDefaultView(this._str);
@ -524,6 +536,7 @@ class SettingsMarkdownDefaultView {
static const options = <SettingsMarkdownDefaultView>[ static const options = <SettingsMarkdownDefaultView>[
Edit, Edit,
View, View,
LastUsed,
]; ];
static SettingsMarkdownDefaultView fromInternalString(String str) { static SettingsMarkdownDefaultView fromInternalString(String str) {