RumovZ
3845ccc846
Add card mod column for notes mode
2021-04-08 20:14:10 +02:00
RumovZ
f4081084a9
Add deck column for notes mode
2021-04-08 19:46:06 +02:00
RumovZ
0acab27b0a
Merge row contexts
2021-04-08 13:51:46 +02:00
RumovZ
0ff193cd5d
Add enum for column sorting
2021-04-08 11:40:24 +02:00
RumovZ
47eeb5da14
Add enum for column alignment
2021-04-08 11:28:29 +02:00
RumovZ
7ea1dbd4a4
Move BrowserColumn into BrowserColumns message
2021-04-08 10:16:06 +02:00
RumovZ
c316783517
Fix deck column serialization string
2021-04-06 23:03:30 +02:00
RumovZ
82b9c9f320
Add column logic on backend
2021-04-06 19:46:12 +02:00
RumovZ
d70a7eb9a4
Make Column a strum
2021-04-06 16:54:09 +02:00
Damien Elmes
085f63ac1b
cache scheduling info
...
Saves us having to recalculate it for each browser row
2021-04-05 17:09:53 +10:00
Damien Elmes
4b64339a8b
switch next_day_at to a newtype
2021-04-05 16:17:26 +10:00
Damien Elmes
786069e89e
avoid fetching decks for each row
...
Like notetypes, there is a col.get_deck() routine which caches
fetches, so that successive fetches are cheap. This makes it simpler
to just fetch the deck at the start.
We were also attempting to fetch a deck with id 0 for each row; I've
changed this so that we only fetch it if the id is non-zero.
I18n uses an Arc internally, so it is cheap to clone. This allow us
to drop the lifetime specifiers on the context structures.
2021-04-05 15:13:32 +10:00
Damien Elmes
3ab53c77c7
add booleans for various screens to OpChanges
...
The backend knows exactly which op has executed, and it saves us having
to re-implement this logic on each client.
Fixes the browser table refreshing when toggling decks.
2021-04-05 14:28:56 +10:00
Damien Elmes
bc0306032e
add a unit test for multiple mutations
2021-04-05 11:52:23 +10:00
Damien Elmes
18ba5554ca
undo support for tag collapse; expand->collapse for consistency w/ decks
2021-04-05 11:47:12 +10:00
Damien Elmes
dc5b900056
add routine to set deck collapse state
...
Updating a deck via protobuf is now exposed on the backend, but not
currently on the frontend - I suspect we'll be better off writing
separate routines for the actions we need instead, and we get a better
undo description for free.
This is currently causing an ugly redraw in the browse screen, which
will need fixing.
2021-04-05 11:19:04 +10:00
Damien Elmes
510f24bf93
embed deck config and expose to frontend
2021-04-04 22:52:53 +10:00
Damien Elmes
7be221aca2
embed notetype messages
2021-04-04 21:57:17 +10:00
Damien Elmes
3d1ddf9762
embed deck messages
2021-04-04 21:41:16 +10:00
Damien Elmes
b10e8dd347
expose read-only access to new notetype objects
2021-04-04 20:45:37 +10:00
Damien Elmes
282ae2285a
expose read-only access to new deck objects
2021-04-04 20:39:56 +10:00
Damien Elmes
b04ac71a2c
recognize select statements with a leading newline from old stats screen
2021-04-03 23:23:33 +10:00
Damien Elmes
e89c21d778
fix error after undoing default deck deletion
2021-04-03 16:54:02 +10:00
Damien Elmes
cb9d5b9f28
simplify errors
...
- use a flat enum instead of oneof messages, most of which were empty
- tidy up the Python side
2021-04-03 16:06:46 +10:00
Damien Elmes
87acb6800b
rename backend/err.rs -> error.rs
2021-04-03 14:47:52 +10:00
Damien Elmes
d7237be205
use perform_op() for undo()
...
Instead of manually updating the UI after undoing, we just rely
on the same change notification infrastructure regular operations
use.
2021-04-03 14:38:49 +10:00
Damien Elmes
a9fd3c90ef
make sure we don't invoke second search in v1 scheduler
2021-04-02 21:05:22 +10:00
Damien Elmes
b2bfd940e7
move filtered deck labels to backend
...
- use strum to generate an iterator for the protobuf enum so we don't
forget to add new labels if extending in the future
- no add-ons appear to be using dynOrderLabels(), so it has been removed
@RumovZ perhaps a similar approach might work for listing the available
browser columns as well?
2021-04-01 23:53:38 +10:00
Damien Elmes
85ea6b433c
i18n error shown when attempting to rebuild normal deck
2021-04-01 22:55:10 +10:00
Damien Elmes
c85811a104
merge the filtered deck errors into an enum
...
Fixes the wrong message being shown when trying to move cards to a
filtered deck
2021-04-01 22:30:00 +10:00
Damien Elmes
990397880f
fix changes to .ftl and .proto files not being picked up by 'cargo check'
2021-04-01 22:29:54 +10:00
Damien Elmes
4462a533ff
fix a clippy lint
2021-04-01 18:01:31 +10:00
Damien Elmes
69d7c64d14
convert card template error to tuple, and report notetype name in error
...
Older translations will note have the $notetype variable, but that is
not an error in Fluent - it would only cause problems if we tried to
use the new string on older Anki versions.
2021-04-01 17:59:33 +10:00
Damien Elmes
32cc47b8cb
convert Json and Proto errors to tuple
2021-04-01 17:45:12 +10:00
Damien Elmes
7e285f5ec8
tuple type for IoError
2021-04-01 17:40:35 +10:00
Damien Elmes
f9cd39114b
tuple type for InvalidInput
2021-04-01 17:37:18 +10:00
Damien Elmes
cfe02d5df4
switch DbError to tuple type
2021-04-01 17:34:03 +10:00
Damien Elmes
2392c9b2b5
drop dependency on failure crate
2021-04-01 17:21:13 +10:00
Damien Elmes
8c635f9337
move sync/network errors into separate file
2021-04-01 17:02:54 +10:00
Damien Elmes
f0ecf8f3b9
move DB error into separate file; add InvalidRegex error
2021-04-01 16:28:23 +10:00
Damien Elmes
0e40d22f2c
split search errors into separate file
2021-04-01 16:18:28 +10:00
Damien Elmes
cc54a9251e
crate::err -> crate::error
2021-04-01 16:07:13 +10:00
RumovZ
d87f80c74a
Refactor get_row_color()
2021-03-31 08:56:54 +02:00
RumovZ
ad7563effb
Pass Column by value
2021-03-31 00:02:10 +02:00
RumovZ
6233a125fc
Add note interval column
2021-03-30 23:44:35 +02:00
RumovZ
fb4dd05dd4
Refactor note_ease_str()
2021-03-30 23:44:16 +02:00
RumovZ
af153f9c09
Fix comment typo
2021-03-30 21:40:35 +02:00
RumovZ
ca87a6fc45
Add note due column
2021-03-30 21:39:15 +02:00
RumovZ
44ae21c0b1
Refactor card_due_str()
2021-03-30 20:50:09 +02:00
RumovZ
9e34c0f80c
Rename browser_rows to browser_table
...
Reflects the addition of column handling.
2021-03-30 12:08:35 +02:00