This also implements the ChangeNotifier, but additional provides more
fine grained notifications. We neeed this in order to animate the list
of notes / folders when they change.
This can sometimes lead to too many files being opened in parallel and
then failing because there aren't any file descriptors left. This patch
isn't perfect as given the directory structure we could still be loading
too many in one go, but it's a quick workaround for now.
The proper solution is to only load the Notes which need to be displayed
instead of loading all of them at startup.
I wanted to stop using .seperated as it shows some ugly artifacts when
used with IconDismissable when removing an item, and it makes it more
difficult to replace it with an AnimatedListView
It makes everything far more complicated, but at least this way the FAB
moves along with the scaffold. With Fimber, that is not the case, and it
is very annoying.
This reverts commit 333b11de7d4e67b0abd7269989609fe58c73c7ab.
We still have the "keep device from sleeping" permission. It seems we
will need to manually remove that permission. I rather have that
permission and have this super useful tool of keeping the screen on when
developing.
This way most notes can immediately be edited without clicking twice -
once to switch editors and once to focus.
In the future, we should preserve the state of the editor from the last
time so that people don't need to continously switch between notes.
* We no longer have a separate editing and browsing view - This does
mean we loose the ability to quick flip between notes by swiping.
However, this is more how a note editor would behave. I do later want to
add that capability back.
* We have 2 editors for now - Markdown and Raw. By default we use the
Markdown editor which can be toggled between Preview / Edit mode.
I later want to add a rich text editor and a todo editor as well.
Ever since we had a proper markdown renderer, this option has been
broken as it only scales the body text and not the headers, and other
text in code-blocks. Additionally it only modifies the viewing text size
and not the editing text size. Fixing this feature is way too much work,
and barely any users are using this feature.
Maybe we will introduce it again in the future.
This includes automatic merge conflict resolution. It isn't very smart -
it just chooses the local changes, but at least this way we never reach
an inconsistent state.
Fixes#51