Anki/pylib/anki
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 split out remaining rpc methods 2021-03-11 17:04:32 +10:00
importing fix note importing detecting changes due to unicode differences 2021-03-22 10:56:24 +10:00
scheduler rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
syncserver update to latest mypy_protobuf 2021-02-03 13:31:52 +10:00
__init__.py minor code cleanups with pyupgrade 2021-02-11 09:43:40 +10:00
BUILD.bazel fix _backend files not getting format checked 2021-01-31 18:56:16 +10:00
buildinfo.py fix some warnings on startup 2020-12-16 15:38:24 +10:00
cards.py more reset refactoring 2021-03-19 19:45:21 +10:00
collection.py Merge pull request #1082 from RumovZ/backend-rows 2021-03-23 18:31:42 +10:00
config.py 'set due date' now undoable 2021-03-12 14:50:31 +10:00
consts.py add some typehints, and remove some unused code 2021-01-31 20:56:21 +10:00
db.py add some typehints, and remove some unused code 2021-01-31 20:56:21 +10:00
dbproxy.py commit immediately when there's no active checkpoint 2021-03-10 11:47:53 +10:00
decks.py rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
errors.py rework filtered deck screen & search errors 2021-03-24 22:04:35 +10:00
exporting.py remove unnecessary setMod() calls 2021-03-10 11:47:53 +10:00
find.py change bulk_update() into find_and_replace_tag() 2021-03-19 19:45:21 +10:00
hooks.py add more typing, and enable checks for missing types for most of pylib 2021-01-31 21:38:36 +10:00
hooks_gen.py symlink generated .py/.pyi into tree to fix Python code completion 2020-12-16 11:36:42 +10:00
httpclient.py minor code cleanups with pyupgrade 2021-02-11 09:43:40 +10:00
lang.py fix rsbackend compat issues 2021-02-08 09:51:51 +10:00
latex.py undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
media.py convert some pylib strings to f-strings with flynt 2021-02-11 09:51:09 +10:00
models.py remove unnecessary setMod() calls 2021-03-10 11:47:53 +10:00
notes.py Simplify note adding and the deck/notetype choosers 2021-03-10 11:53:27 +10:00
py.typed mark anki and aqt modules as having typing info 2020-01-13 13:03:37 +10:00
rsbackend.py fix rsbackend compat issues 2021-02-08 09:51:51 +10:00
sound.py support speed control in tts tags 2020-01-26 14:31:07 +10:00
stats.py use top level defs for protobuf enum cases 2021-02-05 19:26:13 +10:00
statsbg.py tweaking the folder names again 2020-01-03 07:48:38 +10:00
stdmodels.py update to latest mypy_protobuf 2021-02-03 13:31:52 +10:00
storage.py storage->collection 2020-05-20 17:58:28 +10:00
sync.py start work on more clearly defining backend/protobuf boundaries 2021-01-31 18:55:45 +10:00
tags.py speed up tag drag&drop and finish tag tidyup 2021-03-19 19:45:21 +10:00
template.py make flag changes in the reviewer undoable 2021-03-10 11:53:27 +10:00
types.py move remaining Filter button items into sidebar 2021-02-05 18:58:22 +10:00
utils.py Revert "ensure fields normalized before checksumming" 2021-03-17 22:21:13 +10:00
wheel_description.txt move aqt_data into source folder; implement wheel building 2020-11-04 12:14:03 +10:00