Anki/pylib/anki
Arthur Milchior ce2f4136ea
Empty cards become undoable (#3386)
* Empty cards is undoable

If there was a reason for this operation not to be undoable, I can't easily guess it. My main hyposhesis was that the number of deleted card may be too big. But I realized that deleting a deck is undoable and may delete as many note.

As you may know, I realized that only the undoable operations triggered notification in AnkiDroid that we may have to update the UI. And while I just wanted to trigger more notifications, some reviewers thought it would be nicer if the operation were returning a OpChanges. So here it's done. If you would please consider merging it.

I decided to introduce a new string because the closest strings I could find currently are "Empty cards..." and the trailing commas don't seem nice in "undo". And the title, which we may not be able to reuse in all language

* Don't count cards that have already been removed (dae)
2024-08-29 20:06:41 +07:00
..
_vendor Update Python deps 2023-03-31 14:04:05 +10:00
foreign_data Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
importing Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00
scheduler Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
_backend.py Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
_legacy.py Update type annotations (#3322) 2024-07-26 17:57:25 +07:00
_rsbridge.pyi style: reformat with black (#3324) 2024-07-26 17:58:57 +07:00
browser.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
cards.py fix: add proper imports (#3296) 2024-08-05 11:34:46 +07:00
collection.py Empty cards become undoable (#3386) 2024-08-29 20:06:41 +07:00
config.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
consts.py Strip out v1/v2 code 2023-09-24 14:27:40 +10:00
db.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
dbproxy.py Update type annotations (#3322) 2024-07-26 17:57:25 +07:00
decks.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
errors.py Remove v1/v2 support from the backend (#2727) 2023-10-14 10:50:59 +10:00
exporting.py Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
find.py Add py3.9 to hooks (#1542) 2021-12-09 09:11:22 +10:00
hooks.py Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00
httpclient.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
lang.py Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00
latex.py Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00
media.py Update type annotations (#3322) 2024-07-26 17:57:25 +07:00
models.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
notes.py Refactor ephemeral_card of notes (#3307) 2024-07-21 15:25:48 +07:00
py.typed mark anki and aqt modules as having typing info 2020-01-13 13:03:37 +10:00
rsbackend.py PEP8 for rest of pylib (#1451) 2021-10-25 14:50:13 +10:00
sound.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
stats.py refactor: use not in and is not as recommended (#3351) 2024-08-10 17:55:26 +07:00
statsbg.py Update licensing information (#2850) 2023-11-27 11:35:51 +10:00
stdmodels.py Update type annotations (#3322) 2024-07-26 17:57:25 +07:00
storage.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
sync.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
syncserver.py Update Rust and Python deps (#2567) 2023-07-01 18:26:43 +10:00
tags.py Update type annotation syntax (#3283) 2024-07-21 14:00:52 +07:00
template.py python: add missing type annotations for None values (#3364) 2024-08-22 16:03:44 +07:00
types.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
utils.py Improve exception handling (#3290) 2024-08-04 20:51:13 +07:00