Damien Elmes
bd14e30f63
constant sync spin speed
2020-02-17 08:40:16 +10:00
Damien Elmes
b883b09414
pass in endpoint
2020-02-17 08:40:16 +10:00
Damien Elmes
c489b6b7ac
catch network errors
2020-02-17 08:40:16 +10:00
Damien Elmes
c02a490be0
move more logic into mediasync.py, handle auth errors
2020-02-17 08:40:16 +10:00
Damien Elmes
ecab2da99e
remove unused code
2020-02-17 08:40:16 +10:00
Damien Elmes
1ba2e30854
show spinner when media sync active, click to reveal dialog
2020-02-17 08:40:16 +10:00
Damien Elmes
738e415463
connect media sync progress to Python, add a progress dialog
2020-02-17 08:40:16 +10:00
Damien Elmes
c9a5ed3cc6
add add_file() and write_data()
2020-02-17 08:40:16 +10:00
Damien Elmes
dee114df63
put head text after css/js imports so it can override them
...
as discussed in PR #438
2020-02-17 08:38:59 +10:00
Glutanimate
c3c31d1454
Add deck_browser_will_render_section hook
...
Allows add-on authors to specifcally target and modify individual
sections of the deck browser HTML body at string composition time.
2020-02-16 19:29:01 +01:00
Damien Elmes
415cb15661
Merge pull request #447 from glutanimate/browser-sidebar-tree-hooks
...
Add browser_will_build_tree filter
2020-02-16 08:36:28 +10:00
Damien Elmes
f6bad7b9c3
Merge pull request #445 from glutanimate/new-html-view-hooks-2
...
Allow add-on authors to easily inject their own content into Anki's web views – take 3
2020-02-16 08:32:34 +10:00
Glutanimate
b7dde202b5
Add a convenience function for creating toolbar links
...
Similar to aqt.editor.Editor.addButton
2020-02-15 23:22:41 +01:00
Glutanimate
5378587f67
Add top_toolbar_did_init_links hook
...
Allows extending the links in the top toolbar, in a similar
fashion to editor_did_init_shortcuts
2020-02-15 23:21:23 +01:00
Glutanimate
b7e0d4388a
Add browser_will_build_tree filter
...
Allows add-ons to populate the browser sidebar tree with their own
items, and/or take over specific construction stages in their
entirety
2020-02-15 21:03:15 +01:00
Glutanimate
356eda66f4
Update documentation for webview_will_set_content and WebContent
2020-02-15 15:03:58 +01:00
Glutanimate
28a394a074
Assume that web assets without a specified subpath are under /_anki
...
Maintains compatibility with existing add-ons
2020-02-15 15:03:43 +01:00
Damien Elmes
3d1e89f014
Merge pull request #433 from Arthur-Milchior/ints
...
Constants
2020-02-14 08:37:31 +10:00
ijgnd
e39d18647f
small fix: store return value for hook in preview
2020-02-13 18:51:11 +01:00
Glutanimate
f2f16903b6
Fix "js" parameter type
2020-02-12 22:20:30 +01:00
Glutanimate
ffdafaee6d
Fix missing "Optional" import and lint
2020-02-12 22:15:44 +01:00
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
Damien Elmes
168cd54827
leave percent-escaped text from the editor alone
...
Originally added in d7339d9a27b8abd65fbcf85f809fb0089046986f;
unfortunately the change message does not describe why. Images
are handled separately, so it should theoretically not be required,
and keeping it in leads to garbled text when people include %
on their cards.
Latest report at https://anki.tenderapp.com/discussions/ankidesktop/38138-errors-in-conversion-of-latex-and-ea
2020-01-19 16:29:46 +10:00
Damien Elmes
283601768c
avoid setting provided_name if not in the json
2020-01-19 14:10:48 +10:00
Damien Elmes
afe54ff6bc
update add-ons even if they're disabled
...
If a user enables an old add-on and restarts immediately, it won't have
had a chance to update, and may raise errors that could have been
prevented if the user was running the latest version.
2020-01-19 14:04:57 +10:00
Damien Elmes
f1f5a401f2
send point version when downloading
...
AnkiWeb will return a 404 if add-on does not support that version
2020-01-19 13:43:16 +10:00
Damien Elmes
5646ee642a
automatically disable add-ons that have been marked as incompatible
2020-01-19 13:37:55 +10:00
Damien Elmes
92c82e29e1
add write_addon_meta(); use methods for derived values
2020-01-19 13:06:53 +10:00
Damien Elmes
6f2603710e
use an object for add-on metadata instead of reading the dict directly
...
also, sort disabled add-ons to the end
2020-01-19 12:44:53 +10:00
Damien Elmes
0a57969a44
AnkiRequestsClient -> HttpClient
2020-01-19 11:33:27 +10:00
Damien Elmes
1ff42d776c
check for add-on updates once a day
2020-01-19 11:31:09 +10:00
Damien Elmes
33d02709b5
refactor add-on downloading/installing/updating
...
- web requests done on a background thread
- easier to use outside of the addon dialog
- gets max point version info from AnkiWeb, which we can use in
the future
2020-01-19 10:37:15 +10:00
Damien Elmes
7a28533c85
fix display errors on macOS after updating add-ons
2020-01-19 10:33:51 +10:00
Damien Elmes
1ae2528153
add helper for background execution
2020-01-19 10:06:01 +10:00
Damien Elmes
d86b231c2b
pass in a progress callback instead of http_data_did_[send|receive]
...
If a request is happening on a background thread, the GUI code
receiving requests on that thread can lead to a crash
Add-on downloading still to do.
2020-01-18 17:49:59 +10:00
Damien Elmes
705ab55fef
move AnkiRequestsClient into its own file
...
It should still be accessible via anki.sync as well.
2020-01-18 15:45:14 +10:00
Damien Elmes
897a7e6584
remove template/ from i18n
2020-01-17 11:14:54 +10:00
Damien Elmes
88577605de
update translations
2020-01-17 11:09:24 +10:00
Damien Elmes
5d29ad51da
move types.py into the files responsible for each type
2020-01-17 10:17:33 +10:00
Damien Elmes
dfcc81af08
fix formatting
2020-01-16 12:45:48 +10:00
Damien Elmes
05a99a1bf6
option to invert paste handling in prefs
2020-01-16 12:36:04 +10:00
Damien Elmes
5e4f8673c4
fix preview button shortcut
...
Qt 'helpfully' erases any existing shortcuts when .setText() is called,
and as PyQt's generated forms set the text after the shortcut is set,
it gets lost.
https://anki.tenderapp.com/discussions/ankidesktop/38038-does-ctrlshiftp-doesnt-trigger-preview-in-browse
2020-01-16 12:31:02 +10:00
Damien Elmes
552839fdce
don't change current deck if custom study fails to create
...
just a quick fix for now
https://anki.tenderapp.com/discussions/ankidesktop/37834-bug-custom-study-session-created-even-when-there-are-no-cards-that-match-selected-criteria
2020-01-16 11:26:22 +10:00
Damien Elmes
2d30177b98
revert to the old wrap() behaviour
...
wrap2() was introduced recently to try and resolve an issue where
styling outside of the wrapped section was getting lost. eg,
<b>some [text] etc</b>
When the user created a cloze deletion or added math tags to the [text]
part, the text ended up not being bold - the inner portion is displayed
without styling.
wrap2() used setFormat("inserttext", ...), which did fix that issue
- but it also introduced multiple new issues:
- any HTML inside the selected area, including newlines and images,
was lost
- the unicode entities inserted when creating a cloze deletion in
RTL mode end up inserted as plain text
For now, I'm just going to revert to the old behaviour. If anyone
has a suggestion for an approach that is able to preserve both the
inner formatting and the surrounding formatting, a pull request
or post on the forums would be appreciated!
2020-01-16 10:33:36 +10:00
Damien Elmes
68791b7008
fix invalid func name in unfocus hook
...
Don't know why mypy and pylint both failed to catch this :-(
2020-01-16 08:53:28 +10:00
Damien Elmes
f02f845193
fix cases where we used the wrong type sig to connect to gui hook
2020-01-16 07:53:12 +10:00
Damien Elmes
20db4ab2f3
add qconnect helper and some type hints
...
The type hints allow mypy to check the gui_hook calls, revealing a
bunch of places that are broken as they expect no arguments like the
legacy hooks.
To make mypy happy about PyQt's signal.connect(func), a qconnect()
helper has been added.
2020-01-16 07:41:23 +10:00
Damien Elmes
18e06b0926
Merge pull request #421 from ErezVolk/tag-changed-grooming
...
Tag modified grooming
2020-01-15 20:25:51 +10:00
Erez Volk
8b83b1a3d3
Small fixes and tweaks to "Tag Modified":
...
- No need for the checkbox, as an unchecked box is equal to an empty
`QLineEdit`.
- The value was saved to the profile but not loaded.
- And the real pièce de résistance: I've figured out how to "Promote"
the `QLineEdit` to a `TagEdit`.
Hope you like it! :)
2020-01-15 10:46:05 +02:00
Damien Elmes
b22dc71810
more tweaks for readability/consistency
2020-01-15 17:45:35 +10:00
Damien Elmes
dd780b2898
more hook tweaks, and merge the pre-render field and template hooks
2020-01-15 17:18:11 +10:00