Commit graph

351 commits

Author SHA1 Message Date
Glutanimate
7e213bdcd5 Pass CardInfoDialog context to stdHtml 2020-02-12 22:12:45 +01:00
Glutanimate
d7836e3af8 Add webview_will_set_content hook & update supporting code accordingly 2020-02-12 22:00:13 +01:00
Glutanimate
88b5d94513 Refactor web view title setting and add titles to all web views
Simplifies debugging web views
2020-02-12 21:03:11 +01:00
Damien Elmes
5faaf35eec fix odd outline in replay button, and center align
https://anki.tenderapp.com/discussions/beta-testing/1708-anki-2120-beta#comment_48079637
2020-02-12 09:18:32 +10:00
Damien Elmes
faded8f56d study screen -> overview screen wording
This is a test change to see how Crowdin handles wording tweaks
2020-02-12 09:02:48 +10:00
Damien Elmes
369c810778 update translations 2020-02-12 08:59:14 +10:00
Damien Elmes
084e059508 constrain editor and reviewer image width to container width
view height still makes more sense in the reviewing screen so images
are relative to the window instead of the document
2020-02-12 08:33:55 +10:00
Damien Elmes
89f926f177 night mode fix for find dupes screen 2020-02-12 08:28:33 +10:00
Damien Elmes
e64b1e0ca2 provide easy access to browser from preview/dupes handlers 2020-02-12 08:28:21 +10:00
Damien Elmes
27dabaeaa6 tweak wording 2020-02-12 08:14:16 +10:00
Damien Elmes
f8338b094d move export notes action to the notes menu 2020-02-12 08:09:12 +10:00
Arthur Milchior
097e6d4b46 Adding export option in Browser 2020-02-11 10:50:59 -08:00
Arthur Milchior
c16a3954fa browser._exporting 2020-02-11 10:50:59 -08:00
Arthur Milchior
078a10ae55 Replace list of deck by "Browser Selection" 2020-02-11 10:50:59 -08:00
Arthur Milchior
9c158e615e if cards are selected, default is apkg 2020-02-11 10:50:59 -08:00
Arthur Milchior
d1183df830 aqt.exporter takes extra argument cid 2020-02-11 10:49:13 -08:00
Damien Elmes
897f7ed249 fix error when double-clicking open profile button
https://anki.tenderapp.com/discussions/ankidesktop/38670-bug-when-auto-sync-is-enabled-and-open-profile-button-is-double-clicked
2020-02-10 09:32:56 +10:00
Damien Elmes
6096d19b85 work around HTML editor race condition on macOS
https://anki.tenderapp.com/discussions/beta-testing/1785-cant-see-html-boxes
2020-02-10 09:25:11 +10:00
Damien Elmes
a7348f0d23 ensure the inverted images don't appear over toolbar 2020-02-09 09:30:37 +10:00
Damien Elmes
c8eb939231 support AnkiMobile's drawings in night mode 2020-02-09 09:20:08 +10:00
Damien Elmes
fc40182335 pass instance to webview_did_receive_js_message instead of string 2020-02-09 08:59:29 +10:00
Damien Elmes
b4761698cb Merge pull request #441 from Arthur-Milchior/hookRefreshOverview
Allow to change main window when overview/deckbrowser is shown
2020-02-09 08:02:41 +10:00
Arthur Milchior
0d23f5dafb Allow to change main window when overview/deckbrowser is shown 2020-02-08 08:09:12 -08:00
Damien Elmes
cc27baef35 formatting 2020-02-07 17:55:26 +10:00
Damien Elmes
c8f3c5819d don't filter strong/em; sort list of tags 2020-02-07 17:55:17 +10:00
Damien Elmes
e0d81675c2 update translations 2020-02-07 13:26:15 +10:00
Damien Elmes
d20ac6f341 more legible graph colours in night mode 2020-02-07 13:21:46 +10:00
Arthur Milchior
769c806c2d correct missing french translation 2020-02-05 20:48:30 -08:00
Arthur Milchior
607bcc55c2 Reformatting through black 2020-02-04 08:47:36 -08:00
Arthur Milchior
611ce618a8 QUEUE and TYPE day learn, relearn 2020-02-04 08:47:36 -08:00
Arthur Milchior
41ffdbd504 QUEUE_TYPE_REV and CARD_TYPE_REV 2020-02-04 08:47:36 -08:00
Arthur Milchior
44368caf55 CARD_TYPE_LRN and QUEUE_TYPE_LRN 2020-02-04 08:47:35 -08:00
Damien Elmes
16e9a9c32f clearer variable names 2020-02-04 17:10:20 +10:00
Damien Elmes
ff466ff3e9 minor wording tweak 2020-02-04 17:06:41 +10:00
Damien Elmes
511d2cf469 default human_version to None 2020-02-04 17:03:21 +10:00
Damien Elmes
89ad3ae00c Merge pull request #435 from ijgnd/debug2
Extend Copy Debug Info and add human_version to manifest.json
2020-02-04 17:01:50 +10:00
ijgnd
aabfb83fb5 about.py - some type hints 2020-02-04 04:16:51 +01:00
ijgnd
0c4f520725 Extend Copy Debug Info 2020-02-04 04:16:51 +01:00
ijgnd
486c5871af add human_version to manifest.json
edit 7586c67 add human_version to manifest.json
2020-02-04 04:16:12 +01:00
Arthur Milchior
e27b2ff554 QUEUE_TYPE_NEW and CARD_TYPE_NEW 2020-02-03 02:24:37 -08:00
Arthur Milchior
e5b4dc62ae radioCram 2020-02-03 02:24:37 -08:00
Arthur Milchior
0a4641cc2d radioPreview 2020-02-03 02:24:37 -08:00
Arthur Milchior
e4d698e399 radioAhead 2020-02-03 02:24:37 -08:00
Arthur Milchior
1ffde9ca7f radioForgot 2020-02-03 02:24:37 -08:00
Arthur Milchior
d2007462da radiorRev 2020-02-03 02:24:37 -08:00
Arthur Milchior
46c62526d0 radioNew 2020-02-03 02:24:37 -08:00
Damien Elmes
b8f90f4e4b add option to disable audio interrupting 2020-02-03 08:55:14 +10:00
Damien Elmes
85b3a1dc94 formatting 2020-02-02 13:09:02 +10:00
Damien Elmes
62b5c4bf73 only apply padding fix to stats screen
It was breaking the display of dialogs like the filtered deck screen
2020-02-02 13:07:24 +10:00
Damien Elmes
6dbbc52d1a more contrast on buttons and scrollbars 2020-02-02 12:53:35 +10:00
Damien Elmes
c1c1a54ea8 match fusion bars to webview bars, bump size again 2020-02-02 12:25:07 +10:00
Damien Elmes
55c8a10a9d fix gridline color in macOS dark mode
https://anki.tenderapp.com/discussions/beta-testing/1752-beta7-nightmode-issues-on-mac
2020-02-02 12:01:27 +10:00
Damien Elmes
cca836de34 make pylint happy 2020-01-31 14:30:41 +10:00
Damien Elmes
3377fea96c only import darkdetect on a Mac 2020-01-31 14:14:54 +10:00
Damien Elmes
596a38d0f8 mypy+darkdetect fix 2020-01-31 13:45:25 +10:00
Damien Elmes
fe9f886955 update translations 2020-01-31 13:44:46 +10:00
Damien Elmes
74f5acce6e when dark mode not active, match fusion buttons 2020-01-31 13:39:52 +10:00
Damien Elmes
d13e6cb29e redraw top toolbar when deck list refreshed
Just a hack that allows users to click on Decks to adjust the colour
after a macOS theme change.
2020-01-31 13:31:31 +10:00
Damien Elmes
a25c092a8b ignore dark mode when running from source, as it doesn't work 2020-01-31 13:30:35 +10:00
Damien Elmes
b7c492c40c maintain separate icon cache for light and dark themes 2020-01-31 13:30:12 +10:00
Damien Elmes
7a63c42b39 use night mode when dark mode active, using standard macOS theme 2020-01-31 13:15:08 +10:00
Damien Elmes
39b7786573 put % in spinners
fixes the lone % shown for users of the v1 scheduler
2020-01-31 12:19:51 +10:00
Damien Elmes
bc609dc2d9 ignore immediate=True in progress dialog
Instead, set the busy cursor immediately to give the user feedback,
but defer popup for at least 500ms. This will hopefully address the
white flash in night mode on Windows, and prevent progress dialogs
from rapidly appearing and disappearing for short operations.
2020-01-31 08:47:05 +10:00
Damien Elmes
5da6797a99 ignore foreground/background colour in spans when night mode active
This prevents pasted text from a standard webpage appearing as
black on white. It could theoretically be made smarter in the future,
but handling all the situations where the background or foreground
colour is not exactly #000/#fff might be tricky.
2020-01-31 08:03:09 +10:00
Damien Elmes
58fdc22486 make link/filtered deck colour in night mode more blue 2020-01-31 07:38:14 +10:00
Damien Elmes
4f6d18ee19 drop the extraneous svg group 2020-01-31 07:23:35 +10:00
Damien Elmes
3309d0f8c6 disable elastic scrolling to work around Qt's buggy behaviour on macOS 2020-01-31 07:12:27 +10:00
Damien Elmes
42f09fe933 add compat soundLink selector back 2020-01-31 07:01:22 +10:00
Damien Elmes
a8e0b53165 add .night_mode as well
Please report if this causes any regressions.
2020-01-31 07:00:01 +10:00
Damien Elmes
bbd134fcc6 use SVG for the play icon, and reduce the default size to 40px 2020-01-28 10:11:29 +10:00
Damien Elmes
d09a0e6115 update translations 2020-01-27 18:17:59 +10:00
Damien Elmes
2bada0e891 tolerate branch idx out of range
Branches can't be deleted at the moment, but this may change in the
future.
2020-01-27 17:59:40 +10:00
Damien Elmes
8014fd6574 mac top toolbar looks better with a slightly whiter border 2020-01-27 17:02:40 +10:00
Damien Elmes
8bd253c48f rework update checks to match latest AnkiWeb API 2020-01-27 17:01:09 +10:00
Damien Elmes
bd94e6fc01 fix +ve max versions being marked as disabled 2020-01-27 16:58:12 +10:00
Damien Elmes
92adb7a6db don't do HTML filtering when pasting urls/text/images
fixes
https://anki.tenderapp.com/discussions/ankidesktop/37752-anki-21-wont-play-audio-files-with-a-blank-in-the-title
2020-01-26 19:13:31 +10:00
Damien Elmes
7abe5d2a9b fix pylint 2020-01-26 18:57:32 +10:00
Damien Elmes
f38aa3f320 style tags area like fields 2020-01-26 18:47:28 +10:00
Damien Elmes
7b84eb2c7f remove the extra margin in the editing area so everything lines up 2020-01-26 18:26:03 +10:00
Damien Elmes
f253711559 remove the line at the top of the editor 2020-01-26 18:25:44 +10:00
Damien Elmes
dbaac0ae23 use a darker rather than lighter border in night mode 2020-01-26 18:16:21 +10:00
Damien Elmes
42527d0b08 add a (perhaps temporary) tts-voices: filter to show all available engines 2020-01-26 17:35:07 +10:00
Damien Elmes
47bcb3845c support speed control in tts tags 2020-01-26 14:31:07 +10:00
Damien Elmes
54626b4ae3 slightly lighter, larger night mode scrollbar 2020-01-26 10:39:53 +10:00
Damien Elmes
68dc9d1e61 fix webview button alignment on Linux
caused by the height: specification inside webview.py
2020-01-26 10:18:24 +10:00
Damien Elmes
6973df52a0 fix tags area and stats buttons in night mode 2020-01-26 09:13:38 +10:00
Damien Elmes
2d4d89d5a5 fix autoplaying of audio in preview screen, and drop extend_and_play() 2020-01-25 16:02:34 +10:00
Damien Elmes
cf815d01c5 respond to play button clicks in preview screen + card layout screen 2020-01-25 16:02:21 +10:00
Glutanimate
dbe8e8f6e1 Fix formatting error 2020-01-24 15:48:05 +01:00
Glutanimate
b1cecb08d4 Equip Reviewer._showAnswer with hooks covering common add-on usages 2020-01-24 15:36:05 +01:00
Damien Elmes
1d78e3f5ba Merge pull request #429 from zjosua/latex-nightmode
Invert LaTeX in night mode
2020-01-24 17:37:12 +10:00
Damien Elmes
99ccabf7c1 Merge pull request #428 from Arthur-Milchior/unusedOptional
"unused" variable become optional.
2020-01-24 17:28:47 +10:00
Damien Elmes
405c21eda8 support min/max add-on versions in download and ankiaddon manifest 2020-01-24 17:25:52 +10:00
zjosua
9564be80d0 Invert LaTeX in night mode 2020-01-24 08:23:27 +01:00
Damien Elmes
6bbab6e9f9 move strip_av_refs() into anki.sound 2020-01-24 15:48:40 +10:00
Arthur Milchior
577b68b205 "unused" variable become optional.
Adding this parameter broke one of my add-on, see
https://github.com/Arthur-Milchior/anki-keep-model-in-add-cards/issues/1

