190 Commits

Author SHA1 Message Date
26ed82fdbc Make "Root Folder" translatable
It was earlier duplicated all over the place.
2020-05-18 00:26:00 +02:00
816cb0c3ed Reduce code duplication
Avoid code for determining the publicName of a folder.
2020-05-18 00:23:14 +02:00
f4ad226341 NoteFileName Format: Move it to Folder Settings
This way each folder can have its own default file naming scheme.
2020-05-18 00:13:20 +02:00
a324d0f755 Logging: Allow logging structured fields
Display this in the Debug Screen app. Additionally, add a reason why a
file was not loaded.
2020-05-17 19:47:11 +02:00
87393ac588 NoteCache: Avoid duplicates
This should ideally never happen, but it seems to be occasionally happening
for some reason.
2020-05-14 16:59:03 +02:00
89deac3770 Note toString: Print loadState
Makes it easier to debug
2020-05-14 16:58:45 +02:00
db37bfbf81 Note: Not all files end with a '.md'
This was only supposed to be done for new files
2020-05-14 16:58:16 +02:00
5c04bf204e Add Tags sidebar
Fixes #114

This was there because I couldn't figure out how to configure Billing in
iOS, now that it is done, I can have the pro mode in iOS as well.
2020-05-14 16:09:22 +02:00
7ef9cfe60f Minor refactor 2020-05-14 13:03:12 +02:00
867f6df14c [Android] Implement sharing images to GitJournal
Fixes #38
2020-05-13 18:30:33 +02:00
132b3ddcb8 Sanitize the filename derived from the note's title
Not all characters are supported on all platforms. Additionally, we
don't want it to have the path seperator.

Fixes #132
2020-05-13 12:10:32 +02:00
31e3e8c806 Ensure Note's fileName always ends with a .md
We were missing it in some cases :(

Fixes #135
2020-05-13 12:03:04 +02:00
66eeaa552b Bump git_bindings and pass fresh version of gitAuthor/Email
This way the Settings change for git author is immediately reflected.

Fixes #130
2020-05-13 11:36:08 +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
52fd859990 Note: Make tags a set instead of a list
This way we don't need to check for duplicates
2020-05-12 23:33:57 +02:00
59ab66844f Note: Allow tags to be read and serialized
This is just exposing the tags on the Note class. Not making it
available through any interface.
2020-05-12 22:59:45 +02:00
600738fc0e FolderLoading: Output loading info to logs as verbose
The most common issue is why a certain file is not being loaded. This
isn't the ideal way, but it's a quick fix in order to diagnose what is
going on.
2020-05-08 10:35:45 +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
317f75799f Add Title + FileName sorting modes 2020-05-03 16:01:21 +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
70ec10b7bc Checklist Parser: Make it a bit more robust
Allow the space after `[ ]` to be optional. Just like in Github.
2020-05-01 18:44:38 +02:00
01db30c613 Automatically migrate from old checklist format
This way people existing checklists do not disappear
2020-05-01 18:42:18 +02:00
b919f1f2ba Follow GitHub's Checklist format
Fixes #71

It's easier to not use the Markdown parser and just go line by line and
do it myself. This does make it a bit less extensible though.
2020-05-01 18:28:13 +02:00
1bae5c7a19 Merge branch 'checklist_Format2' 2020-05-01 16:54:43 +02:00
64bfefa266 Do not allow DartGit's exception to escape
DartGit is still quite experimental.
2020-05-01 11:22:02 +02:00
8636021952 SyncButton: Show number of unpushed changes
Related to #123
2020-05-01 11:09:40 +02:00
a0247e7c9e Ignore a few more git exceptions 2020-04-23 10:08:22 +02:00
77e67fca11 Rename Folders properly
1. Actually rename the folder instead of calling rename with the oldPath
2. Inform the parentFolder that a sub-folder has been renamed so it can
accordingly update its mapping.

Fixes #108
2020-04-20 02:11:42 +02:00
5784399ac6 Remove NotesFolderFS::insert
The position of the note in the folder doesn't matter as Virtual folders
on top of this sort it according to how to how the user wants them to be
sorted.
2020-04-20 01:56:32 +02:00
ff2ac647c5 Remove unused imports 2020-04-17 10:33:31 +02:00
6c47016c8b logException: Also log to Sentry 2020-04-17 09:42:19 +02:00
21a7798dc9 Note.load: lastModified can throw an exception
Fixes APP-V
2020-04-16 10:12:33 +02:00
0162d1e11a Only do a git push if one has commits to push
This is the first use of my pure Dart implementation of Git. Hurray!
Now hopefully, I can slowly get rid of git_bindings entirely.
2020-04-14 18:15:32 +02:00
f53aa53683 Checklist: Maintain the case of 'x' 2020-04-14 17:46:24 +02:00
6fab0ae0a4 FlattenedNotesFolder: Stop maintaining the index
This makes it slower, but since remove operations are much less frequent
it's okay to have them at O(n)
2020-04-10 13:54:03 +02:00
14d734bf08 Fix handling of Note renames
We often use the note's filePath as a unique identifier, however that
can change, and we need to update the caches accordingly.

Fixes #97
2020-04-10 13:45:19 +02:00
0c53c9469c Add the legacy checklist format migrator
Ideally, I would love to just skip this, but it would break existing
checklist and we do have a decent number of users now.
2020-04-06 01:36:46 +02:00
1c869bc02b Checklist: Adapt other tests
This still doesn't fix all the tests
2020-04-06 01:29:49 +02:00
219e241deb Checklist: Add support for upper case 'X'
Requires an extra commit in markd
2020-04-06 01:14:36 +02:00
de2c82f4bd Try to support the proper checklist format
According the markdownguide.org, the checklist items are always inside a
list. It can any kind of list, but they are inside a list.

This commit breaks the old syntax and most of the tests. It also
requires a custom version of markd :/
2020-04-06 01:10:44 +02:00
bb0e574495 Abstract out the logging
This way moving away from Fimber will be much easier.
2020-04-04 11:50:57 +02:00
4c73840d43 NotesCache: Increase its size to 20
With the cards view, we see way more notes.
2020-04-04 10:36:08 +02:00
ceffa89eb2 Checklist: Add an extra assert 2020-04-03 19:39:03 +02:00
9e60a74c19 Allow opening relative links while are notes 2020-04-02 19:34:54 +02:00
26f641380d Checklist: Avoid extra \n
The markdown parser is weird.
2020-04-02 17:56:48 +02:00
8e629b20f6 Add missing file
:/
2020-03-31 14:17:21 +02:00
fe08b53539 Add a .gitjournal.yaml file in a folder
This file will be added to save the settings of how we want that folder
to behave. For example - default Editor, view, sorting mode, etc.

This feature is currently disabled as it will only be a part of the pro
mode.
2020-03-31 14:02:38 +02:00
3c2d4b0f74 VirtualNotesFolder's config cannot change
We haven't exposed any way to change it.
2020-03-31 11:22:52 +02:00
965639e6f2 Add the concept of Folder Settings
This contains the default editor / view / sortingMode / etc. For now the
folder settings are shared among all Folders. But the idea is that we
should be able to set different settings per folder (real or virtual)
2020-03-31 11:16:04 +02:00
577b73ff3c SyncButton: Seperate pulling and pushing
This way we also refresh the view after the pulling, as we don't need to
wait for a push for that.
2020-03-30 13:00:28 +02:00