Commit graph

533 commits

Author SHA1 Message Date
Arthur Milchior
1993c0af70 Browser introduce method time_format
I expect to use this in my add-on 1243668133 (by monkey patching in
this case) where it would allow to show hours/minutes/seconds... in browser
2020-03-19 22:59:59 +01:00
Arthur Milchior
7192ee96ac hook backup_is_done
I expect to use this hook in add-on 529955533. It'll serve me to
create long term backup at the same time than your backup
2020-03-19 13:21:00 +01:00
Arthur Milchior
6e85e8ccce Hook models_advanced_will_show
This will be useful for add-on 1863928230. I want to let users change
the LaTeX footer/header everywhere.
2020-03-19 12:03:09 +01:00
Arthur Milchior
339bbd88a8 Hook to decide whether a note should be added. 2020-03-19 03:39:53 +01:00
evandrocoan
00424fc404 Added box-sizing: border-box; to typeans by default
https://anki.tenderapp.com/discussions/beta-testing/1854-using-margin-auto-causes-horizontal-scrollbar-on-typesomething
2020-03-18 20:31:11 -03:00
evandrocoan
5d75a0c9f1 Fixed moved comment line on qt/aqt/main.py, long variables names on
pylib/Makefile and qt/Makefile, and rg --version not going to /dev/null
on .github/scripts/trailing-newlines.sh
2020-03-18 11:36:50 -03:00
evandrocoan
51477a4033 Fixed mypy and pylint not building on Windows
1. error: unused 'type: ignore' comment
2. Module 'pywintypes' has no 'error' member
3. Module 'win32pipe' has no 'SetNamedPipeHandleState' member,
   but source is unavailable. Consider adding this module to
   extension-pkg-whitelist if you want to perform analysis based on
   run-time introspection of living objects.
2020-03-17 19:48:16 -03:00
evandrocoan
1fe4860b56 Fixed error: Incompatible types in assignment on qt/aqt/main.py
aqt\main.py:1437: error: Incompatible types in assignment (expression has type Module, variable has type "LibraryLoader[WinDLL]")  [assignment]
                _dummy = wintypes
                         ^
2020-03-17 19:48:16 -03:00
evandrocoan
c4e94ddc20 Fixed typecheck-setup.sh: sudo: command not found on Windows 2020-03-17 19:48:16 -03:00
evandrocoan
105e2a2502 Fixed make check for pylint not working on Windows due
F:\Python\python.exe: can't open file '/cygdrive/f/anki/pyenv/Scripts/pylint': [Errno 2] No such file or directory
2020-03-17 19:48:16 -03:00
Damien Elmes
f3d718eba2 Merge pull request #509 from Arthur-Milchior/type_queue_in_browser
adding missing constants in browser file
2020-03-17 21:33:08 +10:00
Damien Elmes
77e6661517 Merge pull request #506 from Arthur-Milchior/editor_web_view_did_init
Hook editor_web_view_did_init
2020-03-17 20:53:20 +10:00
Damien Elmes
7399486668 Merge pull request #505 from evandroforks/add_typearrow_id
Give the 'typearrow' id to the type answer arrow
2020-03-17 20:52:20 +10:00
Arthur Milchior
552c0cd8a8 adding missing constants in browser file 2020-03-17 06:32:46 +01:00
evandrocoan
219fcb3d9f Give the 'typearrow' id to the type answer arrow 2020-03-16 00:42:08 -03:00
Arthur Milchior
19e7163c2f Hook editor_web_view_did_init
I hope to use this in oder to had features to the web view. In
particular, I expect the "spell checking" feature to use it
hopefully. Because currently it's incompatible with other add-on
dealing with the editor
2020-03-16 04:37:07 +01:00
Damien Elmes
fc34ba40d4 fix dupe colour in day mode 2020-03-15 12:20:29 +10:00
Damien Elmes
9c8e8c2216 fix audio getting stuck (2/2) 2020-03-15 09:34:04 +10:00
Damien Elmes
8cd64bad6a fix audio getting stuck (1/2)
The problem was caused by stop() doing a spin loop on the main
thread waiting for the completion signal. This prevented Qt's run
loop from executing, and so the completion signal was never delivered,
meaning longer files would time out.

Fixed by reworking the code so that stop() does not block at all -
instead it just sets the termination flag, and AVPlayer does not
unset current_player. Then when the completion callback fires, it
can advance to the next file.

