90 Commits

Author SHA1 Message Date
a43498ef6d Editor Heurisitics: Should work even if the items have spaces 2020-06-08 00:28:14 +02:00
6735f400fb Fix EditorHeuristics tests 2020-06-04 14:32:42 +02:00
9a39960c03 EditorHeuristics: Handle edge cases 2020-06-04 02:12:06 +02:00
c50e8ad999 Add more editor heuristics 2020-06-03 12:10:06 +02:00
47e8ac8b08 Auto add numbered lists when typing
Since we're using markdown it's kinda awesome that we can re-use the
same last number and markdown will arrange the numbers properly.
2020-06-01 23:26:49 +02:00
a5a7211788 Bullet Lists: Auto add bullets lists even when modifying in the middle 2020-06-01 21:14:59 +02:00
f4cc8e2b47 Refactor Auto bullet list in Editor
The earlier code base was a bit fragile, I prefer having this
unit-tested as the logic is a bit tricky, and I still don't support all
the use-cases.
2020-06-01 20:55:04 +02:00
e813edf397 Avoid using deprecated methods 2020-06-01 20:07:28 +02:00
9a726ba8db MarkdownEditor: Improve auto-bullet points
This patch scares me quite a bit. It's taken forever, and even now we
don't add a bullet point if we edit the middle of a list.
2020-06-01 17:55:42 +02:00
3808624655 MarkdownEditor: Auto add bullet points when editing
If the user presses Enter and were previously editing a bullet point,
then we should add a new bullet point with the same indentation.

This is a massive hack, and I don't like the way it is implemented. It
sucks that I cannot seem to access the keyboard events for the
TextField.

Fixes #140
2020-06-01 17:18:36 +02:00
327fddcae2 Journal/Markdown Editor: Change tick-mark back to cross when empty
When creating a new note, if some text is written and then removed, we
should update the icon accordingly. Ideally it would be awesome if this
could be done for any changes, but I think comparing the body of the
note after each change might be too expensive.
2020-05-31 09:56:28 +02:00
5d4c8ef178 Photo: Ignore photo_access_denied exception
Fixes APP-2Y
2020-05-31 02:12:14 +02:00
4208b05bb4 NoteEditor: Only enable 'Discard Changes' option if we have changes
Otherwise disable the button.
2020-05-19 00:02:07 +02:00
53f02db7f4 ChecklistEditor: Rename variable
More accurately describes its role
2020-05-18 00:49:32 +02:00
140954e7d1 ChecklistEditor: Remove trailing empty items 2020-05-18 00:42:15 +02:00
816cb0c3ed Reduce code duplication
Avoid code for determining the publicName of a folder.
2020-05-18 00:23:14 +02:00
ef57e263ba ProSettingsOverlay -> ProOverlay
Also move it to its own file
2020-05-14 16:10:09 +02:00
79ece901a8 Editors: Implement didUpdateWidget
The parent sometimes changes the noteModified parameter. It's strange
for me that the stateless widgets aren't always rebuilt if their parent
widget's properties change.
2020-05-14 12:49:52 +02:00
08a0c4c21a Make editing of Tags a pro feature 2020-05-13 01:38:52 +02:00
4375d0cf6d Add const 2020-05-13 01:21:40 +02:00
2847e3f60f Add basic tag support
This allows you to be modify the tags from the NoteEditor. Related to
 #114. We still need to add some way to filter the notes by tag. Also,
the current tag editor doesn't show the tags from the other notes.
2020-05-13 01:01:40 +02:00
e7cae7b07a NoteEditor: Convert top drop-down menu to bottom menu
It's easier to access from the bottom right as the finger is closer.
2020-05-12 23:18:41 +02:00
86264a15fe NoteEditor: Convert addIcon to attach icon
It's more accurate.
2020-05-12 23:01:25 +02:00
b2d0cf44ab Stop using deprecated TextStyle properties 2020-05-08 10:55:00 +02:00
533d837b05 ChecklistEditor: Make the Add Item more tappable
I would often tap on it and nothing would happen.
2020-05-08 10:15:36 +02:00
62b5761ec4 Editors: Do not use BottomAppBar in the scaffold property
The BottomAppBar when given in the Scaffold gets hidden when the
keyboard is visible. We had hacked around that by translating its
position, however that resulted in the cursor at the bottom being hidden
when we were typing a long note.

