Anki/rslib/src/backend
Damien Elmes b8bdc5824b clear_unused_tags and browser redraw improvements
- clear_unused_tags() is now undoable, and returns the number of removed
notes
- add a new mw.query_op() helper for immutable queries
- decouple "freeze/unfreeze ui state" hooks from the "interface update
required" hook, so that the former is fired even on error, and can be
made re-entrant
- use a 'block_updates' flag in Python, instead of setUpdatesEnabled(),
as the latter has the side-effect of preventing child windows like
tooltips from appearing, and forces a full redrawn when updates are
enabled again. The new behaviour leads to the card list blanking out
when a long-running op is running, but in the future if we cache the
cell values we can just display them from the cache instead.
- we were indiscriminately saving the note with saveNow(), due to the
call to saveTags(). Changed so that it only saves when the tags field
is focused.
- drain the "on_done" queue on main before launching a new background
task, to lower the chances of something in on_done making a small query
to the DB and hanging until a long op finishes
- the duplicate check in the editor was executed after the webview loads,
leading to it hanging until the sidebar finishes loading. Run it at
set_note() time instead, so that the editor loads first.
- don't throw an error when a long-running op started with with_progress()
finishes after the window it was launched from has closed
- don't throw an error when the browser is closed before the sidebar
has finished loading
2021-03-19 19:45:21 +10:00
..
scheduler undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
sync split out sync, notetypes and config code 2021-03-11 15:47:31 +10:00
adding.rs Simplify note adding and the deck/notetype choosers 2021-03-10 11:53:27 +10:00
card.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
cardrendering.rs split out remaining rpc methods 2021-03-11 17:04:32 +10:00
collection.rs more reset refactoring 2021-03-19 19:45:21 +10:00
config.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
dbproxy.rs move collection mtime bump into backend 2021-03-19 19:45:21 +10:00
deckconfig.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
decks.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
err.rs move sync/err backend code into separate files 2021-03-10 11:53:27 +10:00
generic.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
i18n.rs split out remaining rpc methods 2021-03-11 17:04:32 +10:00
media.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
mod.rs derive reset scope from last undoable operation 2021-03-19 19:45:21 +10:00
notes.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
notetypes.rs split out sync, notetypes and config code 2021-03-11 15:47:31 +10:00
ops.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
progress.rs move progress and search backend code into separate files 2021-03-10 11:53:27 +10:00
search.rs undoable ops now return changes directly; add new *_ops.py files 2021-03-19 19:45:21 +10:00
stats.rs split out stats, media and search 2021-03-11 16:16:40 +10:00
tags.rs clear_unused_tags and browser redraw improvements 2021-03-19 19:45:21 +10:00