David Lönnhager
1e433a7cdd
Workaround for AltGr '@' issue.
2019-04-09 14:55:00 +02:00
Damien Elmes
44952ff727
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
8de0e7e54c
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
22d6feed87
Merge branch 'master' of github.com:dae/anki
2019-03-07 18:34:35 +10:00
Damien Elmes
79660e41bb
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
324370497e
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
0543df7dfa
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
09651be9e7
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
73761b598f
tweak coding statement to make xgettext happy
2019-03-05 09:59:21 +10:00
Damien Elmes
59b9c361ac
allow decreasing daily limits in custom study
2019-03-05 09:06:17 +10:00
Damien Elmes
b168ce6eed
add option to strip html in export
2019-03-05 08:57:53 +10:00
Damien Elmes
d0985a4e7c
preview state depends on card id, not note id
...
fixes
https://anki.tenderapp.com/discussions/ankidesktop/32952-commit-c07f2d07474b52c065539fe9e56cbc6047856ad8-causes-preview-to-not-work-with-multiples-cards-of-same-note-cloze-deletions
2019-03-05 07:50:54 +10:00
Damien Elmes
f9f5d9d3ab
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
7d65594944
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
ebdd8dae4b
tidy up unused imports
2019-03-04 17:25:19 +10:00
Damien Elmes
6e077ab414
use raw strings for regexs
2019-03-04 17:03:43 +10:00
Damien Elmes
4037a034aa
fix inconsistent indentation
2019-03-04 16:54:22 +10:00
Damien Elmes
5185e817fc
move from deprecated optparse to argparse
2019-03-04 16:45:29 +10:00
Damien Elmes
f6b2135129
fix some warnings
2019-03-04 16:01:10 +10:00
Damien Elmes
7755eb408c
fix incorrect qt constructor call
2019-03-04 15:59:53 +10:00
Damien Elmes
e91901911f
WindowsError may not be defined
2019-03-04 12:29:55 +10:00
Damien Elmes
919738a9d7
print warning when add-ons access _ without importing it
2019-03-04 12:08:48 +10:00
Damien Elmes
da2ddcc6e2
explicitly import _ and ngettext
2019-03-04 11:58:34 +10:00
Damien Elmes
3721cc4604
silence some spurious errors and remove some unused code
2019-03-04 11:22:40 +10:00
Glutanimate
58d0955392
Refactor: re.match --> re.fullmatch
2019-03-03 17:04:01 +01:00
Glutanimate
5e90758f39
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
a389b8b4a0
move versionWithBuild into anki module
2019-02-28 08:37:42 +10:00
Damien Elmes
d6915ff6e8
avoid traceback when network offline in add-on check
2019-02-27 14:18:16 +10:00
Damien Elmes
2e70c56248
fix regression in showInfo() et al
2019-02-27 14:16:35 +10:00
Damien Elmes
66cbc87580
ensure progress window cleared if error on add-on import
2019-02-27 14:08:20 +10:00
Damien Elmes
444abfff94
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
1fb6123f5a
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
fed15f5b90
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
c07f2d0747
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
4116ab65b0
improve add-on downloading error readability
2019-02-26 09:36:20 +10:00
Damien Elmes
139e04c7c3
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
188d822d09
Merge pull request #287 from glutanimate/fix-subpixel-antialiasing
...
Fix subpixel font anti-aliasing
2019-02-26 08:01:35 +10:00
Glutanimate
ac53a0852e
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
4fd5a9c176
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
c45ea26cd6
Move annotatedName to AddonManager to allow outside access
2019-02-24 14:51:19 +01:00
Glutanimate
569f42c0f5
Move supportText() to utils in order to allow use outside of errors
2019-02-24 14:50:39 +01:00
Damien Elmes
86b3657969
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
195ca93cfe
Preserve selected add-ons
2019-02-23 10:10:05 +01:00
Glutanimate
15a83df126
Colour disabled add-ons gray
2019-02-23 10:04:45 +01:00
Glutanimate
8725583c97
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
1080ae10f9
Store addonconf geom and splitter. Tweak font sizes and margins.
2019-02-23 09:39:49 +01:00
Aristotelis
ff7b06fbda
Merge branch 'master' into install-local-addons
2019-02-23 09:27:17 +01:00
Glutanimate
512be4fc2c
Implement add-on conflict handling via manifests "conflicts" value
...
Only enabled for locally installed packages for now
2019-02-22 21:14:42 +01:00
Glutanimate
8fceccf4b7
Refactor: Add manifest schema, unify install paths, use context manager
...
Sets the foundation for more elaborate additions to the manifest.
Manifest files are still only being read for local imports, but with
this commit that could be easily changed in the future.
2019-02-22 17:04:07 +01:00
Glutanimate
2ed61c9c99
Rename .apkx to .ankiaddon
2019-02-22 10:17:56 +01:00