Commit graph

117 commits

Author SHA1 Message Date
Damien Elmes
8dc5ea8bb6 add types to utils.py
The function signatures for things like getFile() are awful, but
sadly are used by a bunch of add-ons.
2021-02-01 20:23:48 +10:00
Damien Elmes
8075d46011 convert setWindowFlags call into helper, and fix invalid variables
"type: ignore" was masking the invalid references to self in places
like showText()
2021-01-07 14:24:49 +10:00
BlueGreenMagick
9a29d1b97a remove context help button 2021-01-06 22:15:48 +09:00
Henrik Giesel
bd0b58ef1c Add silentlyClose method to Addons dialog 2021-01-04 11:52:00 +01:00
Henrik Giesel
b7556281d0 Open AddonsDialog via dialog manager 2020-12-26 18:07:37 +01:00
Damien Elmes
68311500b3 update remaining python format strings to Fluent 2020-11-22 14:57:53 +10:00
Damien Elmes
7e655614b2 fix remaining _() references; remove unused imports 2020-11-18 12:43:46 +10:00
Damien Elmes
b02badb224 update multi-line _() references 2020-11-18 11:32:22 +10:00
Damien Elmes
dac8daf113 begin plural string migration 2020-11-17 23:29:08 +10:00
Damien Elmes
2feddb3d70 update temporary val="%s" references to standard ftl 2020-11-17 22:00:44 +10:00
Damien Elmes
066b1498ae merge bulk of qt/ - designer files still to do 2020-11-17 17:42:43 +10:00
Damien Elmes
8729edffbb update to latest black 2020-08-31 13:29:28 +10:00
ANH
ff4cb87433 remove unicode isolation markers from add-on config editor title 2020-08-31 00:35:17 +03:00
Fabian Wood
d8bce7731f Fixed runtime error from changes in qt addons.py
Changes to meet returning of Iterable (rather than List), meant
returning a different variable, but that may not have been created.
Reverted, changing to return List.
2020-08-01 17:50:37 +10:00
Fabian Wood
00236ce253 Updated qt addons with more extensive typehints 2020-08-01 15:50:27 +10:00
Matt Krump
1fe46438c0 Turn on check_untyped_defs for aqt.addons 2020-07-30 18:43:57 -06:00
Damien Elmes
8fb3da2e27 split add-ons window title from menu bar action
https://anki.tenderapp.com/discussions/private/4781-print-mistake
2020-07-19 09:49:36 +10:00
Damien Elmes
f38c9b4272 work around yet another qt bug
https://anki.tenderapp.com/discussions/beta-testing/2017-httpsforumsankiwebnettrestore-defaults-config-not-visually-updated420
2020-06-24 11:12:45 +10:00
Damien Elmes
b552dfb986 add "immediate" progress back
on ops which we know are going to take time, it makes the interface
look more responsive to pop up the progress more quickly
2020-06-01 13:57:10 +10:00
Damien Elmes
4d33b2d8f7 use qconnect everywhere, and fix some typing issues
a step towards check_untyped_defs in aqt, but there's still 100+
issues to resolve
2020-05-04 13:23:08 +10:00
Damien Elmes
0c1b10162f Revert "Merge pull request #562 from ijgnd/master"
This reverts commit 1163e418ee, reversing
changes made to 2bfff8dee4.

https://anki.tenderapp.com/discussions/beta-testing/1920-config-can-copy-paste-but-cant-click-links-now
2020-04-21 09:10:45 +10:00
ijgnd
9d076d00e0 make help text selectable
This allows the user to copy e.g. values so that they don't have to retype them which might introduce typos.
2020-04-15 18:59:04 +02:00
Damien Elmes
a33a02f3de update if a compatible branch is found, even if mtime is wrong
https://anki.tenderapp.com/discussions/ankiweb/4668-addon-auto-update-problems
2020-04-15 18:47:04 +10:00
Arthur Milchior
5bb0808994 Allow add-on dev to show personalized message.
The error should be in "error_msg"

They can show:
* the original error message with {problem}
* the path of the error with {path},
* the value which does not match against the subchema with {error}
* the subschema against which the error occurs with {schema}

Thanks to Glutanimate for the idea https://github.com/ankitects/anki/pull/495#issuecomment-596685227
2020-03-11 01:39:39 +01:00
Arthur Milchior
c4ee97d707 snake case for addon_schema 2020-03-11 00:56:14 +01:00
Arthur Milchior
7dd2c3ec43 hook single_addon_selected 2020-03-09 12:45:10 +01:00
Arthur Milchior
9f1415a811 hook addons_dialog_will_show 2020-03-09 12:45:10 +01:00
Arthur Milchior
0a8f339aa3 More precise schema failure message
While creating schema for the add-on I used, I realized that my error
message was not precise enough.

