Abdo
6c17be7cb3
Flip sidebar position for RTL languages ( #1453 )
2021-10-25 13:27:19 +10:00
Henrik Giesel
44f0cba3fa
Fix Preview button not showing and cloze button not hiding ( #1437 )
2021-10-20 07:09:12 +10:00
RumovZ
ff9dd841ca
Use null for unset cardId
2021-10-18 09:11:00 +02:00
RumovZ
8fb055d72e
Default to includeRevlog = true
2021-10-18 09:04:49 +02:00
RumovZ
d0859fa665
Format
2021-10-18 09:01:25 +02:00
RumovZ
73dc7e90f8
Use language that mypy understands
2021-10-18 09:01:25 +02:00
RumovZ
424a50dcdc
Improve clarity in card info code a tiny little bit
2021-10-18 09:01:25 +02:00
RumovZ
c780203ad4
Keep Card Info Dialog open even if no card is set
2021-10-18 09:01:24 +02:00
RumovZ
847bf3fe12
Move update logic into CardInfo.svelte
2021-10-18 09:01:24 +02:00
RumovZ
7570a0757e
Make window titles more user-friendly
2021-10-18 09:01:23 +02:00
RumovZ
e328715e00
Add utility func for setting window icon
2021-10-18 09:01:23 +02:00
RumovZ
3b5f4413f8
Use updating card infos in browser and reviewer
2021-10-18 09:01:23 +02:00
RumovZ
5fae48b612
Add update handler for Card Info Dialog
2021-10-18 09:01:22 +02:00
RumovZ
cb0adbd355
Make Card Info Dialog non-modal
2021-10-18 09:01:22 +02:00
Damien Elmes
631c345ef0
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
RumovZ
ea9fc3730e
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
Damien Elmes
3c40b9a71f
Revert "Allow <audio> to play without user interaction in accordance to autoplay setting"
...
This reverts commit 776c46e23b .
This breaks in the PyQt6 upgrade. There are no globals anymore, only
page profiles - but the code should probably be modifying a specific
webview instead of globals anyway.
2021-10-12 16:18:24 +10:00
Damien Elmes
32df40216e
.exec_() -> .exec()
...
The former is not supported in PyQt6
2021-10-12 16:17:37 +10:00
Damien Elmes
1db83ba066
use Qt search path instead of resource system
...
Means URLs like :/icons/foo.jpg should become icons:foo.jpg
This is part of the prep work for a PyQt6 update. PyQt6 has dropped
pyrcc, so we can longer generate the icons_qrc.py file we did previously.
Qt Designer expects us to use the resource system, so we continue to
generate the icons.qrc file to make editing the UI files easier. But at
runtime, we no longer use that file.
2021-10-12 16:17:08 +10:00
Ren Tatsumoto
3e2bd3d772
Keep the list of duplicates up-to-date before tagging ( #1404 )
...
* keep the list of dupes up-to-date before tagging
* get rid of a redundant parameter
* unnecessary lambda
2021-10-07 12:49:41 +10:00
Damien Elmes
3c1729e91b
run pyupgrade over codebase [python upgrade required]
...
This adds Python 3.9 and 3.10 typing syntax to files that import
attributions from __future___. Python 3.9 should be able to cope with
the 3.10 syntax, but Python 3.8 will no longer work.
On Windows/Mac, install the latest Python 3.9 version from python.org.
There are currently no orjson wheels for Python 3.10 on Windows/Mac,
which will break the build unless you have Rust installed separately.
On Linux, modern distros should have Python 3.9 available already. If
you're on an older distro, you'll need to build Python from source first.
2021-10-04 15:05:48 +10:00
Damien Elmes
00c68b44e0
update Python deps
2021-10-02 23:52:23 +10:00
Damien Elmes
8960017554
Merge pull request #1402 from RumovZ/row-changed
...
Connect `currentChanged()` and add legacy alias for `onRowChanged()`
2021-10-02 09:06:05 +10:00
RumovZ
db3cda588f
Add legacy alias browser.onRowChanged()
2021-10-01 18:36:12 +02:00
RumovZ
287acfe017
React to currentChanged() signal
...
Decouples changes of the current element and changes of the selection.
Introduces `browser.current_card` which has previously been amalgamated
with the previewer card `browser.card`.
2021-10-01 16:40:25 +02:00
Damien Elmes
181bfab3d9
Merge pull request #1397 from RumovZ/column-tooltips
...
Add tooltips for some browser columns
2021-10-01 19:12:59 +10:00
Damien Elmes
8ba252a53e
Merge pull request #1400 from RumovZ/revert-hide-completer
...
Remove workaround for Qt completer bug
2021-10-01 15:30:37 +10:00
Damien Elmes
4897a6fcfa
Merge pull request #1392 from RumovZ/missing-row-handling
...
Handle missing rows consistently and speed up selections
2021-10-01 14:24:04 +10:00
RumovZ
c04c8db9a4
Remove workaround for Qt completer bug
...
Reverts #803 .
2021-09-30 17:56:37 +02:00
RumovZ
0d68e1d59c
Add tooltips for some browser columns
2021-09-30 13:15:09 +02:00
RumovZ
2fca3de03e
Remove redundant call to len_columns()
2021-09-28 12:11:20 +02:00
RumovZ
7c376e0172
Tweak comment
...
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
2021-09-28 11:48:35 +02:00
RumovZ
6be0de0310
Speed up to_row_of_unselected_note()
...
Skip rows between selected rows and return fetched note ids.
2021-09-28 11:47:13 +02:00
RumovZ
17ece47beb
Cache selectionModel().selectedRows()
2021-09-28 11:45:22 +02:00
RumovZ
014220959a
Calculate len_selection depending on modifiers
...
If no modifiers are pressed, a single row has probably been clicked and
`selectedRows()` is fast, while a lot of rows might have been deselcted.
2021-09-28 10:22:20 +02:00
RumovZ
4245a6bbc3
Prefer selectionModel().reset() over .clear()
...
The latter triggers `selectionChanged()` unreliably, probably due to the
aggregation of chronologically close events, causing problems in
tracking `_len_selection`. `reset()` never emits signals.
2021-09-28 10:19:33 +02:00
Damien Elmes
04a620ff1a
Merge pull request #1382 from RumovZ/tags-from-sidebar
...
Tags from sidebar
2021-09-27 18:41:32 +10:00
RumovZ
94eafcf831
Calculate number of selected rows manually
...
`len(self._view.selectionModel().selectedRows())` is slow for large
selections, because Qt queries flags() for every selected cell, so we
calculate the number of selected rows ourselves.
2021-09-27 10:15:53 +02:00
RumovZ
8daecb94e5
Switch to new row before deleting notes
...
The table now properly deselects deleted rows, but that takes effort and
it's more convenient to have a selected row after deleting.
2021-09-25 17:28:38 +02:00
RumovZ
c0616fe820
Handle deleted or restored rows
...
- Cache the result of 'table.len_selection()'
- Update this cache manually when a row was deleted or restored
- Emit 'dataChanged()' after such a change to fix flags not updating
correctly to the shortcut in 'model.flags()'
- Remove/retsore focus if the current element was deleted/restored
2021-09-25 17:16:53 +02:00
RumovZ
053bbe8f01
Only check flags of cached rows
...
Speeds up the selection process (esp. Ctrl+A) by avoiding to fetch rows.
Co-authored-by: BlueGreenMagick <BlueGreenMagick@users.noreply.github.com>
2021-09-25 15:32:22 +02:00
RumovZ
0a95d69735
Add callbacks to row fetching routine
...
Called when a row is detected that has been deleted or restored.
2021-09-25 15:27:19 +02:00
RumovZ
a77c65006f
Check 'index.isValid()' in 'table.model'
2021-09-25 15:21:06 +02:00
hikaru-y
6e196e43fd
Fix memory leak in previewer
...
Related thread:
https://forums.ankiweb.net/t/high-memory-usage-over-time-on-2-1-44/13544/
2021-09-22 17:21:08 +09:00
RumovZ
dcb7d44ce4
Enable adding/removing tags from the sidebar ...
...
... to selected notes.
2021-09-21 11:48:43 +02:00
Damien Elmes
54ec174453
Merge pull request #1375 from RumovZ/disable-actions
...
Disable unusable browser actions on row change
2021-09-21 18:38:30 +10:00
Damien Elmes
2695cb64ff
add hidden option to disable tooltips in browse screen
...
https://forums.ankiweb.net/t/browser-text-pop-up-when-hovering-over-card-poll/13254
2021-09-21 15:03:37 +10:00
Damien Elmes
916ff49efe
temporary fix for error on deleting ( #1374 )
2021-09-20 22:02:44 +10:00
RumovZ
64fd90d633
Simplify sidebar context menu separators
...
Qt can collapse consecutive menu separators, so no need to check if a
subroutine has actually added any actions to the menu.
2021-09-19 18:33:36 +02:00
RumovZ
8fd0e89a5a
Disable unusable browser actions on row change
2021-09-17 16:16:34 +02:00
Damien Elmes
2c235ccc70
don't check state of current card when repositioning
...
closes #1365
2021-09-13 14:56:53 +10:00
RumovZ
f1fcd8830d
Disable 'Rename with Parents' for top-level items
2021-08-30 11:10:14 +02:00
Damien Elmes
48028aa397
Merge pull request #1319 from abdnh/sidebar-scroll-center
...
Use PositionAtCenter for sidebar scrolling
2021-08-02 18:35:38 +10:00
Damien Elmes
28535b4f84
Merge pull request #1311 from hikaru-y/flag-mark-icons-in-previewer
...
Show flag and mark icons in previewer
2021-08-02 18:33:36 +10:00
abdo
26b6688cb2
Use PositionAtCenter for sidebar scrolling
2021-08-02 10:57:54 +03:00
Damien Elmes
8e48722cf0
prevent hiding of sidebar
...
https://forums.ankiweb.net/t/browser-format-issues/11504/10
2021-07-28 11:14:09 +10:00
hikaru-y
7c90637922
Show flag and mark icons in previewer
2021-07-26 20:13:42 +09:00
RumovZ
16e3f2c7f3
Fix browser search completer
...
Adding an empty entry at the top fixes
https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/45
and allows for scrolling back to an empty line.
2021-07-17 12:23:19 +02:00
Damien Elmes
4ed0260248
Merge pull request #1297 from hgiesel/browsershortcuts
...
Allow Using Ctrl+Shift+P from Browser when focusing Qt components
2021-07-17 15:18:36 +10:00
Henrik Giesel
f016df00cd
Remove unnecessary lambda
2021-07-17 04:17:28 +02:00
Henrik Giesel
59f801abc7
Allow Using Ctrl+Shift+P from Browser when focusing Qt components
2021-07-17 03:39:27 +02:00
Damien Elmes
c93476512c
Merge pull request #1292 from hgiesel/reviewerplus
...
Move reviewer to ts/reviewer v2
2021-07-17 09:10:14 +10:00
hikaru-y
dc11d7c297
Revert "Follow-up to #1271 (Preload answer images)"
2021-07-16 23:57:49 +09:00
Henrik Giesel
170bc5c25e
Revert to MathJax through script tag
2021-07-16 16:56:57 +02:00
Henrik Giesel
28e2f62793
Remove protobuf important from reiewer (no longer necessary (?))
2021-07-16 16:56:56 +02:00
Henrik Giesel
70040d508e
Include MathJax over ts/reviewer
2021-07-16 16:56:56 +02:00
Henrik Giesel
c62d2dc033
Export jquery via ts/reviewer
2021-07-16 16:56:56 +02:00
Henrik Giesel
8ee6eb71eb
Include css-browser-selector via ts/reviewer
2021-07-16 16:56:56 +02:00
Henrik Giesel
11f06161c9
Include protobuf in clayout and browser (p)reviewer
2021-07-16 16:56:56 +02:00
Damien Elmes
eb4e18a45f
Merge pull request #1293 from RumovZ/find-and-replace
...
Find & Replace
2021-07-16 10:47:16 +10:00
RumovZ
9ba35b9efb
Remove redundant QueryOp in rename_deck()
2021-07-15 08:56:47 +02:00
RumovZ
0804d054b7
Remove unused name prefix of sidebar templates
2021-07-13 16:41:50 +02:00
RumovZ
4f17400021
Add sidebar actions
...
- Find & Replace for notetype fields
- Rename with Parents for decks and tags
2021-07-13 16:34:02 +02:00
RumovZ
4b1218184d
Rework Find & Replace dialog:
...
- Add option to affect whole collection
- Allow to open without selection
- Add parameter for presetting field
2021-07-13 16:33:45 +02:00
Damien Elmes
492137d264
Merge pull request #1291 from RumovZ/addon-cols
...
Show key of unknown browser columns
2021-07-13 13:35:54 +10:00
RumovZ
211f39836d
Show key of unknown browser columns
2021-07-12 19:03:51 +02:00
RumovZ
300ff08ad0
Add mock browser model to support legacy resetting
2021-07-12 12:36:26 +02:00
Damien Elmes
2238cdaa43
rename Config in protobuf to avoid conflict with module name
...
+ use the enum directly, instead of wrapping it in an object
Python code retains the old "Config" name.
2021-07-11 19:27:08 +10:00
Damien Elmes
af6a80c4ec
Merge pull request #1277 from RumovZ/config-keys
...
Add constants for literal config keys
2021-07-07 09:14:40 +10:00
RumovZ
e763745e05
Add pylib/browser.py for literal config keys
...
Also, remove config bools for sort order.
2021-07-05 12:44:48 +02:00
hikaru-y
00eaf63d41
Follow-up to #1271
...
- remove no-longer-required 'escape_media_filenames()' b21af06d
- clean up previewer.py
2021-07-05 01:13:17 +09:00
Damien Elmes
29808094c8
Merge pull request #1271 from hikaru-y/preload-images
...
Preload answer images
2021-07-04 15:50:55 +10:00
hikaru-y
bf93324448
Preload images to be displayed on answer side
2021-07-03 21:33:00 +09:00
RumovZ
94cc0cf901
Add flag manager and hook
...
'FlagManager' allows cached access to the flag objects, takes care of
renaming flags and notifies GUI components with the hook
'flag_label_did_change'.
2021-07-02 11:16:10 +02:00
Henrik Giesel
01cc9df232
Add flag icons from mdi after all
...
- This way, we can also use their modifier versions with little pluses/minuses
2021-07-01 01:16:50 +02:00
Henrik Giesel
d5f8a6e50c
Remove multiple icons, new notetype/cardtype icons
2021-07-01 01:12:11 +02:00
Henrik Giesel
eec7eae885
Remove name_prefix from field sidebar item
2021-06-30 21:02:23 +02:00
Henrik Giesel
32f3c5dbe7
Replace card state and clock icon
2021-06-30 21:02:23 +02:00
Henrik Giesel
1850f24c4b
Replace saved search icon
2021-06-30 21:02:23 +02:00
Henrik Giesel
5031bafb61
Add NOTETYPE_FIELD sidebar items
2021-06-30 21:02:23 +02:00
Henrik Giesel
fecceb1997
Add notetype icons
2021-06-30 21:02:23 +02:00
Henrik Giesel
5fe2519619
Add new icons for decks
2021-06-30 21:02:23 +02:00
Henrik Giesel
d9a368631f
Add tag_multiple icon
2021-06-30 21:02:23 +02:00
Damien Elmes
309f5ee528
minor follow-up to #1257
...
No need for a separate argument, as we only want to scroll when
searching.
2021-06-29 11:53:10 +10:00
Damien Elmes
8743ccf682
Merge pull request #1257 from abdnh/sidebar-scroll-to-first-match
...
Scroll to first sidebar search match
2021-06-29 11:44:28 +10:00
Damien Elmes
2bada06570
use inner function instead of return value in _expand_where_necessary()
2021-06-29 11:40:59 +10:00
abdo
27313ba53d
Scroll to first sidebar search match
2021-06-28 14:44:09 +03:00
RumovZ
1be1ca5911
Fix id check for today and card state items
2021-06-28 12:55:59 +02:00
Damien Elmes
c0dccee9fa
Merge pull request #1252 from RumovZ/fix-tag-expand
...
Fix expanding/collapsing tags triggering refresh
2021-06-27 18:45:29 +10:00
Damien Elmes
f9560586cb
PEP8 collection.py
2021-06-27 15:12:22 +10:00