anki/qt
Damien Elmes 112cbe8b59 experiment with finer-scoped reset in perform_op()
Basic proof of concept, where the 'delete note' operation in the
reviewer has been updated to use mw.perform_op(). Instead of manually
calling .reset() afterwards, a summary of the changes is returned as
part of the undo status query, and various parts of the GUI can listen
to gui_hooks.operation_did_execute and decide whether they want to
redraw based on the scope of the changes. This should allow the sidebar
to selectively redraw just the tags area in the future for example.

Currently we're just listing out all possible areas that might be changed;
in the future we could theoretically inspect the specific changes in the
undo log to provide a more accurate report (avoiding refreshing the tags
list when no tags were added for example).

You can test it out by opening the browse screen while studying, and
then deleting the current card - the browser should update to show (deleted)
on the cards due the earlier change.

If going ahead with this, aside from updating all the screens that currently
listen for resets, some thought will be required on how we can integrate
it with legacy code that expects to called when resets are made, and expects
to call .reset() when it makes changes.

Thoughts?
2021-03-19 19:45:21 +10:00
..
aqt experiment with finer-scoped reset in perform_op() 2021-03-19 19:45:21 +10:00
icons move remaining Filter button items into sidebar 2021-02-05 18:58:22 +10:00
linux remove old symlink before installing a new version 2020-12-30 20:56:28 +10:00
mac exclude Mac dylib from '...' 2021-02-04 20:41:08 +10:00
tests start work on more clearly defining backend/protobuf boundaries 2021-01-31 18:55:45 +10:00
tools experiment with finer-scoped reset in perform_op() 2021-03-19 19:45:21 +10:00
.isort.cfg initial Bazel conversion 2020-11-01 14:26:58 +10:00
.pylintrc tweak search wording and tidy up API 2021-02-11 19:57:19 +10:00
bazelfixes.py fix deprecation error on startup on Windows 2020-12-16 15:56:10 +10:00
BUILD.bazel document ANKI_PROFILE_CODE and add bazel command to run snakeviz 2020-12-17 12:03:24 +10:00
dmypy-watch.sh add a bunch of return types 2021-02-01 23:53:23 +10:00
mypy.ini add remaining types and disable missing types on (almost) all aqt 2021-02-03 00:00:29 +10:00
README.md minor doc updates 2020-12-11 22:37:12 +10:00
runanki.py fix pywintypes issue when running tests on Windows 2020-11-02 21:36:01 +10:00

Python's Qt GUI is in aqt/