Move editor related code into its folder

I'm trying to separate the code based on the domain so that this code
can be easily reused in other projects
This commit is contained in:
Vishesh Handa
2021-07-30 11:08:45 +02:00
parent 009ec48a8c
commit 72e9de29de
11 changed files with 16 additions and 9 deletions

@ -3,11 +3,11 @@ import 'package:flutter/material.dart';
import 'package:gitjournal/core/note.dart'; import 'package:gitjournal/core/note.dart';
import 'package:gitjournal/editors/common.dart'; import 'package:gitjournal/editors/common.dart';
import 'package:gitjournal/editors/disposable_change_notifier.dart'; import 'package:gitjournal/editors/disposable_change_notifier.dart';
import 'package:gitjournal/editors/editor_scroll_view.dart';
import 'package:gitjournal/editors/heuristics.dart'; import 'package:gitjournal/editors/heuristics.dart';
import 'package:gitjournal/editors/note_body_editor.dart'; import 'package:gitjournal/editors/note_body_editor.dart';
import 'package:gitjournal/error_reporting.dart'; import 'package:gitjournal/error_reporting.dart';
import 'package:gitjournal/utils/logger.dart'; import 'package:gitjournal/utils/logger.dart';
import 'package:gitjournal/widgets/editor_scroll_view.dart';
import 'package:gitjournal/widgets/journal_editor_header.dart'; import 'package:gitjournal/widgets/journal_editor_header.dart';
class JournalEditor extends StatefulWidget implements Editor { class JournalEditor extends StatefulWidget implements Editor {

@ -6,14 +6,14 @@ import 'package:gitjournal/core/note.dart';
import 'package:gitjournal/core/notes_folder.dart'; import 'package:gitjournal/core/notes_folder.dart';
import 'package:gitjournal/editors/common.dart'; import 'package:gitjournal/editors/common.dart';
import 'package:gitjournal/editors/disposable_change_notifier.dart'; import 'package:gitjournal/editors/disposable_change_notifier.dart';
import 'package:gitjournal/editors/editor_scroll_view.dart';
import 'package:gitjournal/editors/heuristics.dart'; import 'package:gitjournal/editors/heuristics.dart';
import 'package:gitjournal/editors/markdown_toolbar.dart';
import 'package:gitjournal/editors/note_body_editor.dart'; import 'package:gitjournal/editors/note_body_editor.dart';
import 'package:gitjournal/editors/note_title_editor.dart'; import 'package:gitjournal/editors/note_title_editor.dart';
import 'package:gitjournal/error_reporting.dart'; import 'package:gitjournal/error_reporting.dart';
import 'package:gitjournal/settings/app_settings.dart'; import 'package:gitjournal/settings/app_settings.dart';
import 'package:gitjournal/utils/logger.dart'; import 'package:gitjournal/utils/logger.dart';
import 'package:gitjournal/widgets/editor_scroll_view.dart';
import 'package:gitjournal/widgets/markdown_toolbar.dart';
class MarkdownEditor extends StatefulWidget implements Editor { class MarkdownEditor extends StatefulWidget implements Editor {
final Note note; final Note note;

@ -14,7 +14,6 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
@ -23,8 +22,8 @@ import 'package:gitjournal/core/md_yaml_doc_codec.dart';
import 'package:gitjournal/core/note.dart'; import 'package:gitjournal/core/note.dart';
import 'package:gitjournal/editors/common.dart'; import 'package:gitjournal/editors/common.dart';
import 'package:gitjournal/editors/disposable_change_notifier.dart'; import 'package:gitjournal/editors/disposable_change_notifier.dart';
import 'package:gitjournal/editors/editor_scroll_view.dart';
import 'package:gitjournal/editors/undo_redo.dart'; import 'package:gitjournal/editors/undo_redo.dart';
import 'package:gitjournal/widgets/editor_scroll_view.dart';
class OrgEditor extends StatefulWidget implements Editor { class OrgEditor extends StatefulWidget implements Editor {
final Note note; final Note note;

@ -6,8 +6,8 @@ import 'package:gitjournal/core/md_yaml_doc_codec.dart';
import 'package:gitjournal/core/note.dart'; import 'package:gitjournal/core/note.dart';
import 'package:gitjournal/editors/common.dart'; import 'package:gitjournal/editors/common.dart';
import 'package:gitjournal/editors/disposable_change_notifier.dart'; import 'package:gitjournal/editors/disposable_change_notifier.dart';
import 'package:gitjournal/editors/editor_scroll_view.dart';
import 'package:gitjournal/editors/undo_redo.dart'; import 'package:gitjournal/editors/undo_redo.dart';
import 'package:gitjournal/widgets/editor_scroll_view.dart';
class RawEditor extends StatefulWidget implements Editor { class RawEditor extends StatefulWidget implements Editor {
final Note note; final Note note;

@ -29,6 +29,7 @@ import 'package:gitjournal/editors/checklist_editor.dart';
import 'package:gitjournal/editors/common_types.dart'; import 'package:gitjournal/editors/common_types.dart';
import 'package:gitjournal/editors/journal_editor.dart'; import 'package:gitjournal/editors/journal_editor.dart';
import 'package:gitjournal/editors/markdown_editor.dart'; import 'package:gitjournal/editors/markdown_editor.dart';
import 'package:gitjournal/editors/note_editor_selector.dart';
import 'package:gitjournal/editors/org_editor.dart'; import 'package:gitjournal/editors/org_editor.dart';
import 'package:gitjournal/editors/raw_editor.dart'; import 'package:gitjournal/editors/raw_editor.dart';
import 'package:gitjournal/error_reporting.dart'; import 'package:gitjournal/error_reporting.dart';
@ -38,7 +39,6 @@ import 'package:gitjournal/utils/logger.dart';
import 'package:gitjournal/utils/utils.dart'; import 'package:gitjournal/utils/utils.dart';
import 'package:gitjournal/widgets/folder_selection_dialog.dart'; import 'package:gitjournal/widgets/folder_selection_dialog.dart';
import 'package:gitjournal/widgets/note_delete_dialog.dart'; import 'package:gitjournal/widgets/note_delete_dialog.dart';
import 'package:gitjournal/widgets/note_editor_selector.dart';
import 'package:gitjournal/widgets/note_tag_editor.dart'; import 'package:gitjournal/widgets/note_tag_editor.dart';
import 'package:gitjournal/widgets/rename_dialog.dart'; import 'package:gitjournal/widgets/rename_dialog.dart';

@ -29,6 +29,9 @@ class GitConfig extends ChangeNotifier with SettingsSharedPref {
Future<void> save() async { Future<void> save() async {
var def = GitConfig(id, pref); var def = GitConfig(id, pref);
// I could call _load and get all the values
// and then compare it.
// why am I doing this? - I'm not sure
await setString("gitAuthor", gitAuthor, def.gitAuthor); await setString("gitAuthor", gitAuthor, def.gitAuthor);
await setString("gitAuthorEmail", gitAuthorEmail, def.gitAuthorEmail); await setString("gitAuthorEmail", gitAuthorEmail, def.gitAuthorEmail);
@ -49,3 +52,8 @@ class GitConfig extends ChangeNotifier with SettingsSharedPref {
}; };
} }
} }
// 1. Make sure we don't need to set the value and call save
// 2. Less calls to setString so this is much faster
// Optimizing this doesn't matter

@ -6,8 +6,8 @@ import 'package:provider/provider.dart';
import 'package:gitjournal/core/note.dart'; import 'package:gitjournal/core/note.dart';
import 'package:gitjournal/core/notes_folder.dart'; import 'package:gitjournal/core/notes_folder.dart';
import 'package:gitjournal/core/notes_folder_fs.dart'; import 'package:gitjournal/core/notes_folder_fs.dart';
import 'package:gitjournal/editors/editor_scroll_view.dart';
import 'package:gitjournal/folder_views/common.dart'; import 'package:gitjournal/folder_views/common.dart';
import 'package:gitjournal/widgets/editor_scroll_view.dart';
import 'package:gitjournal/widgets/markdown_renderer.dart'; import 'package:gitjournal/widgets/markdown_renderer.dart';
import 'package:gitjournal/widgets/notes_backlinks.dart'; import 'package:gitjournal/widgets/notes_backlinks.dart';

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'package:gitjournal/widgets/markdown_toolbar.dart'; import 'package:gitjournal/editors/markdown_toolbar.dart';
void main() { void main() {
void _testLine({ void _testLine({