TTS code still needs updating, and the lock should be safe to remove
as the start/stop logic is all on the main thread.
2020-03-15 09:26:31 +10:00
Damien Elmes
cf8be89330 imports 2020-03-14 22:10:27 +10:00
Damien Elmes
863e5f5e51 make sure audio queue is cleared when transitioning between cards
https://anki.tenderapp.com/discussions/beta-testing/1846-anki-2122-beta#comment_48150139
2020-03-14 20:04:40 +10:00
Damien Elmes
81e472fdd1 drop the deck count warning 2020-03-14 19:41:33 +10:00
Damien Elmes
1161ac1962 fix play icons not appearing in browser preview when autoplay off 2020-03-14 19:29:11 +10:00
Damien Elmes
61e8a0ed3c possible fix for invalid handle issue
https://anki.tenderapp.com/discussions/ankidesktop/39346-cant-add-audio-on-flash-drive
2020-03-14 18:53:43 +10:00
Damien Elmes
0298a0f09f must close progress before displaying error, or user can't click it away 2020-03-14 18:42:03 +10:00
evandrocoan
d6fecea4ff Fixed BeautifulSoup breaking string paths
https://anki.tenderapp.com/discussions/ankidesktop/39543-anki-is-replacing-the-character-by-when-i-exit-the-html-edit-mode-ctrlshiftx
2020-03-12 21:19:09 -03:00
Damien Elmes
ea3815b34b fix missing zero count styling, and tweak colours 2020-03-12 20:01:25 +10:00
Damien Elmes
7069123a76 copy ftl to source folder in extra-po-string as well 2020-03-12 19:53:52 +10:00
Damien Elmes
29f625b61e add helper to duplicate a fluent string 2020-03-12 19:53:44 +10:00
Damien Elmes
7f9a3dad7e no implicit {} in replacements 2020-03-12 18:02:40 +10:00
Damien Elmes
172cb966c5 add ability to use other path to translation json 2020-03-12 18:02:36 +10:00
Damien Elmes
0651aaa229 add media check window title, use consistent formatting in template 2020-03-12 18:02:22 +10:00
Damien Elmes
3939e800f2 Merge pull request #503 from Arthur-Milchior/error_msg_in_schema
Error msg in schema
2020-03-11 16:00:47 +10:00
Damien Elmes
133b3d9996 fix wrong language selected in prefs screen 2020-03-11 14:58:57 +10:00
Arthur Milchior
5bb0808994 Allow add-on dev to show personalized message.
The error should be in "error_msg"

They can show:
* the original error message with {problem}
* the path of the error with {path},
* the value which does not match against the subchema with {error}
* the subschema against which the error occurs with {schema}

Thanks to Glutanimate for the idea https://github.com/ankitects/anki/pull/495#issuecomment-596685227
2020-03-11 01:39:39 +01:00
Arthur Milchior
c4ee97d707 snake case for addon_schema 2020-03-11 00:56:14 +01:00
Damien Elmes
404a8ca3ec add switch in prefs for new timezone handling code; bump sync version
AD devs: before updating the sync version to 10, please make sure
the new timezone code has been ported over. The core change to the
scheduler is in _updateCutoff():

b198ba8073/pylib/anki/schedv2.py (L1357)

with the following supporting Python functions:

b198ba8073/pylib/anki/schedv2.py (L1410)

 _timing_today() is calculated in Rust (lines up to 92, the rest are
tests):

b198ba8073/rslib/src/sched/cutoff.rs (L20)

The change went through a few iterations before stabilising, so it's
probably easier to refer to the above code than the patches that got
us to that point.
2020-03-10 17:50:18 +10:00
Damien Elmes
e512199ace add restore media action 2020-03-10 13:35:09 +10:00
Damien Elmes
cac9ccfa0d add empty trash action in aqt 2020-03-10 12:49:40 +10:00
Arthur Milchior
7dd2c3ec43 hook single_addon_selected 2020-03-09 12:45:10 +01:00
Arthur Milchior
9f1415a811 hook addons_dialog_will_show 2020-03-09 12:45:10 +01:00
Damien Elmes
bd86e42b2c Merge branch 'master' into more_precise_config_error_message 2020-03-09 19:41:26 +10:00
Damien Elmes
757fc93117 Merge pull request #499 from glutanimate/add-custom-dialogs-to-dialogmanager
Allow add-on authors to register their dialogs with the dialog manager
2020-03-09 19:40:34 +10:00
Damien Elmes
21a7de2741 Merge pull request #494 from Arthur-Milchior/debug_hook
Debug hook
2020-03-09 19:07:36 +10:00
Damien Elmes
0a8fe2959c fix missing newline in ftl files
https://anki.tenderapp.com/discussions/beta-testing/1836-problem-with-new-translations
2020-03-09 18:58:41 +10:00
Arthur Milchior
0a8f339aa3 More precise schema failure message
While creating schema for the add-on I used, I realized that my error
message was not precise enough.

