Commit Graph

383 Commits

Author SHA1 Message Date
Damien Elmes
aa832e9117 backend stores media folder/db locations; don't need to pass them in 2020-02-17 08:40:17 +10:00
Damien Elmes
7ae6244f6a log media DB change registration progress, and allow aborting it 2020-02-17 08:40:17 +10:00
Damien Elmes
5fe1bfc5b4 simplify code by accumulating stats at the source 2020-02-17 08:40:17 +10:00
Damien Elmes
98279add15 defer errors on upload to media check 2020-02-17 08:40:17 +10:00
Damien Elmes
d38c2c12d5 autosync media every ~15 minutes 2020-02-17 08:40:17 +10:00
Damien Elmes
12d009e503 autosync media on close 2020-02-17 08:40:17 +10:00
Damien Elmes
59a7993011 autosync media on startup 2020-02-17 08:40:17 +10:00
Damien Elmes
fdd850c0f0 add extra hook for media sync start/stop 2020-02-17 08:40:17 +10:00
Damien Elmes
de27cf2a63 if toolbar refreshed, make sure not to clear syncing 2020-02-17 08:40:16 +10:00
Damien Elmes
6a64c8dfcc use enums for some common errors 2020-02-17 08:40:16 +10:00
Damien Elmes
c329759a88 catch DB errors in sync 2020-02-17 08:40:16 +10:00
Damien Elmes
d7e4d10184 constant sync spin speed 2020-02-17 08:40:16 +10:00
Damien Elmes
ec9abf1ce5 pass in endpoint 2020-02-17 08:40:16 +10:00
Damien Elmes
0c124188cd catch network errors 2020-02-17 08:40:16 +10:00
Damien Elmes
93c768cab9 move more logic into mediasync.py, handle auth errors 2020-02-17 08:40:16 +10:00
Damien Elmes
347ac80086 remove unused code 2020-02-17 08:40:16 +10:00
Damien Elmes
cb0ce4146f show spinner when media sync active, click to reveal dialog 2020-02-17 08:40:16 +10:00
Damien Elmes
ea4de9a6de connect media sync progress to Python, add a progress dialog 2020-02-17 08:40:16 +10:00
Damien Elmes
4096d21c07 add add_file() and write_data() 2020-02-17 08:40:16 +10:00
Damien Elmes
57b678a939 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
d02de28f21 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
0ec3bbe1af
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
990a6c394b
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
621e634bb2 Add a convenience function for creating toolbar links
Similar to aqt.editor.Editor.addButton
2020-02-15 23:22:41 +01:00
Glutanimate
18ae9e612e 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
a8aac761f1 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
3637f466b4 Update documentation for webview_will_set_content and WebContent 2020-02-15 15:03:58 +01:00
Glutanimate
0e5dea4c9f 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
f7ebb8c28f
Merge pull request #433 from Arthur-Milchior/ints
Constants
2020-02-14 08:37:31 +10:00
ijgnd
d0ea2ad749
small fix: store return value for hook in preview 2020-02-13 18:51:11 +01:00
Glutanimate
c86e55d451 Fix "js" parameter type 2020-02-12 22:20:30 +01:00
Glutanimate
c839cda19f Fix missing "Optional" import and lint 2020-02-12 22:15:44 +01:00
Glutanimate
5bd38ce0a5 Pass CardInfoDialog context to stdHtml 2020-02-12 22:12:45 +01:00
Glutanimate
bbd667b0ff Add webview_will_set_content hook & update supporting code accordingly 2020-02-12 22:00:13 +01:00
Glutanimate
df2a7b06ef 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
d0284f759d 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
bd9de51e82 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
a029ad9d45 update translations 2020-02-12 08:59:14 +10:00
Damien Elmes
4b0873cc9a 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
1c677bb9d4 night mode fix for find dupes screen 2020-02-12 08:28:33 +10:00
Damien Elmes
3425bee968 provide easy access to browser from preview/dupes handlers 2020-02-12 08:28:21 +10:00
Damien Elmes
2c4c8d4ab0 tweak wording 2020-02-12 08:14:16 +10:00
Damien Elmes
62c86b2cbe move export notes action to the notes menu 2020-02-12 08:09:12 +10:00
Arthur Milchior
a087d0e4c4 Adding export option in Browser 2020-02-11 10:50:59 -08:00
Arthur Milchior
617043f632 browser._exporting 2020-02-11 10:50:59 -08:00
Arthur Milchior
272db65f0a Replace list of deck by "Browser Selection" 2020-02-11 10:50:59 -08:00
Arthur Milchior
a6567da259 if cards are selected, default is apkg 2020-02-11 10:50:59 -08:00
Arthur Milchior
d8669835d8 aqt.exporter takes extra argument cid 2020-02-11 10:49:13 -08:00
Damien Elmes
af26922493 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
072b64c819 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
ddebf5741d ensure the inverted images don't appear over toolbar 2020-02-09 09:30:37 +10:00
Damien Elmes
20c51555a1 support AnkiMobile's drawings in night mode 2020-02-09 09:20:08 +10:00
Damien Elmes
7fcb6b5672 pass instance to webview_did_receive_js_message instead of string 2020-02-09 08:59:29 +10:00
Damien Elmes
5bd67509ae
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
75a8ef832b Allow to change main window when overview/deckbrowser is shown 2020-02-08 08:09:12 -08:00
Damien Elmes
c8b794e6cc formatting 2020-02-07 17:55:26 +10:00
Damien Elmes
be6b8cd131 don't filter strong/em; sort list of tags 2020-02-07 17:55:17 +10:00
Damien Elmes
1fbd925f4c update translations 2020-02-07 13:26:15 +10:00
Damien Elmes
5b01f0dad1 more legible graph colours in night mode 2020-02-07 13:21:46 +10:00
Arthur Milchior
fc5c1fd16a correct missing french translation 2020-02-05 20:48:30 -08:00
Arthur Milchior
35c8f21eb6 Reformatting through black 2020-02-04 08:47:36 -08:00
Arthur Milchior
957f0c8e8b QUEUE and TYPE day learn, relearn 2020-02-04 08:47:36 -08:00
Arthur Milchior
45bf763238 QUEUE_TYPE_REV and CARD_TYPE_REV 2020-02-04 08:47:36 -08:00
Arthur Milchior
69436643fe CARD_TYPE_LRN and QUEUE_TYPE_LRN 2020-02-04 08:47:35 -08:00
Damien Elmes
3f3c1255bf clearer variable names 2020-02-04 17:10:20 +10:00
Damien Elmes
2ccece86a7 minor wording tweak 2020-02-04 17:06:41 +10:00
Damien Elmes
8dd75edaa9 default human_version to None 2020-02-04 17:03:21 +10:00
Damien Elmes
d200d33aa5
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
62527f0b54 about.py - some type hints 2020-02-04 04:16:51 +01:00
ijgnd
6e1996f701 Extend Copy Debug Info 2020-02-04 04:16:51 +01:00
ijgnd
de9331a03e add human_version to manifest.json
edit 7586c67 add human_version to manifest.json
2020-02-04 04:16:12 +01:00
Arthur Milchior
a1cc0787d2 QUEUE_TYPE_NEW and CARD_TYPE_NEW 2020-02-03 02:24:37 -08:00
Arthur Milchior
25c579926b radioCram 2020-02-03 02:24:37 -08:00
Arthur Milchior
fc7636c194 radioPreview 2020-02-03 02:24:37 -08:00
Arthur Milchior
7e0b4522fb radioAhead 2020-02-03 02:24:37 -08:00
Arthur Milchior
20bb24a641 radioForgot 2020-02-03 02:24:37 -08:00
Arthur Milchior
c3bd167958 radiorRev 2020-02-03 02:24:37 -08:00
Arthur Milchior
da39ef378c radioNew 2020-02-03 02:24:37 -08:00
Damien Elmes
5d91580ce2 add option to disable audio interrupting 2020-02-03 08:55:14 +10:00
Damien Elmes
ab1f2429a7 formatting 2020-02-02 13:09:02 +10:00
Damien Elmes
91326ec6d9 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
3c48cbff6f more contrast on buttons and scrollbars 2020-02-02 12:53:35 +10:00
Damien Elmes
dd9812c7ed match fusion bars to webview bars, bump size again 2020-02-02 12:25:07 +10:00
Damien Elmes
92888345fb 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
05be20f834 make pylint happy 2020-01-31 14:30:41 +10:00
Damien Elmes
c70badcd5a only import darkdetect on a Mac 2020-01-31 14:14:54 +10:00
Damien Elmes
77912aa225 mypy+darkdetect fix 2020-01-31 13:45:25 +10:00
Damien Elmes
a4764e2acd update translations 2020-01-31 13:44:46 +10:00
Damien Elmes
8b68512e0e when dark mode not active, match fusion buttons 2020-01-31 13:39:52 +10:00
Damien Elmes
b8ad45c4e4 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
70d085f475 ignore dark mode when running from source, as it doesn't work 2020-01-31 13:30:35 +10:00
Damien Elmes
598ffbd340 maintain separate icon cache for light and dark themes 2020-01-31 13:30:12 +10:00
Damien Elmes
c42e118339 use night mode when dark mode active, using standard macOS theme 2020-01-31 13:15:08 +10:00
Damien Elmes
1552c34bea put % in spinners
fixes the lone % shown for users of the v1 scheduler
2020-01-31 12:19:51 +10:00
Damien Elmes
d48038cc29 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
eb6b64f4b1 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
32b279f750 make link/filtered deck colour in night mode more blue 2020-01-31 07:38:14 +10:00
Damien Elmes
083e4a0b66 drop the extraneous svg group 2020-01-31 07:23:35 +10:00
Damien Elmes
396f583e2a disable elastic scrolling to work around Qt's buggy behaviour on macOS 2020-01-31 07:12:27 +10:00
Damien Elmes
23c6cafb94 add compat soundLink selector back 2020-01-31 07:01:22 +10:00
Damien Elmes
2d5cab6758 add .night_mode as well
Please report if this causes any regressions.
2020-01-31 07:00:01 +10:00
Damien Elmes
fb696f3e3b use SVG for the play icon, and reduce the default size to 40px 2020-01-28 10:11:29 +10:00
Damien Elmes
23f13a312b update translations 2020-01-27 18:17:59 +10:00
Damien Elmes
7f2109cf04 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
cb7a483d32 mac top toolbar looks better with a slightly whiter border 2020-01-27 17:02:40 +10:00
Damien Elmes
b76f153ffd rework update checks to match latest AnkiWeb API 2020-01-27 17:01:09 +10:00
Damien Elmes
45e8a9a364 fix +ve max versions being marked as disabled 2020-01-27 16:58:12 +10:00
Damien Elmes
9933720994 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
bfb1d5c5f5 fix pylint 2020-01-26 18:57:32 +10:00
Damien Elmes
09e59d7148 style tags area like fields 2020-01-26 18:47:28 +10:00
Damien Elmes
46733e8cd7 remove the extra margin in the editing area so everything lines up 2020-01-26 18:26:03 +10:00
Damien Elmes
41bbc189f6 remove the line at the top of the editor 2020-01-26 18:25:44 +10:00
Damien Elmes
d7d4fcb178 use a darker rather than lighter border in night mode 2020-01-26 18:16:21 +10:00
Damien Elmes
91c2825551 add a (perhaps temporary) tts-voices: filter to show all available engines 2020-01-26 17:35:07 +10:00
Damien Elmes
21cbb5a766 support speed control in tts tags 2020-01-26 14:31:07 +10:00
Damien Elmes
0480879c11 slightly lighter, larger night mode scrollbar 2020-01-26 10:39:53 +10:00
Damien Elmes
e4bbba4ec1 fix webview button alignment on Linux
caused by the height: specification inside webview.py
2020-01-26 10:18:24 +10:00
Damien Elmes
e2e7128385 fix tags area and stats buttons in night mode 2020-01-26 09:13:38 +10:00
Damien Elmes
3b8f851854 fix autoplaying of audio in preview screen, and drop extend_and_play() 2020-01-25 16:02:34 +10:00
Damien Elmes
218c033104 respond to play button clicks in preview screen + card layout screen 2020-01-25 16:02:21 +10:00
Glutanimate
44c09db450 Fix formatting error 2020-01-24 15:48:05 +01:00
Glutanimate
68c5fd50f9 Equip Reviewer._showAnswer with hooks covering common add-on usages 2020-01-24 15:36:05 +01:00
Damien Elmes
d428b3b4c0
Merge pull request #429 from zjosua/latex-nightmode
Invert LaTeX in night mode
2020-01-24 17:37:12 +10:00
Damien Elmes
f260cfa07e
Merge pull request #428 from Arthur-Milchior/unusedOptional
"unused" variable become optional.
2020-01-24 17:28:47 +10:00
Damien Elmes
b4c8eaf4bb support min/max add-on versions in download and ankiaddon manifest 2020-01-24 17:25:52 +10:00
zjosua
1450d1ca07 Invert LaTeX in night mode 2020-01-24 08:23:27 +01:00
Damien Elmes
f6ef553ba5 move strip_av_refs() into anki.sound 2020-01-24 15:48:40 +10:00
Arthur Milchior
66e1f876d7 "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
17ebdfc099 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
e3fb184a84 fix night mode tooltips 2020-01-24 07:55:14 +10:00
Damien Elmes
cc648195e4 night mode scrollbars in webviews 2020-01-24 07:41:39 +10:00
Damien Elmes
73a5233f92 fix link colour 2020-01-24 07:17:24 +10:00
Damien Elmes
3ecc572103 fix filtered deck colour 2020-01-24 07:17:20 +10:00
Damien Elmes
03a8f0e73b fix mpv failing to load 2020-01-24 07:06:59 +10:00
Damien Elmes
9804105928 fix white background in day mode 2020-01-23 18:36:42 +10:00
Damien Elmes
406c58a109 inject legacy funcs referencing aqt in GUI load 2020-01-23 18:20:19 +10:00
Damien Elmes
4a25853c57 fix inconsistently sized buttons and add platform classes 2020-01-23 18:05:55 +10:00
Damien Elmes
3acf926fb0 better dupe color 2020-01-23 18:01:29 +10:00
Damien Elmes
b9ee7f49d8 don't wait as long for player to stop 2020-01-23 17:27:07 +10:00
Damien Elmes
d2336f3829 iconFromRef() compat 2020-01-23 17:27:07 +10:00
Damien Elmes
5a79bc69b8 fix audio displaying console window on Windows 2020-01-23 17:27:07 +10:00
Damien Elmes
982aca0c99 fix white flash on webview load 2020-01-23 17:27:07 +10:00
Damien Elmes
7dcbc7efec 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
44f2f16546 move css files to scss 2020-01-23 17:27:07 +10:00
Damien Elmes
95b497ccf0 handle spaces in voices, add platform prefix 2020-01-22 17:50:08 +10:00
Damien Elmes
3f3a8fc4ab 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
0ad6e8b58e make pylint happy 2020-01-22 15:37:58 +10:00
Damien Elmes
cfa0f65311 add a hook for when playback begins 2020-01-22 14:41:32 +10:00
Damien Elmes
6af7933084 make .command() behave the same way for mplayer and mpv 2020-01-22 14:11:25 +10:00
Damien Elmes
be3393fcb4 simplify taskman, and add .run_on_main() 2020-01-22 14:09:51 +10:00