1577 Commits

Author SHA1 Message Date
9c01b8a931 NoteSerializer: Avoid using Settings.instance 2020-08-09 01:50:52 +02:00
633d9f5744 Remove more instances of Settings.instance
Use the Provider
2020-08-09 01:50:36 +02:00
9d55b449d3 Settings: Access it through the Provider
Make it a ChageNotifier and try to access it through the Provider
instead of like a global variable. This way, the state is better
managed and it'll be easier to split out Settings into smaller classes.
2020-08-09 01:29:22 +02:00
9411a36f4a Graph Drawing: Add some todos 2020-08-09 00:56:46 +02:00
7b7c170792 Graph Rendering Experiment: Try layouting via a RenderBox
Instead of using a Custom Painter and then re-implementing all the hit
testing and everything, instead lets try to learn about Flutter's lower
level RenderObjects and let each node just be a simple Widget and
provide a GraphView class, which will take a list of nodes (widgets),
and edges.

This is a small PoC, which looks quite promising as instead of drawing a
circle as a node, we will be able to render the node as how a Note is
rendered in Markdown.
2020-08-07 00:50:37 +02:00
33c5aae23e MarkdownToolBar: First attempt at the toolbar
This can be enabled via 'Settings -> Experimental'. It's very rough
right now and a lot still needs to be done.

Related to #157
2020-08-06 13:40:45 +02:00
619023660f NoteMetaData: Allow tags key to be configured
Fixes #206
2020-08-06 10:55:41 +02:00
d091b771d7 Remove our fork of markdown
The markdown package now has the required fix
2020-08-06 10:08:54 +02:00
f551321a73 Upgrade flutter to 1.20
Fixes #131
2020-08-06 10:06:00 +02:00
70e347f288 Update README to include Discord
While I love Free Software Projects, Matrix is just far too young for
me, right now. The experience in Discord is much much better, and
writing bots for it, is also easier.

Plus, most other note taking apps are also on Discord, so it makes
collaboration easier.
2020-08-03 11:41:24 +02:00
12ec4c243f Graph Layout: Minor refactor 2020-08-03 01:04:14 +02:00
b27f63f829 Force Directed Graph Visualization: Do not let nodes overlap
This really won't scale with lots of nodes
2020-08-03 00:55:44 +02:00
c5deb3e988 Allow the 'created' YAML metadata to be configured
Related to #206
2020-08-03 00:46:41 +02:00
e09ea4313b Graph Rendering: Implement a simple Force Directed Layout
Based on the paper "Simple Algorithms for Network Visualization: A
Tutorial" by Michael J. McGuffin.
2020-08-03 00:14:34 +02:00
120e516ff9 SortingMode: Make public strings translatable 2020-07-31 21:45:08 +02:00
a98b99dcb5 refactor: Move SortingOrderSelector into its own widget
Also translate it
2020-07-31 21:39:27 +02:00
e3f8cd9397 EditorSettings: Make all strings translatable 2020-07-31 21:25:30 +02:00
8ab7ec22c4 Always check if a Folder exists before accessing it
This kinds of bugs will be less frequent once we have non null by
default enabled in Flutter.

Fixes #164
2020-07-31 21:16:36 +02:00
8e8c11c5ef FolderView: Refactor NewNoteNavBar into its own widget 2020-07-31 20:47:18 +02:00
b85f9028fe Half implement Note selection in a FolderView
This allows you to long press on a note and select it, thereby allowing
you to perform actions on it, without opening the note.

This is disabled for note, as it isn't completely implemented. I'm not
sure how to pass down the informatin on which Note is selected.
2020-07-31 20:36:20 +02:00
27c98b8b0a FolderViews: Minor refactor
Expose the noteTapped and noteLongPressed functions from all the views.
This will be required in the future as we support selecting a note (or
multiple notes) in order to perform some action on it.