For a big configuration such as in "Enhance main window", the message
"None is not of type 'string'" is almost useless.
So I added a path in the json config, to indicate where the error
is. And also which subschema is currently being used.
2020-03-08 16:38:06 +01:00
Damien Elmes
aeb73a6354 Merge pull request #495 from Arthur-Milchior/check_schema_before_accepting
add-on config check schema of user config
2020-03-06 21:14:47 +10:00
Arthur Milchior
f914354d16 add-on config check schema of user config 2020-03-05 16:31:17 +01:00
Damien Elmes
02caf37f28 fix regression introduced by PR #492 2020-03-05 09:24:26 +10:00
Damien Elmes
a655dce629 Merge pull request #492 from Arthur-Milchior/print_json_decode_error
print json decode error message
2020-03-05 07:26:17 +10:00
Arthur Milchior
0210521745 print json decode error message
The main point is to allow add-on dev' to debug their own json
2020-03-04 15:29:48 +01:00
Arthur Milchior
3cca0bb132 config_unprettify_json 2020-03-04 08:25:14 +01:00
Arthur Milchior
ea03fcc526 hook prettify_json 2020-03-04 08:25:14 +01:00
Glutanimate
a36d37d041 Display add-on name in add-on configuration window title 2020-02-29 20:15:23 +01:00
Damien Elmes
2de865d7f0 migrate strings with trailing newlines to fluent 2020-02-27 20:36:40 +10:00
Alan Du
df55645ced Apply mypy improvements to aqt 2020-02-26 22:27:58 -05:00
Damien Elmes
d2929bcc64 fix negative number in compat message 2020-02-18 08:27:47 +10:00
Arthur Milchior
769c806c2d correct missing french translation 2020-02-05 20:48:30 -08:00
Damien Elmes
511d2cf469 default human_version to None 2020-02-04 17:03:21 +10: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
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
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
405c21eda8 support min/max add-on versions in download and ankiaddon manifest 2020-01-24 17:25:52 +10:00
Damien Elmes
bfc0ac1c0f simplify taskman, and add .run_on_main() 2020-01-22 14:09:51 +10:00
Damien Elmes
81684ecf52 fix download log newlines 2020-01-19 16:46:24 +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
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
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
Glutanimate
a0de4ca0e1 Use add-on name rather than package name when reporting on conflicts
Brings _installationSuccessReport more in line with messaging in
AddonManager.toggleEnabled
2020-01-04 04:49:36 +01:00
Glutanimate
34cba492ab Further tweak messaging depending on Anki's state at installation time 2020-01-04 04:45:43 +01:00
Glutanimate
af508cec71 When possible, install add-on before add-ons are loaded
Removes the need to restart Anki if it is not running when
user launches .ankiaddon file
2020-01-04 04:34:16 +01:00
Glutanimate
e4c3a23007 Fix type hints and remove obsolete argument 2020-01-04 04:31:33 +01:00
Glutanimate
be89378ee2 Adjust type annotations, format string, and remove tooltip on cancel
Other areas of Anki don't confirm cancelling actions with tooltips,
so after further consideration, the tooltip felt out of the place and
might have actually confused users into thinking some action was
being performed.
2020-01-04 01:30:20 +01:00
Glutanimate
b61610142e Fix mypy and black checks 2020-01-03 18:23:28 +01:00
Glutanimate
8b2588f079 Extend CLI with the ability to install .ankiaddon packages
Allows Anki to register a mime-type handler for .ankiaddon files

Other small collateral changes:

+ fix positioning issues with some prompts and progress dialog
+ add prompt titles where they were missing
+ add type annotations for AddonManager installation methods
+ explicitly import os in main (used to be imported via aqt.qt)
2020-01-03 17:57:33 +01:00
Glutanimate
6bf7736e84 Refactor add-on installation error handling
Allows extending the installation pathways more easily.
In preparation of .ankiaddon file type handling.
2020-01-03 16:32:20 +01:00
Damien Elmes
2a00e0a6b0 tweaking the folder names again
hopefully that's the last of it
2020-01-03 07:48:38 +10:00
Renamed from anki-qt/aqt/addons.py (Browse further)