It is not just part of the body of the scaffold.

Also converted many functions into widgets.
2020-05-06 15:16:37 +02:00
f421b61fd4 Editor: Replace the scroll view
This one supresses the top glow animation, has a decent padding by
default, and occupies the entire space of its parent.
2020-05-06 14:20:56 +02:00
b26cfe8b81 Avoid mutating the state while building the Editor's bottom bar
getNote() mutates the state
2020-05-05 12:33:20 +02:00
b17c184900 Add very basic Image support [Android only]
This adds a '+' button to the NoteEditor which allows you to add an
image from either the Gallery or Take a photo. It then accordingly adds
updates markdown.

The file is added in the same directory as the note for now.

Related to #10
2020-05-05 12:02:36 +02:00
d0ab323356 Revert "Editor: Bring back 'Move to Folder' in the dropdown menu"
This reverts commit f129f2ac94e825b978f9c735ef2e110e2bfb6664.
2020-05-05 10:21:09 +02:00
f946fe487a Editor: Make the BottomAppBar stick above the keyboard
Workaround for https://github.com/flutter/flutter/issues/26499
2020-05-05 10:20:15 +02:00
f129f2ac94 Editor: Bring back 'Move to Folder' in the dropdown menu
I cannot seem to position the BottomAppBar on top of the keyboard, and
until I can do that lets keep this action over here.

https://github.com/flutter/flutter/issues/26499
2020-05-05 10:10:56 +02:00
48b6fa21f7 NoteEditor: Build a bottom bar which shows the current folder
Also allow notes to be moved to a folder.
2020-05-05 10:00:14 +02:00
bdecc19126 ChecklistEditor: Mark note as empty is it only has one blank item 2020-05-05 10:00:01 +02:00
793660e42f ChecklistEditor: Improve focus handling
It's still a bit of a mess. I seem to be hitting this bug -
https://github.com/flutter/flutter/issues/20706 which others are also
hitting, but it seems to be closed despite a clearly reproduce test
case.
2020-05-02 02:28:30 +02:00
a995a88028 Allow sharing of notes 2020-05-01 12:20:55 +02:00
9ee16ebe50 Editor: Show ✕ or ✓ in AppBar depending on if the note has been modified
Fixes #123
2020-05-01 10:14:18 +02:00
4e593d6c2f Fix crash 2020-05-01 09:38:49 +02:00
29b002b0f0 MarkdownEditor: New notes should always be in edit mode
Fixes #119
2020-04-25 21:34:22 +02:00
bc32e5bbb3 Editors: Rename autofocus to isNewNote
It's more descriptive, and lets each edit decide how it wants to handle
new notes vs existing.
2020-04-25 21:33:42 +02:00
afe94da638 MarkdownEditor: Allow the default view to be configurable
Fixes #98
2020-04-16 13:16:40 +02:00
9de5f913ed Improve screenshot script
Which also acts as our integration test.
2020-04-03 19:38:33 +02:00
cea0adb7f9 Title Editor: Allow the title to expand
Don't just confine it to a single line.
2020-03-30 12:04:33 +02:00
e98b3c3e41 Remove duplication of NoteTitleEditor 2020-03-30 12:00:50 +02:00
3e38628102 Add a 'type' to each Note
This way we can load the appropirate editor according to the types
available.
2020-03-19 02:36:59 +01:00
c2c617753d Enable auto-correct
This actually makes a difference on iOS.
2020-03-08 20:37:47 +01:00
e65fbdbc71 Add experimental Journal Editor
It removes the title and displays the journal header. This provides a
much better experience for writing a journal.
2020-02-28 12:47:53 +01:00
dae3d1aec9 Remove the FAB
Fixes #58

I've tried adding a black space under the FAB, but that just reduces the
available vertical space while typing. This does reduce the usability
for small notes, as clicking on the FAB is much easier than clicking on
top-right back button or clicking the back button twice on Android.
2020-02-28 12:34:56 +01:00
a49876e3ee Remove the title editor if it cannot be stored
It just makes it confusing for the user otherwise.
2020-02-19 23:00:52 +01:00
0813429bb8 ChecklistEditor: Support autofocus for new notes 2020-02-19 17:04:53 +01:00