Commit graph

1175 commits

Author SHA1 Message Date
Damien Elmes
4115235a45 make sure card counts are updated when undoing reviews 2019-04-08 15:47:49 +10:00
Damien Elmes
07adde978b friendly message for full disk 2019-04-08 15:32:58 +10:00
Damien Elmes
320cc90320 fix preview not updating when note edited 2019-04-08 15:18:40 +10:00
Damien Elmes
d15bfd6d1c fix note not displaying when preview toggled off & on 2019-04-08 15:18:27 +10:00
Damien Elmes
bf8c0216ff fix memory leak in card layout screen 2019-03-26 11:31:40 +09:00
Damien Elmes
5522c240a5 revert undo shortcut change in browser
when ctrl+z pressed in focused field and no undo history left, qt
triggers the menu item instead, causing data loss

I tried capturing the shortcut in JS and manually executing the undo,
and that seems to work on macOS, but not on Windows.

fixes
https://anki.tenderapp.com/discussions/ankidesktop/33064-how-to-undo-reverted-to-state-deleting-my-cards
2019-03-11 13:43:25 +10:00
Damien Elmes
3e8fd97ae3 handle blur/key event before note id set
can't reproduce the issue here, but presumably this change will
work around
https://anki.tenderapp.com/discussions/ankidesktop/33038-bug-after-updatehtml-notes-wont-display
2019-03-10 08:24:44 +10:00
Damien Elmes
b6b1a8117d Merge branch 'master' of github.com:dae/anki 2019-03-07 18:34:35 +10:00
Damien Elmes
496b029ac1 keep global i18n handlers working
the previous change broke the translations of copy&pasted anki code in
add-ons

should fix
https://anki.tenderapp.com/discussions/ankidesktop/32922-chinese-characters-in-the-main-window-when-setting-language-to-japanese#comment_47043676
2019-03-07 18:34:22 +10:00
Glutanimate
295175b3b0 Set QTWEBENGINE_DICTIONARIES_PATH
This introduces the possibility for add-ons to supply spell checking
support in web views.
2019-03-06 18:59:38 +01:00
Damien Elmes
d208ac2088 allow translators to override Windows font
to work around Qt's awful fallback handling on Windows 10

https://anki.tenderapp.com/discussions/ankidesktop/32922-chinese-characters-in-the-main-window-when-setting-language-to-japanese
2019-03-06 15:28:49 +10:00
Damien Elmes
9b0efdc190 check a profile exists every time
if something went wrong between pm.meta() and .ensureProfile() in the
past, it would lead to an inability to start Anki due to the a lack of
any profiles

https://anki.tenderapp.com/discussions/ankidesktop/32972-linux-upgrade-problems-20-219
2019-03-06 15:27:13 +10:00
Damien Elmes
d62177b020 tweak coding statement to make xgettext happy 2019-03-05 09:59:21 +10:00
Damien Elmes
464fe69cdb allow decreasing daily limits in custom study 2019-03-05 09:06:17 +10:00
Damien Elmes
d118c5cc9f add option to strip html in export 2019-03-05 08:57:53 +10:00
Damien Elmes
3e80f85d94 preview state depends on card id, not note id
fixes
https://anki.tenderapp.com/discussions/ankidesktop/32952-commit-b43b14eb6263676da4d41cd5f3ca514bb8b43873-causes-preview-to-not-work-with-multiples-cards-of-same-note-cloze-deletions
2019-03-05 07:50:54 +10:00
Damien Elmes
0c6fbddc27 deprecated global _/ngettext was returning None
the plurals may still be wrong in the ngettext case, but at least
it should not lead to premature tracebacks
2019-03-05 07:46:27 +10:00
Damien Elmes
442600daf8 Merge pull request #288 from glutanimate/mediasrv-addon-support
Extend mediasrv to also serve media files in addons directory
2019-03-04 18:03:48 +10:00
Damien Elmes
75a95ee1fb tidy up unused imports 2019-03-04 17:25:19 +10:00
Damien Elmes
300231e318 use raw strings for regexs 2019-03-04 17:03:43 +10:00
Damien Elmes
71f2b0627d fix inconsistent indentation 2019-03-04 16:54:22 +10:00
Damien Elmes
e7a8bf145a move from deprecated optparse to argparse 2019-03-04 16:45:29 +10:00
Damien Elmes
7d0f7ae33c fix some warnings 2019-03-04 16:01:10 +10:00
Damien Elmes
5dbe5638c0 fix incorrect qt constructor call 2019-03-04 15:59:53 +10:00
Damien Elmes
70c803adf7 WindowsError may not be defined 2019-03-04 12:29:55 +10:00
Damien Elmes
739885118b print warning when add-ons access _ without importing it 2019-03-04 12:08:48 +10:00
Damien Elmes
e6d75207af explicitly import _ and ngettext 2019-03-04 11:58:34 +10:00
Damien Elmes
8981da61c1 silence some spurious errors and remove some unused code 2019-03-04 11:22:40 +10:00
Glutanimate
37da78f4c6 Refactor: re.match --> re.fullmatch 2019-03-03 17:04:01 +01:00
Glutanimate
a01679266b Allow add-on authors to set a whitelist of webview-accessible files
Extends the AddonManager API with two new methods, setWebExports and
getWebExports. setWebExports expects an add-on module name and a
valid RegEx pattern to match subpaths in the add-on folder against.