Right now selecting a note means opening the Note Editor.
2020-07-31 19:38:26 +02:00
ad6cf615a3 List all the features and when they were released
This is so that I can show some kind of screen with the evolution of the
features, similar to WorkingCopy.
2020-07-31 19:13:22 +02:00
de9c4dfea2 Graph Visualization: Allow moving the nodes by dragging
It's not perfect as if the nodes are too small, then this doesn't seem
to work, but it's a start. This was just an experiment, anyway.
2020-07-30 17:24:29 +02:00
51c112101a Expirment: Try drawing a network graph with nodes and edges
This works okay, but the touchable libary doesn't seem to propogate the
touch events very well, especially the pan events.
2020-07-30 16:44:58 +02:00
1a0d85e62d Bump version correctly :/ 2020-07-30 12:18:52 +02:00
5c8fd07d3a Bump version 2020-07-30 12:07:20 +02:00
98e0bead90 Revert "Make sure local git repo always exists"
This reverts commit 42d755be1d3333a374b53274236eb75718c8d265.
2020-07-30 12:05:04 +02:00
db93d5ab27 Revert "Fix the case when the repo folder disappears"
This reverts commit 2ee25e0b8ff7d0715ce419e044649980ab6c6e31.
2020-07-30 12:04:00 +02:00
1fcc4bc102 MetaData Setting: Set these strings as translatable 2020-07-29 16:43:59 +02:00
2fa475e10a Add an extra test for txt files and the title
Just to make sure it's never parsed.
2020-07-29 16:29:27 +02:00
0780844c7b Metadata Settings: Show modified as well 2020-07-29 16:27:36 +02:00
2ef2ccdf23 Editors: Allow the title to be edited even when YAML is disabled 2020-07-29 16:27:15 +02:00
9374c35901 Note's title is no longer part of the metadata
So even if the YAML metadata is disabled, the title can be set.
2020-07-29 16:05:21 +02:00
9e8f89be38 Settings MetaData: Make the input and output clearer 2020-07-29 15:59:03 +02:00
30f9f86ad3 Fix all the broken tests because of title change 2020-07-29 15:58:43 +02:00
4a97d03bd8 Title Codec: Support empty starting lines in the body 2020-07-29 15:25:17 +02:00
417f0414f2 Setting: Note metadata change subtitle 2020-07-29 15:13:37 +02:00
41447027f2 Allow 'title' saving to be configured
We now allow it be to either saved as the H1 or in the YAML metadata.
I'm not sure what the default should be. Still deciding.

Fixes #112
2020-07-28 17:26:42 +02:00
15b978cacb Editors: Remove code duplication 2020-07-28 15:37:31 +02:00
1c7b0d09ef Bump version 2020-07-28 14:27:55 +02:00
0fe965a2d6 FocusMode: Show the elements when clicking on the top/bottom bar
Ideally clicking anywhere should show the UI, but that doesn't seem to
be working. With this at least clicking on the top/bottom bar will show
the UI.
2020-07-27 12:43:40 +02:00
b6e8f7a883 FocusMode: Do not accept inputs on the hidden elements
Setting the opacity to 0 doesn't meant we cannot interact with them.
2020-07-27 12:32:11 +02:00
73e3f7d5bc default editor should be updated without requiring a restart 2020-07-27 10:57:56 +02:00
606b3d8c24 Fork ChangeNotifier
The EditorStates are inheriting from State and using the ChangeNotifier
mixin. Both the ChangeNotifier and the State class have a dispose
function, which needs to be call.

Without this only the ChangeNotifier's dispose method was being called.
2020-07-27 10:17:17 +02:00
175bf85531 Save zenMode in settings
That way we don't need to toggle it each time.

Maybe it would be nice to have this exposed via the settings as well,
per editor. So I could enable it / disable it per editor.
2020-07-27 10:08:17 +02:00
9ca19077e7 Remove invalid assert
Not sure why I put this assert, it doesn't seem to make sense.
2020-07-27 10:03:25 +02:00
04bd9e053e Add Zen Mode in pro features page 2020-07-27 09:52:29 +02:00
3996a9163b Change Zen Mode text
Show 'Enable Zen Mode' or 'Disable Zen Mode' instead of just the toggle.
2020-07-27 09:49:24 +02:00
571c219711 Move EditorScaffold to its own file 2020-07-27 09:44:36 +02:00
e9cc050866 Implement a basic Zen Mode
This can be enabled in all the editors.
2020-07-27 09:39:31 +02:00