anki/rslib/src
Damien Elmes d382b33585 rework filtered deck screen & search errors
- Filtered deck creation now happens as an atomic operation, and is
undoable.
- The logic for initial search text, normalizing searches and so on
has been pushed into the backend.
- Use protobuf to pass the filtered deck to the updated dialog, so
we don't need to deal with untyped JSON.
- Change the "revise your search?" prompt to be a simple info box -
user has access to cancel and build buttons, and doesn't need a separate
prompt. Tweak the wording so the 'show excluded' button should be more
obvious.
- Filtered decks have a time appended to them instead of a number,
primarily because it's easier to implement. No objections going back to
the old behaviour if someone wants to contribute a clean patch.
The standard de-duplication will happen if two decks are created in the
same minute with the same name.
- Tweak the default sort order, and start with two searches. The UI
will still hide the second search by default, but by starting with two,
the frontend doesn't need logic for creating the starting text.
- Search errors now have their own error type, instead of using
InvalidInput, as that was intended mainly for bad API calls. The markdown
conversion is done when the error is converted from the backend, allowing
errors to printed as a string without any special handling by the calling
code.

TODO: when building a new filtered deck, update_active() is clobbering
the undo log when the overview is refreshed
2021-03-24 22:04:35 +10:00
..
backend rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
card undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
config move activeCols into config/ 2021-03-23 18:40:50 +10:00
deckconf handle duplicate keys in schema 11 deckconf 2021-03-04 11:52:15 +10:00
decks rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
media undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
notes speed up tag drag&drop and finish tag tidyup 2021-03-19 19:45:21 +10:00
notetype Rename render_card_inner() to render_card() 2021-03-20 17:26:30 +01:00
revlog dispatch undo operations via enum instead of trait 2021-03-10 11:53:27 +10:00
scheduler rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
search rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
stats Fix date_string using FixedOffset instead of Local 2021-03-22 08:50:54 +01:00
storage rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
sync undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
tags speed up tag drag&drop and finish tag tidyup 2021-03-19 19:45:21 +10:00
undo undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
adding.rs Simplify note adding and the deck/notetype choosers 2021-03-10 11:53:27 +10:00
backend_proto.rs NF: add AGPL licence missing in some file 2021-01-31 21:50:21 +01:00
browser_rows.rs move activeCols into config/ 2021-03-23 18:40:50 +10:00
cloze.rs handle multiple clozes in cloze-only filter 2020-07-29 12:54:29 +10:00
collection.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
dbcheck.rs fix spurious warning in db check for v1 scheduler+non-zero lapse ivl% 2021-03-19 22:57:43 +10:00
err.rs rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
findreplace.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
fluent_proto.rs NF: add AGPL licence missing in some file 2021-01-31 21:50:21 +01:00
i18n.rs plural rules and decimal separator should use bundle's language 2020-12-14 14:23:49 +10:00
latex.rs Add Alt text to latex image 2020-12-30 18:00:06 +01:00
lib.rs move filter code into scheduler/ 2021-03-23 23:55:28 +10:00
log.rs skip terminal logging unless LOGTERM defined 2020-04-07 10:25:47 +10:00
markdown.rs render deck description with markdown; strip images 2021-02-06 15:02:40 +10:00
ops.rs support undo of filtered deck build/empty 2021-03-24 12:56:06 +10:00
preferences.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
prelude.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
serde.rs handle missing deck ID in templates 2021-01-25 16:47:23 +10:00
template_filters.rs add cloze-only filter 2020-07-21 12:59:28 +10:00
template.rs show the empty card message on the back of the card as well 2021-03-01 15:32:31 +10:00
text.rs Return input if decode_entities() encounters error 2021-03-22 12:08:22 +01:00
timestamp.rs rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
types.rs add note/card removal to backend 2020-06-04 18:21:04 +10:00
version.rs don't pass BUILDINFO into build script 2020-12-21 16:04:29 +10:00