Since those parameters are not used, setting them to None by default,
as was done in some other method, seems acceptable
2020-01-23 21:46:42 -08:00
Damien Elmes
46c6a7f7e4 extract and flag AV tags as part of the render process
We can now show replay buttons for the audio contained in {{FrontSide}}
without having to play it again when the answer is shown.

The template code now always defers FrontSide rendering, as it wasn't
a big saving, and meant the logic had to be implemented twice.
2020-01-24 11:06:11 +10:00
Damien Elmes
e61759bf35 fix night mode tooltips 2020-01-24 07:55:14 +10:00
Damien Elmes
54d8a04e8e night mode scrollbars in webviews 2020-01-24 07:41:39 +10:00
Damien Elmes
2603b4037d fix link colour 2020-01-24 07:17:24 +10:00
Damien Elmes
70e96521d6 fix filtered deck colour 2020-01-24 07:17:20 +10:00
Damien Elmes
f80bcf15ca fix mpv failing to load 2020-01-24 07:06:59 +10:00
Damien Elmes
1dc673a068 fix white background in day mode 2020-01-23 18:36:42 +10:00
Damien Elmes
58cbca9a8c inject legacy funcs referencing aqt in GUI load 2020-01-23 18:20:19 +10:00
Damien Elmes
a9749bbcb1 fix inconsistently sized buttons and add platform classes 2020-01-23 18:05:55 +10:00
Damien Elmes
5855c465c0 better dupe color 2020-01-23 18:01:29 +10:00
Damien Elmes
78a8229577 don't wait as long for player to stop 2020-01-23 17:27:07 +10:00
Damien Elmes
43cfcaca3d iconFromRef() compat 2020-01-23 17:27:07 +10:00
Damien Elmes
6e984b3cc3 fix audio displaying console window on Windows 2020-01-23 17:27:07 +10:00
Damien Elmes
6c50b09ff0 fix white flash on webview load 2020-01-23 17:27:07 +10:00
Damien Elmes
35435a130e basic night mode support
Forces the Fusion theme when running night mode, so we don't need
to work around platform themes that don't respond to the defined
palette.

