Damien Elmes
ebf7cc61d4
switch next_day_at to a newtype
2021-04-05 16:17:26 +10:00
Damien Elmes
8d6b9d15a5
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
a18bb2af12
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
3adf03f9cb
add a unit test for multiple mutations
2021-04-05 11:52:23 +10:00
Damien Elmes
996d9f9bbc
undo support for tag collapse; expand->collapse for consistency w/ decks
2021-04-05 11:47:12 +10:00
Damien Elmes
2168dfe63d
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
42a4d11416
embed deck config and expose to frontend
2021-04-04 22:52:53 +10:00
Damien Elmes
037df9522b
embed notetype messages
2021-04-04 21:57:17 +10:00
Damien Elmes
c4b3ab62c8
embed deck messages
2021-04-04 21:41:16 +10:00
Damien Elmes
1a4c4373d2
expose read-only access to new notetype objects
2021-04-04 20:45:37 +10:00
Damien Elmes
c60b88cd2f
expose read-only access to new deck objects
2021-04-04 20:39:56 +10:00
Damien Elmes
8e16c94b96
recognize select statements with a leading newline from old stats screen
2021-04-03 23:23:33 +10:00
Damien Elmes
10309c9d9c
fix error after undoing default deck deletion
2021-04-03 16:54:02 +10:00
Damien Elmes
41c5a25dc8
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
fe6888f9a4
rename backend/err.rs -> error.rs
2021-04-03 14:47:52 +10:00
Damien Elmes
f666f15b63
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
afc8680f2a
make sure we don't invoke second search in v1 scheduler
2021-04-02 21:05:22 +10:00
Damien Elmes
e73359510d
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
f55fe6e518
i18n error shown when attempting to rebuild normal deck
2021-04-01 22:55:10 +10:00
Damien Elmes
ac1b9fadde
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
7df128a103
fix changes to .ftl and .proto files not being picked up by 'cargo check'
2021-04-01 22:29:54 +10:00
Damien Elmes
4e9a5ec5ea
fix a clippy lint
2021-04-01 18:01:31 +10:00
Damien Elmes
ba541076aa
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
7a29d987c4
convert Json and Proto errors to tuple
2021-04-01 17:45:12 +10:00
Damien Elmes
55a6f10d24
tuple type for IoError
2021-04-01 17:40:35 +10:00
Damien Elmes
2b6c8b4296
tuple type for InvalidInput
2021-04-01 17:37:18 +10:00
Damien Elmes
a250464309
switch DbError to tuple type
2021-04-01 17:34:03 +10:00
Damien Elmes
1704f7fe80
drop dependency on failure crate
2021-04-01 17:21:13 +10:00
Damien Elmes
af37164fba
move sync/network errors into separate file
2021-04-01 17:02:54 +10:00
Damien Elmes
8363fcf2a8
move DB error into separate file; add InvalidRegex error
2021-04-01 16:28:23 +10:00
Damien Elmes
f14a631f68
split search errors into separate file
2021-04-01 16:18:28 +10:00
Damien Elmes
094e4ad461
crate::err -> crate::error
2021-04-01 16:07:13 +10:00
RumovZ
99e28068f9
Refactor get_row_color()
2021-03-31 08:56:54 +02:00
RumovZ
5e151cdc42
Pass Column by value
2021-03-31 00:02:10 +02:00
RumovZ
8779fb5ede
Add note interval column
2021-03-30 23:44:35 +02:00
RumovZ
31155f2dcd
Refactor note_ease_str()
2021-03-30 23:44:16 +02:00
RumovZ
f530c6d852
Fix comment typo
2021-03-30 21:40:35 +02:00
RumovZ
1ad91a5312
Add note due column
2021-03-30 21:39:15 +02:00
RumovZ
e9c14a763c
Refactor card_due_str()
2021-03-30 20:50:09 +02:00
RumovZ
da156cd759
Rename browser_rows to browser_table
...
Reflects the addition of column handling.
2021-03-30 12:08:35 +02:00
RumovZ
ffe77b1291
Add browser column enum for backend
2021-03-30 11:59:52 +02:00
RumovZ
4933b922f7
Add note lapses column
2021-03-29 16:06:15 +02:00
RumovZ
32e538d0db
Add note reps column
2021-03-29 15:52:02 +02:00
Damien Elmes
3383f1742a
rename BrowserCardState
...
Use a more verbose name, and use 'note' rather than 'card', so we
can rely on the default of False
2021-03-29 17:12:45 +10:00
RumovZ
0d8b1c9d0b
squash merge browser refactor
...
Closes #1100
2021-03-29 16:14:54 +10:00
Damien Elmes
0a5222c400
add a few more ftl type hints
2021-03-29 15:55:15 +10:00
Damien Elmes
6ca690a14c
gate qt template inclusion on extra_ftl_root name
...
Bazel was not noticing that the build script needs to be recompiled
when the qt templates flag was changed.
2021-03-29 13:17:38 +10:00
Damien Elmes
cfac40febc
switch NoteType to Notetype
...
When used as a variable, we were typically calling it a 'notetype', not
a 'note type'.
2021-03-27 22:03:19 +10:00
Damien Elmes
9f4a06abee
ID -> Id in protobuf and Python
...
follow-up to dc81a7fed0
2021-03-27 21:38:20 +10:00
Damien Elmes
fcfa6bab4e
update to latest Rust
2021-03-27 20:49:10 +10:00