Any matching subpaths will be accessible in Anki's web views by
referencing them with /_addons/{addon_id}/{subpath}.

For instance, to allow access to .css and .png files in your add-on's
user_files directory you would call:

> mw.addonManager.setWebExports(__name__, r"user_files/.+(\.png|\.css)")

You could then reference these files in web views as such:

> <img src="/_addons/{addon_id}/user_files/test.png">

Please note that this bypasses the default security policies used
in Anki webviews. You should take care to construct your RegEx
patterns specific enough so that they do not match any sensitive
files of our add-on.
2019-03-02 18:57:51 +01:00
Damien Elmes
085679d5d1 move versionWithBuild into anki module 2019-02-28 08:37:42 +10:00
Damien Elmes
b1bd76f2dc avoid traceback when network offline in add-on check 2019-02-27 14:18:16 +10:00
Damien Elmes
d3aac33d08 fix regression in showInfo() et al 2019-02-27 14:16:35 +10:00
Damien Elmes
5142bb012f ensure progress window cleared if error on add-on import 2019-02-27 14:08:20 +10:00
Damien Elmes
e5a4688411 avoid nbsp for single spaces when pasting text
https://anki.tenderapp.com/discussions/ankidesktop/32823-all-spaces-are-being-replaced-with-nbsp-when-pasting-219-linux
2019-02-27 13:54:50 +10:00
Glutanimate
0bdd18f352 Extend mediasrv to also serve media files in addons directory
RequestsHandler now rewrites "/_addons" references to addons folder.
2019-02-26 13:08:15 +01:00
Damien Elmes
0595b3ab04 include note id in state
to make sure we refresh when multiple notes have same mod time
2019-02-26 11:21:25 +10:00
Damien Elmes
b43b14eb62 avoid refreshing preview when nothing has changed
fixes visible redraw when:
- opening preview screen while cursor in field (as editTimer
fires even if note has not changed)
- moving between cards (as loadNote and rowChanged hooks are both
fired)
2019-02-26 11:18:32 +10:00
Damien Elmes
05122925f0 improve add-on downloading error readability 2019-02-26 09:36:20 +10:00
Damien Elmes
2587850a07 be explicit about text format when showing add-on errors
fixes br codes showing in error messages
2019-02-26 09:36:02 +10:00
Damien Elmes
8d19357528 Merge pull request #287 from glutanimate/fix-subpixel-antialiasing
Fix subpixel font anti-aliasing
2019-02-26 08:01:35 +10:00
Glutanimate
7456bd474d Set webview bg to system default window color instead of Qt.transparent
Qt.transparent prevents subpixel anti-aliasing from working, resulting
in slightly blurry fonts on non-retina displays.
(The window background color is not determined correctly on macOS, so
we hardcode it.)

Credits for discovering this issue go to the unknown author of
https://ankiweb.net/shared/info/94394764
2019-02-25 11:44:27 +01:00
Glutanimate
81eb4e32e8 Add a button to copy debug information to About dialog
Supplies information on platform, app, toolkit, and installed add-ons.
Should come in useful to troubleshoot issues that do not produce an
error message, especially for add-on developers.
2019-02-24 14:55:55 +01:00
Glutanimate
9281e66b52 Move annotatedName to AddonManager to allow outside access 2019-02-24 14:51:19 +01:00
Glutanimate
c5df285de6 Move supportText() to utils in order to allow use outside of errors 2019-02-24 14:50:39 +01:00
Damien Elmes
245845487d clear selection when deleting add-on(s)
fixes error when deleting last, and wrong selection
otherwise
2019-02-24 15:24:31 +10:00
Glutanimate
67774db8ad Preserve selected add-ons 2019-02-23 10:10:05 +01:00
Glutanimate
4d5fe3a721 Colour disabled add-ons gray 2019-02-23 10:04:45 +01:00
Glutanimate
585532d356 Add tooltip feedback for restoring defaults
Changes might not always be apparent, so a tooltip might help.
2019-02-23 09:39:49 +01:00
Glutanimate
dbb4067a7e Store addonconf geom and splitter. Tweak font sizes and margins. 2019-02-23 09:39:49 +01:00