Damien Elmes
f6767d1cff
fix lint issues
2020-05-16 12:20:20 +10:00
Damien Elmes
0c340eba64
fix+speed up deck list from Filters button
...
I don't think it makes much sense to keep these lists that largely
duplicate the sidebar functionality, but they remain for now.
2020-05-16 11:54:08 +10:00
Damien Elmes
f2086fc2e3
switch to new deck tree in deck browser
...
Saves us having to look up collapsed/filtered as we render, and gives
us type completion.
2020-05-16 10:52:14 +10:00
Damien Elmes
75d3eebafe
drop usage of nameMap in deckbrowser
...
It was unnecessary, and being called multiple times as we recursed
downwards, slowing things down.
2020-05-16 10:02:08 +10:00
Damien Elmes
83adfb60cf
avoid duplicate reset in overview
2020-05-15 21:54:56 +10:00
Damien Elmes
964a69e54e
handle default deck and filtered deck suppression in the backend
2020-05-15 21:21:10 +10:00
Damien Elmes
2ac33500eb
fetch stock notetypes from backend
2020-05-15 17:08:24 +10:00
Damien Elmes
f650e5557f
add back card deletion count
...
cheaper to look up now that there's an index on notes.mid
2020-05-15 15:28:07 +10:00
Damien Elmes
00db72e365
show (Deck) when card hasn't been added
2020-05-15 15:01:28 +10:00
Damien Elmes
ed52a4dc3f
when previewing cards, use the default deck for now
...
Replay code needs to be able to retrieve deck options. We should
probably use the current deck or pass it in in the future.
2020-05-15 14:50:57 +10:00
Damien Elmes
68e1303880
update replay suppression in clayout
2020-05-15 14:26:00 +10:00
Damien Elmes
46c363d4aa
track changes in fields dialog as well
...
And avoid bumping schema until user actually saves, but warn at
start.
2020-05-15 13:59:44 +10:00
Damien Elmes
f1c5c88c10
no longer need to check addNote's return value
2020-05-14 21:59:42 +10:00
Damien Elmes
24ffb6ab76
check for empty cloze cards when rendering as well
2020-05-14 21:56:45 +10:00
Damien Elmes
782911471b
add "fill empty" checkbox
2020-05-14 20:58:45 +10:00
Damien Elmes
9a222e620a
update Add Field button
2020-05-14 18:01:15 +10:00
Damien Elmes
c5d574e9f4
use group box instead of tabs in card layout screen
2020-05-14 17:26:40 +10:00
Damien Elmes
5167bb57be
start reworking card layout screen
...
- front/back/css shown in tabs
- front/back preview switchable; only one webview needs to be loaded
- dropdown to select cloze number in preview
- search box to search in front/back/css
2020-05-14 15:24:29 +10:00
Damien Elmes
f23eb350e4
drop availOrds(), and use backend for getting cloze numbers
2020-05-14 12:14:00 +10:00
Damien Elmes
c601dcef24
remove obsolete preview code
2020-05-14 09:22:53 +10:00
Damien Elmes
6680cdf1d3
update the card layout screen
...
- changes are now committed in bulk when closing the dialog,
and can be canceled
- it's not necessary to save the note to the database to preview it
- duplicate fields are now shown as duplicates in the top list
- redraw preview more quickly
- use + instead of _ when deduplicating names, as the latter is a
glob character
2020-05-13 17:24:49 +10:00
Damien Elmes
12b8fe6147
don't hide static template text when card is empty
2020-05-13 11:17:44 +10:00
evandrocoan
3f517c71e4
Remove unused t = time.time() variable on qt/aqt/browser.py
2020-05-12 15:09:22 -03:00
evandrocoan
f8c6300e27
Also fix legacy.py::anki.sound._soundReg accepting empty tags
2020-05-12 12:43:35 -03:00
Damien Elmes
9317cee9ba
handle scheduling preferences in the backend
2020-05-12 21:13:34 +10:00
Damien Elmes
70cc1699a6
rewrite DB check
...
- notes with wrong field count are now recovered instead of
being deleted
- notes with missing note types are now recovered
- notes with missing cards are now recovered
- recover_missing_deck() still needs implementing
- checks required
2020-05-12 21:13:34 +10:00
Damien Elmes
2413f286b1
bulk tag add/remove/update; canonify on note save
...
also remove the tag list updated hook - we'll need a better solution in
the future than having the library code call back into the GUI code
2020-05-12 21:13:34 +10:00
Damien Elmes
7bab99d873
support disabling unicode normalization in notes
2020-05-12 21:13:34 +10:00
Damien Elmes
05ca797ee6
add pep8 name for findReplace
2020-05-12 21:13:34 +10:00
Damien Elmes
29379a9a50
update extract-po-string to handle plurals again
2020-05-12 21:13:34 +10:00
Damien Elmes
1852e32183
update find&replace in browser
...
sadly the UI still stutters on large selections - the calls
to get the selected rows from Qt are really slow.
2020-05-12 21:13:34 +10:00
Damien Elmes
c51ca666c3
catch schema mod in background
...
If the schema confirmation dialog is shown on a background thread it
will crash the app, so we convert this to an assertion error that gets
caught by the error handler. Code still needs to be updated to modify
the schema prior to moving to the background, but at least this way
it doesn't crash.
2020-05-12 21:13:34 +10:00
Damien Elmes
6e6d9ee1a3
check untyped in clayout
2020-05-12 21:13:34 +10:00
Damien Elmes
9f585d4d38
remove an unused import
2020-05-12 21:13:34 +10:00
Damien Elmes
25f122bf5c
update fields and models diags
...
- field changes are now applied when user closes dialog with save
button, in bulk
- models diag now fetches note type and saves it as required, instead
of holding on top a copy that can grow stale as changes are made in
subdialogs
- both dialogs now perform operations in the backend
- note.model() now fetches the note type on the fly, instead of
holding on to a copy that may become stale
2020-05-12 21:13:34 +10:00
Damien Elmes
f6931197d2
add helper to run background task with progress
2020-05-12 21:13:34 +10:00
Damien Elmes
36c1d1cf8c
reuse existing use count in note types screen
2020-05-12 21:13:33 +10:00
Damien Elmes
ce104d16a3
mypy/isort fixes
2020-05-12 21:13:33 +10:00
Damien Elmes
238441f2d9
use the backend for the deck due tree
...
- approx 3x faster on a large test deck
- counts are no longer capped to 1000 in the tree
2020-05-12 21:13:33 +10:00
Damien Elmes
67421e02ec
add browserCollapsed as part of tree build
2020-05-12 21:13:33 +10:00
Damien Elmes
a0160d7f1e
fix mypy issues
2020-05-12 21:13:33 +10:00
Damien Elmes
a88bc1e836
speed up browser load by rendering deck tree in Rust and skipping counts
2020-05-12 21:13:33 +10:00
Damien Elmes
0bb80329e8
ensure collection doesn't get stuck open if loading fails
2020-05-12 21:13:33 +10:00
Damien Elmes
23586ffe90
catch template errors, and start on discarding changes to fields/cards
...
This is only a first step - all the current methods that implicitly
save need to be updated.
2020-05-12 21:13:33 +10:00
Damien Elmes
6e8860cafa
hook the empty cards code up to the GUI
2020-05-12 21:13:33 +10:00
Damien Elmes
f637ac957d
hook up new note and note type handling
...
- notetypes are fetched from the DB as needed, and cached in Python
- handle note type changes in the backend. Multiple operations can now
be performed in one go, but this is not currently exposed in the GUI.
- extra methods to grab sorted note type names quickly, and fetch by
name
- col.models.save() without a provided notetype is now a no-op
- note loading/saving handled in the backend
- notes with no valid cards can now be added
- templates can now be deleted even if they would previously
orphan notes
a number of fixmes have been left in notes.py and models.py
2020-05-12 21:13:33 +10:00
Damien Elmes
1ca7fb4a80
use quick check instead of full integrity check on collection close
2020-05-12 21:13:33 +10:00
Damien Elmes
85b28f13d2
avoid installing pyaudio on every run
2020-05-12 21:10:21 +10:00
Damien Elmes
436bdd6970
Merge pull request #611 from evandroforks/automatically_install_pyaudio_on_make_check
...
Automatically install pyaudio when running make check
2020-05-12 20:44:25 +10:00
Damien Elmes
74c97ad6d3
bump version
2020-05-11 19:28:17 +10:00
Damien Elmes
4e44694136
Revert "use isolation characters instead of direction markers in cloze handling"
...
This reverts commit e838769d02
.
Caused a regression:
https://anki.tenderapp.com/discussions/ankidesktop/41384-cloze-deletions-in-2125-and-2126
2020-05-11 19:25:49 +10:00
evandrocoan
5f9dbf9b7d
Set to restart Anki application after profile directory migration
...
Ask user confirmation before moving the Anki directory
https://github.com/ankitects/anki/pull 610
2020-05-10 18:30:58 -03:00
evandrocoan
4cf64519fb
Automatically install pyaudio when running make check
2020-05-09 13:26:42 -03:00
Damien Elmes
7078415405
avoid renaming completer_, as add-ons depend on it
2020-05-08 18:17:57 +10:00
Damien Elmes
c02716ccd8
python formatting+lints
2020-05-08 17:30:27 +10:00
Damien Elmes
2a0d40e15d
stats area grouping box fix
...
https://anki.tenderapp.com/discussions/beta-testing/1928-cosmetic-issue
2020-05-08 16:03:29 +10:00
Damien Elmes
4a26e2ba77
bundle socks
...
https://anki.tenderapp.com/discussions/ankidesktop/39801-sync-error
2020-05-08 15:26:19 +10:00
evandrocoan
9f5c69ee94
Keep an window open showing the migration is in progress
2020-05-07 15:03:43 -03:00
evandrocoan
453da45c99
Ask user confirmation before moving the Anki directory
...
https://anki.tenderapp.com/discussions/ankidesktop/41245-unwanted-file-movingdeleting-behavior
2020-05-07 14:59:19 -03:00
Damien Elmes
961833a137
avoid mention of pip
2020-05-05 16:30:22 +10:00
Damien Elmes
2f57c646e0
benchmark->profile, and remove from error branches
2020-05-05 16:28:49 +10:00
Damien Elmes
e7ebcc7c75
Merge pull request #605 from evandroforks/benchmark_option
...
Created the --benchmark command line option
2020-05-05 16:23:00 +10:00
Damien Elmes
16d0bf24b4
Merge pull request #608 from evandroforks/fix_missing_pyaudio_import
...
Fix missing pyaudio blocking Anki from running
2020-05-05 16:22:34 +10:00
evandrocoan
0006269c01
Used showWarning asking the user to install pyaudio
2020-05-05 00:00:48 -03:00
evandrocoan
338e904bd4
Created the ANKI_RUN_BENCHMARK environment variable replacing
...
the command line argument.
2020-05-04 23:46:13 -03:00
evandrocoan
2e11a596aa
Fixed profiler word misspelling and stopped trimming the output
2020-05-04 23:15:23 -03:00
Damien Elmes
08f894735a
Merge pull request #607 from Arthur-Milchior/remove_a_try
...
Simplify the copying of field contents when resetting
2020-05-05 11:36:17 +10:00
Damien Elmes
b932333246
fix card layout screen on qt 5.9 regression ( #592 )
2020-05-05 11:26:13 +10:00
evandrocoan
b671c8e627
Fix missing pyaudio blocking Anki from running
...
https://github.com/ankitects/anki/pull 606
Remove pyaudio as mandatory dependency
2020-05-04 13:44:12 -03:00
Damien Elmes
5236e20a7a
Merge pull request #580 from Arthur-Milchior/debug_diag
...
mw.debug_diag is the dialog and not the window
2020-05-04 14:07:15 +10:00
Damien Elmes
9502fe790f
Merge pull request #584 from Arthur-Milchior/onModelchangeUsed
...
On modelchange used
2020-05-04 14:06:35 +10:00
Damien Elmes
6c20e5a7df
Merge pull request #585 from Arthur-Milchior/addButtonSaveNewFunction
...
addButton always save function
2020-05-04 13:58:46 +10:00
Damien Elmes
d98e3fa371
Merge pull request #606 from evandroforks/remove_pyaudio_as_dependency
...
Remove pyaudio as mandatory dependency
2020-05-04 13:37:19 +10:00
Damien Elmes
eec3fcf87a
use qconnect everywhere, and fix some typing issues
...
a step towards check_untyped_defs in aqt, but there's still 100+
issues to resolve
2020-05-04 13:23:08 +10:00
Damien Elmes
164fdb37d5
fix saving searches in browser
2020-05-04 12:26:50 +10:00
evandrocoan
1e4748d45e
Remove pyaudio as mandatory dependency
...
Pyaudio on Windows is difficult to install and complicates things
when someone is using the wheels just for autocomletion on IDEs as
PyCharm:
https://anki.tenderapp.com/discussions/add-ons/44009-problems-with-code-completion
2020-05-03 23:05:38 -03:00
evandrocoan
b63bfc83d8
Created the --benchmark command line option
...
https://anki.tenderapp.com/discussions/ankidesktop/41106-card-audio-playback-changes-bug-in-212x
Based on the snippet: https://gist.github.com/evandrocoan/961d46e10424e53ba8946fac66e0efac
2020-05-03 20:34:43 -03:00
Arthur Milchior
f2fbf667cd
onModelChange: replacing try by if
2020-05-03 01:53:00 +02:00
Arthur Milchior
d427e1028b
single try in onModelChange
2020-05-03 01:53:00 +02:00
Arthur Milchior
936bb31997
onModelChange save note
...
I like the way onModelChange is done. Except that you forget to use
the note you computed.
2020-05-03 01:53:00 +02:00
Damien Elmes
b337dda8df
bump version
2020-05-02 10:22:00 +10:00
evandrocoan
a48fa4ad87
Add missing aqt and anki modules dependency requirements
2020-04-30 17:30:22 -03:00
Damien Elmes
9645b85df8
fix deck confs not deleting
...
https://anki.tenderapp.com/discussions/ankidesktop/41044-bug-report-anki-2124-macos-deleting-unused-option-groups
2020-04-30 08:10:29 +10:00
BlueGreenMagick
be6a5e2f13
Set tab width to 4 spaces
...
setTabStopWidth is deprecated, and setTabStopDistance is preferred
It's not entirely accurate however, which you can see
when you compare 10 tabs and 40 spaces
2020-04-29 11:34:09 +09:00
Damien Elmes
00cf4fc585
bump version
2020-04-28 08:57:56 +10:00
Arthur Milchior
3378daeca3
remove an useless asignment
...
Because fields of new notes are empty by default
2020-04-28 00:31:30 +02:00
Arthur Milchior
93d83e760b
remove a try, for code clarity
2020-04-28 00:31:24 +02:00
Damien Elmes
0c8f6ced09
Revert "Merge pull request #583 from Arthur-Milchior/remove_a_try"
...
This reverts commit e9ca61d1eb
, reversing
changes made to abb80231a5
.
2020-04-28 07:38:23 +10:00
Arthur Milchior
e86817305a
mw.debug_diag is the dialog and not the window
...
This will allow, for example, for add-ons to do self.debugDiag.text
and access the debugger text. I see very little reason to have a
direct access to the dialog window.
I should note that self.debugDiag is never used anywhere in the code,
so I think it should be deleted; unless you've heard of some add-on
using it.
2020-04-27 11:55:33 +02:00
Damien Elmes
e9ca61d1eb
Merge pull request #583 from Arthur-Milchior/remove_a_try
...
Simplify the code slightly
2020-04-27 19:12:00 +10:00
Damien Elmes
abb80231a5
Merge pull request #582 from evandroforks/fix_make_clean
...
Fixed make clean rule not working on Windows
2020-04-27 19:10:21 +10:00
Damien Elmes
5746302817
Merge pull request #581 from BlueGreenMagick/use-var-name
...
use variable names
2020-04-27 19:10:04 +10:00
Arthur Milchior
31164adaec
addButton always save function
2020-04-26 17:01:47 +02:00
Arthur Milchior
e4a0ccc059
remove an useless asignment
...
Because fields of new notes are empty by default
2020-04-26 14:49:16 +02:00
Arthur Milchior
1771be8f1e
remove a try, for code clarity
2020-04-26 14:49:11 +02:00
BlueGreenMagick
f23a361876
use variable names
2020-04-26 15:47:19 +09:00
evandrocoan
26480fb13c
Fixed make clean rule not working on Windows
2020-04-26 03:02:02 -03:00
evandrocoan
06056236c0
Fixed build-mo-files not failing the build when msgmerge
...
is not found:
https://github.com/ankitects/anki/runs/617116053?check_suite_focus=true#step:27:1244
The build was not falling because when you do `(commands)` in a
shell script, the `set -e` directive is not inherited. Then, either
do not start a new shell or just use an if to test the error condition.
2020-04-25 05:17:24 -03:00
Damien Elmes
361959bdc4
Merge pull request #573 from evandroforks/printWidth100
...
Set .prettierrc printWidth to 88 because the default is too short
2020-04-23 20:01:58 +10:00
evandrocoan
51ec5d0fa9
Set .prettierrc printWidth to 88 because the default is too short
2020-04-22 23:11:03 -03:00