For a big configuration such as in "Enhance main window", the message
"None is not of type 'string'" is almost useless.
So I added a path in the json config, to indicate where the error
is. And also which subschema is currently being used.
2020-03-08 16:38:06 +01:00
Glutanimate
ef8a87446c Elaborate more on the use case and requirements for dialog registration 2020-03-07 17:43:21 +01:00
Glutanimate
5105d297ac Allow add-ons to register custom dialogs with the dialog manager 2020-03-07 17:35:09 +01:00
Glutanimate
49fa1cbc59 Add cursory type annotations for aqt.DialogManager
Typing DialogManager._dialogs properly would require more extensive
changes which could break a number of add-ons
2020-03-07 17:29:37 +01:00
Arthur Milchior
490441b9a7 hook debug_ran_hook 2020-03-06 15:01:22 +01:00
Arthur Milchior
932412993a hook debug_will_show_hook 2020-03-06 15:01:02 +01:00
Damien Elmes
fd69c57ec4 Merge pull request #496 from TooYoungTooSimp/patch-1
Use anki.consts.SYNC_BASE instead of hardcoded url
2020-03-06 21:22:18 +10:00
Damien Elmes
aeb73a6354 Merge pull request #495 from Arthur-Milchior/check_schema_before_accepting
add-on config check schema of user config
2020-03-06 21:14:47 +10:00
雷宇辰
680b98ea32 Use anki.consts.SYNC_BASE instead of hardcoded url
Use `anki.consts.SYNC_BASE` instead of hardcoded url in function `MediaSyncer._endpoint`
2020-03-06 18:55:07 +08:00
Damien Elmes
33e9550b9a fix invert() in packaged builds
invert() was working in the QT 5.14 test environment, but failing
in 5.13
2020-03-06 18:02:22 +10:00
Arthur Milchior
f914354d16 add-on config check schema of user config 2020-03-05 16:31:17 +01:00
Damien Elmes
02caf37f28 fix regression introduced by PR #492 2020-03-05 09:24:26 +10:00
Damien Elmes
42d1223498 Merge pull request #493 from glutanimate/type-annotate-editor-card
Type-annotate editor.card
2020-03-05 07:26:40 +10:00
Damien Elmes
a655dce629 Merge pull request #492 from Arthur-Milchior/print_json_decode_error
print json decode error message
2020-03-05 07:26:17 +10:00
Glutanimate
fce24c6eea Type-annotate editor.card 2020-03-04 17:41:26 +01:00
Arthur Milchior
0210521745 print json decode error message
The main point is to allow add-on dev' to debug their own json
2020-03-04 15:29:48 +01:00
Arthur Milchior
3cca0bb132 config_unprettify_json 2020-03-04 08:25:14 +01:00
Arthur Milchior
ea03fcc526 hook prettify_json 2020-03-04 08:25:14 +01:00
Damien Elmes
43d1c3b865 Merge pull request #454 from glutanimate/display-addon-name-in-config-window
Display add-on name in add-on configuration window title
2020-03-02 16:59:44 +10:00
Damien Elmes
53b2122461 Merge pull request #476 from Arthur-Milchior/hook_browser_init
Hook browser init
2020-03-02 15:40:10 +10:00
Damien Elmes
dabbd18ffa Merge pull request #472 from Arthur-Milchior/hook_init_clayout
Hook init clayout
2020-03-02 15:39:23 +10:00
Alan Du
63a0b36d91 Monkeytype qt/aqt/reviewer.py 2020-03-01 10:16:08 -05:00
Alan Du
c283013ccd Monkeytype qt/aqt/theme.py 2020-03-01 10:16:08 -05:00
Alan Du
9c4e616191 Monkeytype qt/aqt/sound.py 2020-03-01 10:16:08 -05:00
Alan Du
9568c4190a Monkeytype qt/aqt/toolbar.py 2020-03-01 10:16:08 -05:00
Alan Du
c6817d296b Monkeytype qt/aqt/webview.py 2020-03-01 10:16:08 -05:00
Arthur Milchior
e45878c2ee hook for initializing clayout 2020-03-01 11:42:41 +01:00
Arthur Milchior
57efc22d99 browser_did_init 2020-03-01 11:39:41 +01:00
Glutanimate
a36d37d041 Display add-on name in add-on configuration window title 2020-02-29 20:15:23 +01:00
Arthur Milchior
a1da483906 move deck_browser hooks apart 2020-02-29 17:01:38 +01:00
Damien Elmes
935133bed5 fix shared link 2020-02-29 21:43:37 +10:00
Damien Elmes
19ef578556 Merge pull request #473 from evandroforks/fix_docs_urllink
Fixed anki website docs link on pylib/anki/consts.py
2020-02-29 21:39:11 +10:00
Damien Elmes
b4f9b8109c Merge pull request #468 from BlueGreenMagick/fix-comment-setwebexports
allow either \ or / in web exports filter
2020-02-29 21:25:12 +10:00
Damien Elmes
e52ceaed9b restore mpv/mplayer missing warning that got lost in the av changes
and ensure the UI doesn't get temporarily stuck after the command fails
2020-02-29 21:20:08 +10:00
Damien Elmes
61230105fa point user to manual if they're trying to disable night mode in dark mode 2020-02-29 20:44:49 +10:00
BlueGreenMagick
ffb6ae2dc6 match both forward slash and os seperator 2020-02-29 12:36:10 +09:00
evandrocoan
bc5a9da396 Fixed anki website docs link on pylib/anki/consts.py 2020-02-28 22:18:19 -03:00
Arthur Milchior
f20b0e43cd indicate that card_will_show belong to multiple windows 2020-02-28 13:34:48 +01:00
Damien Elmes
749541226e fix _tidy_name() comment 2020-02-28 17:14:47 +10:00
Damien Elmes
80cd519d40 stop fetching qt translations as part of recompile step 2020-02-27 20:38:05 +10:00
Damien Elmes
6aafefbc0c fix echo statement 2020-02-27 20:37:44 +10:00
Damien Elmes
1e03223320 dump po data into json to speed up invocations 2020-02-27 20:37:24 +10:00
Damien Elmes
2de865d7f0 migrate strings with trailing newlines to fluent 2020-02-27 20:36:40 +10:00
Damien Elmes
5f7046e841 strip whitespace in extracted strings 2020-02-27 17:38:02 +10:00
Damien Elmes
56d902b669 fix extract-po-string path 2020-02-27 17:37:40 +10:00
Damien Elmes
f5f2063211 remove submodule that crept into Alan's patch 2020-02-27 14:33:15 +10:00
evandrocoan
59d45f309a Merge remote-tracking branch 'danielelmes/master' into fix_windows_build
# Conflicts:
#	CONTRIBUTORS
2020-02-27 00:54:16 -03:00
Alan Du
df55645ced Apply mypy improvements to aqt 2020-02-26 22:27:58 -05:00
evandrocoan
4a2456f62f Merge remote-tracking branch 'danielelmes/master' into fix_windows_build
# Conflicts:
#	Makefile
2020-02-27 00:20:34 -03:00
Damien Elmes
fcc965e81a Merge pull request #462 from Arthur-Milchior/filter_empty_card
Add a hook to change empty cards to delete
2020-02-27 12:53:52 +10:00
Damien Elmes
93c2e04267 FString -> TR 2020-02-27 12:25:19 +10:00
Damien Elmes
3dc0567f89 add string for media log title, and add button in prefs to access it 2020-02-27 12:22:24 +10:00
Damien Elmes
83d894ac87 return a localized error for all error kinds
some errors are not yet localized, but now the Python code
doesn't need to think about which property to use
2020-02-27 10:46:24 +10:00
Arthur Milchior
228db67c93 Add a hook to change empty cards to delete 2020-02-26 10:59:34 -08:00
Damien Elmes
946a2e6a3e add missing short argument to legacy fmtTimeSpan() 2020-02-26 20:36:59 +10:00