This way we can adapt the settings in the future to use the most
commonly changed items first.
We're not logging the 'gitAuthor' or 'gitEmail' as that includes
personally identifyable info.
It's better to have our own small class for this as the one provided
with the library tries to contact the PreferencesService and that isn't
what we want.
* Use a DialogBox instead of a drop-down - This conforms better to the
Material design spec.
* Make the enum into a class. It makes managing it much easier. And
avoids code duplication.
Now show how big the font will be in a dialog. This way the user can
make a more informed decission, instead of just choosing "Small" vs
"Normal" and not knowing how big that actually would be.
Avoid the green color when in the dark theme. It was clashing quite a
bit. Lets just go with complete dark shades for now. It's still really
missing something, though I'm not sure what.
ubuntu:latest has changed and compiling libgit2 doesn't have us ssh
support. Cannot seem to figure it out, so lets just use a pre-compiled
version of libgit2, it's a little ahead of the version I'm using, but
that should be fine.
Also refactor this a bit so Note contains a NoteData. I'm really not
convinced about today's abstractions, and feel I might have made this
entire thing much much worse.
With this, the application compiles again. And note editing is working
again. This is was the first of some small refactors in order to
implement both async note loading and a support for directories.
The loading/saving/deleting of the Note class is now inbuilt. It's not
offloaded to a NoteRepo. We're always going to be storing them on disk,
for now. It's also way easier to manage them this way.
This completely breaks the app, as it is part of a large refactor to
make Note loading asyncrhnous and not block. Additionally this removed
JSON serialization for Notes as that isn't something we care about any
more.