Feedback/suggestions on the chosen colours welcome - _vars.scss is the
file to change if you want to experiment with adjustments.
2020-01-23 17:27:07 +10:00
Damien Elmes
1fa162c6b5 move css files to scss 2020-01-23 17:27:07 +10:00
Damien Elmes
e3940b4e4f handle spaces in voices, add platform prefix 2020-01-22 17:50:08 +10:00
Damien Elmes
f987310a50 move ignore statements for python 3.7
sigh :-(

https://github.com/python/mypy/issues/3251#issuecomment-490298556
2020-01-22 16:54:18 +10:00
Damien Elmes
214871c7a4 make pylint happy 2020-01-22 15:37:58 +10:00
Damien Elmes
712779886a add a hook for when playback begins 2020-01-22 14:41:32 +10:00
Damien Elmes
42c04817c7 make .command() behave the same way for mplayer and mpv 2020-01-22 14:11:25 +10:00
Damien Elmes
bfc0ac1c0f simplify taskman, and add .run_on_main() 2020-01-22 14:09:51 +10:00
Damien Elmes
cd4d4b8adb add pause and seek forward/back shortcuts to review screen 2020-01-22 12:50:33 +10:00
Damien Elmes
4f9c9e1770 add a webview_did_receive_js_message hook 2020-01-22 11:06:12 +10:00
Damien Elmes
5aae3e2e39 add optional result_callback arg to pycmd() definition 2020-01-22 10:28:45 +10:00
Damien Elmes
c1021bc046 include card ordinal in clayout 2020-01-22 10:28:10 +10:00
Damien Elmes
837ac57ab2 add option in prefs to hide replay audio buttons 2020-01-21 21:00:17 +10:00
Damien Elmes
2b9a74fe5c mypy fixes 2020-01-21 20:42:06 +10:00
Damien Elmes
52a41d9a8e formatting fixes 2020-01-21 20:39:25 +10:00
Damien Elmes
27b14aea3e add a helper for caching generated files 2020-01-21 20:35:23 +10:00
Damien Elmes
5b7699563f when matching voices, need to check language matches too 2020-01-21 20:35:00 +10:00
Damien Elmes
0df9837a66 fix mpv args
https://anki.tenderapp.com/discussions/ankidesktop/38186-mpvprocesserror-unable-to-start-process
2020-01-21 19:29:50 +10:00
Damien Elmes
e326236f7c compare only on rank, as voices may be subclassed 2020-01-21 18:33:14 +10:00
Damien Elmes
8ddb49eb76 add Windows TTS support 2020-01-21 17:34:47 +10:00
Damien Elmes
171764e3e0 add replay buttons to reviewing screen 2020-01-21 14:47:03 +10:00
Damien Elmes
6d1d806b3a make sure we don't mutate list passed to play_from_tags() 2020-01-21 14:43:33 +10:00
Damien Elmes
202dc608a3 deal with spaces in macOS voices like "Bad News" 2020-01-21 13:38:37 +10:00
Damien Elmes
9dc9151963 add file-based TTS say implementation as well 2020-01-21 13:21:43 +10:00
Damien Elmes
b0d2958721 add rank handling to TTS; parse TTS args in get_av_tags() 2020-01-21 12:41:37 +10:00
Damien Elmes
a85ad8b257 more TTS and sound work
- use provided language and voices when playing on Mac
- fix hang in waiting for termination
- allow players to return a rank for a given tag,
which will allow for the best matching player to be chosen
depending on the context (eg, prioritize one player for videos,
one tts player for certain voices, etc)
2020-01-21 11:34:25 +10:00
Damien Elmes
222ecc35ce spawn a new slave mode mplayer for each file
This solves a few problems:

- We no longer need to write temporary files to disk, as files
passed on the command line with non-Latin text can be read by mplayer.
- We no longer need to deal with mplayer processes left around in
the background that have failed to terminate.
- We don't need to deal with the added complexity that comes with
polling mplayer's status output to determine when the file has finished
playing.

Also add seek_relative(), toggle_pause() and shutdown() as optional
methods on AVPlayer.
2020-01-21 08:55:15 +10:00
Damien Elmes
8b1d029eb9 support interrupting say; fix race in simple player 2020-01-21 07:28:19 +10:00
Damien Elmes
f9ca9501ac pass task manager in instead of creating a new one 2020-01-21 06:49:09 +10:00
Damien Elmes
41272674d8 add .stop() to mpv 2020-01-21 06:45:32 +10:00
Damien Elmes
7bf4c9f08f get mpv slave mode working with new API
Also move the mpv-specific hooks into AVPlayer
2020-01-20 22:01:38 +10:00
Damien Elmes
8a09d1365e minor tidyup to sound.py 2020-01-20 21:03:22 +10:00
Damien Elmes
3a427ba5b1 don't need allSounds/stripSounds in qt's sound.py 2020-01-20 20:13:01 +10:00
Damien Elmes
263a04c887 update qt/ to use the new API 2020-01-20 20:10:38 +10:00
Damien Elmes
4d3858023b add a proof of concept TTS implementation on Mac 2020-01-20 20:08:19 +10:00
Damien Elmes
b5758c2cff rework the audio player API and add a simpler player implementation
- the new API operates on AVTags so it can support TTS as well as
audio files
- added a simple "run for each file" implementation for mpv and mplayer.
- will need to test handling of unicode filenames on Windows
- the old mpv and mplayer code is currently not active
2020-01-20 20:07:11 +10:00
Damien Elmes
71fe9a015a we can depend on pyaudio being available now that the code is in qt/ 2020-01-20 19:21:24 +10:00
Damien Elmes
ca46e01ffc update translations 2020-01-19 16:58:34 +10:00
Damien Elmes
81684ecf52 fix download log newlines 2020-01-19 16:46:24 +10:00
Damien Elmes
8dfd3e93f8 fix <br> remaining when image attached to empty field 2020-01-19 16:41:39 +10:00