Damien Elmes
75932db734
enable eslint on aqt/data/web/js
2021-10-18 19:39:45 +10:00
Damien Elmes
89279f7f5e
use ts_project for aqt/data/web/js
...
We're now ts_project only, and are less likely to run into issues
with future rules_nodejs updates.
2021-10-18 19:39:45 +10:00
RumovZ
8eed005db6
Use null
for unset cardId
2021-10-18 09:11:00 +02:00
RumovZ
dc4f5adc44
Default to includeRevlog = true
2021-10-18 09:04:49 +02:00
RumovZ
ca57cb964c
Format
2021-10-18 09:01:25 +02:00
RumovZ
b6104fa10b
Use language that mypy understands
2021-10-18 09:01:25 +02:00
RumovZ
bbba21126f
Improve clarity in card info code a tiny little bit
2021-10-18 09:01:25 +02:00
RumovZ
ec02a4218e
Keep Card Info Dialog open even if no card is set
2021-10-18 09:01:24 +02:00
RumovZ
5062024974
Move update logic into CardInfo.svelte
2021-10-18 09:01:24 +02:00
RumovZ
1d63253b4f
Make window titles more user-friendly
2021-10-18 09:01:23 +02:00
RumovZ
7eec241c82
Add utility func for setting window icon
2021-10-18 09:01:23 +02:00
RumovZ
f0d7e6f4d1
Use updating card infos in browser and reviewer
2021-10-18 09:01:23 +02:00
RumovZ
13024fcccc
Add update handler for Card Info Dialog
2021-10-18 09:01:22 +02:00
RumovZ
859b1d1a39
Make Card Info Dialog non-modal
2021-10-18 09:01:22 +02:00
Damien Elmes
e58646909f
get PyQt working directly with ./run on macOS
...
It's no longer necessary to copy everything into bazel-copy, and you
can safely remove that folder.
2021-10-16 18:07:29 +10:00
Damien Elmes
d0feffde74
avoid pulling qt5 in unless requested
2021-10-16 16:54:34 +10:00
Damien Elmes
281f1b2bf9
build all the UI files in one go
...
On macOS, the overhead of importing PyQt for each file far exceeds
any gains we get from incremental recompilation.
2021-10-16 09:20:20 +10:00
Damien Elmes
2c17105a35
use string replacements to generate Qt5 forms
...
They are mostly compatible, and this means a Qt5 install is not required
as part of the build process.
2021-10-16 08:59:09 +10:00
Damien Elmes
4a8e2bdc2d
download wheels using rules_python
2021-10-15 16:02:26 +10:00
Damien Elmes
819ec40a3e
update rules_python
2021-10-15 15:07:31 +10:00
Damien Elmes
b10aebc8b8
use separate header state for each Qt version
...
https://forums.ankiweb.net/t/new-toolkit-and-packaging-test-windows/14081/15
2021-10-15 13:15:38 +10:00
Damien Elmes
52642d693b
drop PyAudio support
...
I do not recall anyone reporting that it worked better than the Qt
implementation for them, and the lack of recent wheels on PyPI is a pain.
We can always add it back in the future if enough people come out of
the woodwork to report they were using it.
2021-10-15 13:15:16 +10:00
Damien Elmes
7962c8107f
qt recording support for qt6
...
+ fix inefficient bytes concatenation
2021-10-15 12:57:19 +10:00
Damien Elmes
2e9b4b3454
hide the video driver selection in qt6
2021-10-15 12:57:19 +10:00
Damien Elmes
e2c8dc92c1
fix placeholder text color on win/lin
2021-10-15 12:57:19 +10:00
Damien Elmes
58d17a51f3
fix incorrect web background color being picked up in qt6+win/lin
2021-10-15 12:57:19 +10:00
Damien Elmes
0d246c9e0b
update wheel definitions to require Python 3.9; make PyQt optional
...
While we do require PyQt, it's not possible to declare that we require
either 5 or 6, and so we need to mark it as optional. Instead, we
provide optional dependencies, so the user can e.g. 'pip install aqt[qt6]'
2021-10-15 12:57:19 +10:00
Damien Elmes
36fdc607c6
add run-qt5 script to run with 5.x
2021-10-15 12:57:19 +10:00
Damien Elmes
a7812dedc0
switch to new-style PyQt scoped enums and Qt6
...
The enum changes should work on PyQt 5.x, and are required in PyQt 6.x.
They are not supported by the PyQt5 typings however, so we need to run
our tests with PyQt6.
2021-10-15 12:57:19 +10:00
Damien Elmes
b0272f0336
generate pyqt6 forms
2021-10-15 12:57:19 +10:00
Damien Elmes
dfcefaebe3
miscellaneous pyqt6 compat fixes
...
- add a few gates for qt5-specific behaviour
- prepare for some changes to the typings in qt6
- map pickled Qt5 ByteArrays to Qt6 when running Qt6
2021-10-15 12:57:19 +10:00
Damien Elmes
4d0a915610
move QtAudioInputRecorder into separate PyQt5-only file
...
New API required for PyQt6.
2021-10-15 10:47:53 +10:00
Damien Elmes
1701937cba
expose pyqt6 packages - not yet used
2021-10-15 10:47:53 +10:00
Damien Elmes
2a3072191f
avoid importing directly from PyQt5 where possible
2021-10-15 10:47:53 +10:00
Damien Elmes
5f19d39f15
add ready-research to about screen
2021-10-14 21:02:44 +10:00
evandrocoan
2a12d44b34
Increased max visible items from clayout_top.ui ( #1425 )
...
10 is too small for big decks.
2021-10-14 19:36:04 +10:00
Damien Elmes
e8c5802a96
pass sole arg to cardStats as a dictionary
...
Easier to extend in the future, or (de)serialize in a strongly-typed
language.
2021-10-14 19:28:51 +10:00
RumovZ
3672b0fe73
Switch CardInfoDialog to ts page ( #1414 )
...
* Only collect card stats on the backend ...
... instead of rendering an HTML string using askama.
* Add ts page Card Info
* Update test for new `col.card_stats()`
* Remove obsolete CardStats code
* Use new ts page in `CardInfoDialog`
* Align start and end instead of left and right
Curiously, `text-align: start` does not work for `th` tags if assigned
via classes.
* Adopt ts refactorings after rebase
#1405 and #1409
* Clean up `ts/card-info/BUILD.bazel`
* Port card info logic from Rust to TS
* Move repeated field to the top
https://github.com/ankitects/anki/pull/1414#discussion_r725402730
* Convert pseudo classes to interfaces
* CardInfoPage -> CardInfo
* Make revlog in card info optional
* Add legacy support for old card stats
* Check for undefined instead of falsy
* Make Revlog separate component
* drop askama dependency (dae)
* Fix nightmode for legacy card stats
2021-10-14 19:22:47 +10:00
zhangsn
7c74f7805b
add new hook: add_cards_did_change_deck ( #1420 )
...
* add new hook which will be executed after the user selects a new different deck when adding cards.
* Update qt/aqt/deckchooser.py
2021-10-12 17:55:21 +10:00
Damien Elmes
a403b957cc
fix error in webview __del__ on shutdown
2021-10-12 17:07:07 +10:00
Damien Elmes
4e405f1cc3
remove unused locale_dir
2021-10-12 16:27:57 +10:00
Damien Elmes
d9bff1e8ce
provide root_path to flask
...
Flask tries to look up root_path using __file__, which may not be
available. It's used for static file hosting and templates, neither
of which we use.
2021-10-12 16:27:57 +10:00
Damien Elmes
c01ced6ecb
remove unused moduleDir
2021-10-12 16:27:57 +10:00
Damien Elmes
d33c66e195
change setHtml() to serve content via media server
...
- fixes https://forums.ankiweb.net/t/deck-list-is-blank/2241/2
- fixes the security warnings on Qt 6, by ensuring our pages and
resources are coming from the same origin
2021-10-12 16:27:03 +10:00
Damien Elmes
4b5004c472
refactor mediasrv request processing
...
_redirectWebExports was doing more than it was originally intended for,
and it was difficult to follow.
2021-10-12 16:22:09 +10:00
Damien Elmes
70dbd06be3
add qtmajor qualification to version checks; update outdated min ver
2021-10-12 16:20:33 +10:00
Damien Elmes
46a1cc575c
update a deprecated API call in clayout
2021-10-12 16:20:12 +10:00
Damien Elmes
974378f2be
remove old unused build_ui.sh
2021-10-12 16:19:27 +10:00
Damien Elmes
b85ee30c70
stop migrating from old folder locations
...
Closes #1390
2021-10-12 16:18:31 +10:00
Damien Elmes
c39a5e17e8
Revert "Merge pull request #610 from evandroforks/ask_confirmation_before_moving_anki_collection"
...
This reverts commit a53aac40f8
, reversing
changes made to e323a8f902
.
Migration is about to be dropped (#1390 ), and the references to modules
like QtGui complicate a PyQt5/6 shim.
2021-10-12 16:18:24 +10:00