Damien Elmes
41779c1aad
implement bury/suspend undo
2021-03-10 11:47:53 +10:00
Damien Elmes
b466f0ce90
rework undo
...
- use dataclasses for the review/checkpoint undo cases, instead of the
nasty ad-hoc list structure
- expose backend review undo to Python, and hook it into GUI
- redo is not currently exposed on the GUI, and the backend can only
cope with reviews done by the new scheduler at the moment
- the initial undo prototype code was bumping mtime/usn on undo, but
that was not ideal, as it was breaking the queue handling which expected
the mtime to match. The original rationale for bumping mtime/usn was
to avoid problems with syncing, but various operations like removing
a revlog can't be synced anyway - so we just need to ensure we clear the
undo queue prior to syncing
2021-03-10 11:47:53 +10:00
Damien Elmes
b9c4b2bdbe
Merge pull request #1046 from hgiesel/sticky
...
Sticky icons in the editor window
2021-03-10 11:43:51 +10:00
Damien Elmes
1e7405296f
Merge pull request #1050 from BlueGreenMagick/choose-addon-to-update
...
Choose addon to update
2021-03-10 11:41:50 +10:00
RumovZ
9a844591fe
Ensure mouse is at current index before searching
...
Thus, no search will be triggered when clicking an expansion indicator
as this doesn't update the current element. However, if the indicator
belongs to the current item, a search will be triggered anyway.
2021-03-09 20:36:15 +01:00
RumovZ
a9ea7e39ae
Disable expand on double click in search mode
2021-03-09 20:18:12 +01:00
bluegreenmagick
4cde93ed74
don't show routine update when not update_enabled
2021-03-09 22:27:28 +09:00
bluegreenmagick
29076ec9ec
add context menu to open ankiweb page
2021-03-09 22:19:03 +09:00
bluegreenmagick
c11feda0eb
add bool_to_check and checked method
2021-03-09 22:19:03 +09:00
bluegreenmagick
01d8dc20f1
fix check issues in ChooseAddonsToUpdateList
2021-03-09 22:19:03 +09:00
bluegreenmagick
e73e0bec34
save chooseaddonupdate check state
2021-03-09 22:19:03 +09:00
Henrik Giesel
e03bfd2923
Refactor bridgeCommand and silence false "uncaught msg" log
2021-03-09 13:43:11 +01:00
Henrik Giesel
cd26901f3d
Make sure topleft buttons are rounded too, prefer Bootstrap's rounded class
2021-03-09 13:43:11 +01:00
Henrik Giesel
6fbd82f2f8
Change signature of editor onBridgeCmd to Any instead of None
2021-03-09 13:43:11 +01:00
Henrik Giesel
da0317cb85
Replace pin icon with lock icon
...
Credit goes out to @kleinerpirat
2021-03-09 13:43:11 +01:00
Henrik Giesel
ebf423bc9c
Remove Change Tracker again
2021-03-09 13:43:11 +01:00
Henrik Giesel
8593ab3c4c
Connect icons to sticky fields values
2021-03-09 13:37:56 +01:00
Henrik Giesel
d13bd1096d
Remove explicit popperjs again, because it's included in bootstrap.bundle
2021-03-09 13:37:56 +01:00
Henrik Giesel
31cba30873
Include the bootstrap icons in the editor view
2021-03-09 13:37:56 +01:00
Henrik Giesel
a66b0fbd84
Fix positioning of buttons
2021-03-09 13:37:56 +01:00
Henrik Giesel
f2cc85a3bc
Include bootstrap in editor
2021-03-09 13:37:56 +01:00
Henrik Giesel
aeda64a890
Add bootstrap, bootstrap-icons, and popperjs
2021-03-09 13:37:56 +01:00
RumovZ
3f772ce0fe
Add shortcuts for sidebar tools
2021-03-09 11:19:44 +01:00
RumovZ
28402c7015
Improve toolbar styling for macOS
2021-03-09 08:50:01 +01:00
RumovZ
08c09bcb0f
Remove edit mode
2021-03-08 11:55:15 +01:00
RumovZ
8d9072193c
Enable drag for all sidebar items ...
...
... and set valid drop targets dynamically based on the current
selection.
2021-03-08 11:35:39 +01:00
RumovZ
f07890c178
Ask before removing tags from collection
2021-03-07 11:40:11 +01:00
RumovZ
6c4d6457fb
Simplify multi deletion confirmation strings
2021-03-07 11:05:43 +01:00
RumovZ
f72daacae4
Only show edit actions with conform selection
2021-03-07 11:05:28 +01:00
RumovZ
23777eed67
Fix repainting in case of tree building exception
2021-03-07 09:47:17 +01:00
RumovZ
cce1b1f702
Remove context action dict
...
Now that almost all actions can be triggered from outside the context
menu and are available for more than one item type, it's easier to check
for available actions dynamically.
2021-03-05 12:22:49 +01:00
RumovZ
39dad049cd
Fix children check in context tree actions
2021-03-05 10:27:44 +01:00
Benjamin K
5d880f6e31
Clean up imports
2021-03-04 19:55:35 +01:00
Benjamin K
a066cee326
The old delimiter is now kept, when cancel button is clicked
2021-03-04 19:39:43 +01:00
RumovZ
513e7bdfb4
Enable deleting via delete key
2021-03-04 18:31:35 +01:00
RumovZ
1f500c1fb8
Enable Enter/Return search in all modes ...
...
... but don't trigger search if the key closes the editor.
Also get rid of the on_click of the saved searches root which has
already been removed on main.
2021-03-04 17:40:12 +01:00
RumovZ
4ab9e6caef
Ask for confirmation when overwriting saved search
2021-03-04 17:22:03 +01:00
RumovZ
6930ea24a9
Adjust sidebar tool icons to smaller size
2021-03-04 17:20:10 +01:00
RumovZ
5c6eea0d80
Make renamed item current (don't just select)
2021-03-03 23:00:37 +01:00
RumovZ
7d3d6edb26
Remove renaming dialogues from sidebar ...
...
... in favour of in-line editing. This is simpler and more ergonomic for
the user (and the programmer) but doesn't allow for editing parents
through text input (in the case of tags and decks).
2021-03-03 21:57:39 +01:00
RumovZ
bcc8a5ac3a
Enable renaming templates from the sidebar
2021-03-03 18:09:53 +01:00
RumovZ
aa4576dd42
Enable renaming notetypes
2021-03-03 15:18:50 +01:00
RumovZ
65a2796a0e
Enable group expanding/collapsing
...
Also, only show expand/collapse actions if they will have an effect.
2021-03-03 11:44:42 +01:00
RumovZ
61e61376a2
Make SidebarItem._is_extended a property
2021-03-03 11:43:31 +01:00
RumovZ
e2940de4a4
Escape backslashes in re.sub()'s repl
2021-03-03 09:20:02 +01:00
RumovZ
c0d77896da
Add DECK_CURRENT as a SidebarItemType
...
Thus, disable renaming, deleting etc. for the current deck item.
As a consequence, editable is no longer needed as a field of SidebarItem
as it can be derived from its type.
2021-03-03 09:15:36 +01:00
bluegreenmagick
69006b5872
add dialog to choose addons to update
2021-03-03 10:34:43 +09:00
RumovZ
adaea7227e
Select and scroll to renamed/added sidebar item
2021-03-02 23:13:34 +01:00
RumovZ
25d57574c9
Enable removal of multiple tags from the sidebar
2021-03-02 11:05:16 +01:00
RumovZ
e29bd4479b
Make clickable dyndeck labels fixed in size
2021-03-01 11:26:52 +01:00
RumovZ
f4aeb0c097
Enable deleting multiple saved searches
2021-03-01 09:41:41 +01:00
RumovZ
e199bf0b47
Fix repainting when renaming tag via dialogue
2021-03-01 08:45:33 +01:00
RumovZ
30e7d705b6
Enable extended selection in edit mode
2021-03-01 08:45:03 +01:00
Damien Elmes
e218604708
monospace font in html editor
...
https://forums.ankiweb.net/t/change-default-font-of-html-edit-mode-to-a-monospaced-font/7833
2021-03-01 10:16:12 +10:00
Damien Elmes
32af54cd4d
catch attempts to nest under a filtered deck; don't show traceback
2021-03-01 09:58:12 +10:00
Damien Elmes
5564fd9e13
Merge pull request #1040 from RumovZ/deck-name-err
...
Catch deck rename errors and localise warnings
2021-03-01 09:40:55 +10:00
RumovZ
e83f0fef0f
Fix Qt types
2021-02-28 22:36:31 +01:00
RumovZ
dc1711b630
Always return False from rename_node
...
setData expects a result but due to the asynchrony of the editor it
might not be known, yet.
2021-02-28 22:36:21 +01:00
RumovZ
1b8cebb8c5
Enable in-place editing of sidebar tags
2021-02-28 21:50:21 +01:00
RumovZ
d0b916a2ff
Enable in-place editing of saved searches
2021-02-28 21:13:26 +01:00
RumovZ
0b83828508
Enable in-place editing of sidebar deck items
2021-02-28 21:03:19 +01:00
RumovZ
88c69665f3
Add support for multi deck deletion in python
2021-02-26 19:52:34 +01:00
RumovZ
2c25645975
Place sidebar tools right of search bar
2021-02-26 13:04:30 +01:00
RumovZ
92cbf168f6
Catch DeckIsFilteredError directly on frontend
2021-02-26 11:32:40 +01:00
Damien Elmes
b8acf11f3e
remove left-click on saved searches
...
Multiple users have thought it was a bug rather than an intentional
feature, and it breaks double-clicking:
https://forums.ankiweb.net/t/anki-2-1-41-beta/7305/51
2021-02-26 18:48:32 +10:00
Damien Elmes
d666b7e5b0
fix browser appearance defaults
...
https://forums.ankiweb.net/t/small-bug-in-the-browser-appearance-window/7806
2021-02-26 18:46:09 +10:00
Damien Elmes
bfd452c120
Merge pull request #1039 from RumovZ/dyndeck-hint
...
Clickable hint in dyndeck dialogue for unmovable cards
2021-02-26 18:02:51 +10:00
RumovZ
f5981e94bf
Add group search context action
2021-02-25 21:24:11 +01:00
RumovZ
172133299b
Handle search on event level
...
Instead of assigning each sidebar item a lambda, add a field for search
representation and handle searching in event handler.
2021-02-25 19:57:12 +01:00
RumovZ
47e1e62967
Make search first (default) mode
2021-02-25 19:28:29 +01:00
RumovZ
4a1e995934
Add edit mode in sidebar
2021-02-25 13:12:51 +01:00
RumovZ
0889972bb0
Save last sidebar tool
2021-02-25 12:20:54 +01:00
RumovZ
fd784adc31
Add select and search modes to sidebar
2021-02-25 11:06:59 +01:00
RumovZ
17afcb094f
Add toolbar to sidebar
2021-02-25 11:05:04 +01:00
RumovZ
9d3da3b844
Add icons for sidebar tools
2021-02-25 11:02:17 +01:00
bluegreenmagick
c7d8700054
StudyDeck without add button
2021-02-25 07:34:01 +09:00
RumovZ
1dca43f409
Fix #1024 – catch deck rename errors
2021-02-24 13:59:38 +01:00
RumovZ
8e43b29816
Localise RenameDeckError
2021-02-24 13:57:44 +01:00
RumovZ
e95c2fa6ce
Fix type hints in dyndeckconf
2021-02-24 11:24:27 +01:00
RumovZ
234ca4d496
Refactor dyndeckconf/on_hint_button
2021-02-24 11:14:33 +01:00
RumovZ
d6b1c0cf3a
Give dyndeck hint unique styling
2021-02-23 23:34:05 +01:00
RumovZ
ae88f7e593
Add clickable hint to dyndeckconf
2021-02-23 23:14:11 +01:00
RumovZ
5a37b8e2af
Add direct col reference to dyndeckconf
2021-02-23 22:31:04 +01:00
Henrik Giesel
8aa8174d4b
Fix scrollbar issue in anki-editable component in two ways
...
- using :host-context(.nightMode) allows for applying the nightmode
scroll bar inside the component
- apply max-width: 100% to all element within editable, not just images
2021-02-23 15:52:20 +01:00
Damien Elmes
f41ec183c2
Merge pull request #1034 from abdnh/clayout-cloze-shortcuts
...
Shortcuts to preview clozes in card layout screen
2021-02-22 10:07:16 +10:00
abdo
39f3b6ce93
Shortcuts to preview clozes in card layout screen
...
Assign Alt+{number} to select cloze cards.
2021-02-21 14:46:53 +03:00
Damien Elmes
13f5ee1ddc
tweak update message
...
- Since we need to show this to new users until AnkiDroid is updated,
use a wording that doesn't seem so out of place to new users.
- Avoid mentioning syncing, since the user may not sync, and the
modSchema() call will allow the user to confirm anyway.
- Let the user know they can change their mind about AnkiDroid by
visiting the preferences.
2021-02-21 19:47:26 +10:00
Damien Elmes
5ae66af5d2
rework v2 scheduler upgrade; drop downgrade
...
- Rework V2 upgrade so that it no longer resets cards in learning,
or empties filtered decks.
- V1 users will receive a message at the top of the deck list
encouraging them to upgrade, and they can upgrade directly from that
screen.
- The setting in the preferences screen has been removed, so users
will need to use an older Anki version if they wish to switch back to
V1.
- Prevent V2 exports with scheduling from being importable into a V1
collection - the code was previously allowing this when it shouldn't
have been.
- New collections still default to v1 at the moment.
Also add helper to get map of decks and deck configs, as there were
a few places in the codebase where that was required.
2021-02-21 15:50:41 +10:00
bluegreenmagick
d6eac551b1
change _on_click_current to _on_click_index
...
fix bug where clicking on a blank space below sidebar item
would still trigger currentIndex item's click event
2021-02-20 22:58:02 +09:00
Damien Elmes
2941503bea
tweak getFile() arguments in editor to be more readable
2021-02-19 10:18:40 +10:00
Damien Elmes
654f4d65f7
disable card shifting in reposition by default
...
https://forums.ankiweb.net/t/uncheck-shift-position-of-existing-cards-by-default/7550
2021-02-19 10:09:01 +10:00
Damien Elmes
ab1e59a04d
use add-on id if name is blank
...
https://forums.ankiweb.net/t/support-for-rtl-layout-in-ankiweb-add-on-page/7522
2021-02-16 11:12:05 +10:00
Henrik Giesel
adb002f05f
Remove unused imports
2021-02-12 02:16:05 +01:00
Henrik Giesel
87febe489e
Allow for passing in custom note type and template
2021-02-12 02:12:03 +01:00
Henrik Giesel
270cef63f4
Allow for passing in custom note types for rendering ephemeral cards
2021-02-12 01:53:03 +01:00
Damien Elmes
6e9dfefb24
Revert "Use new note.ephemeral_card method in clayout"
...
This partially reverts commit 2483ef4517
.
2021-02-12 10:05:46 +10:00
Damien Elmes
35840221bb
tweak search wording and tidy up API
...
- SearchTerm -> SearchNode
- Operator -> Joiner; share between messages
- build_search_string() supports specifying AND/OR as a convenience
- group_searches() makes it easier to negate
2021-02-11 19:57:19 +10:00
Damien Elmes
59ccfe5918
more search bikeshedding
...
While implementing the overdue search, I realised it would be nice to
be able to construct a search string with OR and NOT searches without
having to construct each part individually with build_search_string().
Changes:
- Extends SearchTerm to support a text search, which will be parsed
by the backend. This allows us to do things like wrap text in a group
or NOT node.
- Because SearchTerm->Node conversion can now fail with a parsing error,
it's switched over to TryFrom
- Switch concatenate_searches and replace_search_term to use SearchTerms,
so that they too don't require separate string building steps.
- Remove the unused normalize_search()
- Remove negate_search, as this is now an operation on a Node, and
users can wrap their search in SearchTerm(negated=...)
- Remove the match_any and negate args from build_search_string
Having done all this work, I've just realised that perhaps the original
JSON idea was more feasible than I first thought - if we wrote it out
to a string and re-parsed it, we would be able to leverage the existing
checks that occur at parsing stage.
2021-02-11 17:11:17 +10:00
Damien Elmes
5c69bccfcf
switch some existing code to use SearchTerm(negated=...)
2021-02-11 10:55:02 +10:00
Damien Elmes
397cff9194
split due into 'due today' and 'overdue'
2021-02-11 10:49:36 +10:00
Damien Elmes
67d612926c
Revert "experiment with using right click for AND/OR/NOT"
...
This reverts commit 9048a1ff3c
and
manually comments out the setSelectionMode() call.
Switching back to the old behaviour until issues can be worked through.
https://forums.ankiweb.net/t/anki-2-1-41-beta/7305/24
2021-02-11 10:14:26 +10:00
Damien Elmes
2a585c5e5a
Revert "add escape hatch for new clicking behaviour, in case it causes problems"
...
This reverts commit 678756c3e9
.
2021-02-11 10:10:45 +10:00
Damien Elmes
88c002f4eb
convert qt strings to f-strings with flynt
...
Also revealed an incorrect type def in editor.py that mypy wasn't
noticing before :-(
2021-02-11 10:09:06 +10:00
Damien Elmes
bb29ce88f3
minor code cleanups with pyupgrade
...
- pyupgrade --py38-plus --keep-runtime-typing --keep-percent-format
- third-party mpv and winpaths excluded
2021-02-11 09:43:40 +10:00
Damien Elmes
4d373f4aa3
catch TTS runtime error
2021-02-10 16:30:51 +10:00
Damien Elmes
678756c3e9
add escape hatch for new clicking behaviour, in case it causes problems
2021-02-09 19:29:59 +10:00
Damien Elmes
9ce4b21935
add markdown flag for deck description
...
Needed so we can display consistently, and gradually transition over
2021-02-09 18:47:19 +10:00
Damien Elmes
cf5e04b011
tweak sidebar appearance
...
- draw a border between sidebar and main area
- tweak padding
Testing is a pain, because you need to check day mode on the
three platforms, and night mode as well. If you can do it better, PRs
are welcome :-)
2021-02-09 16:23:44 +10:00
Damien Elmes
63b369b8a6
add 'untagged', and make clicking on 'tags' show all tagged cards
2021-02-09 12:50:35 +10:00
Damien Elmes
9048a1ff3c
experiment with using right click for AND/OR/NOT
...
This frees up Ctrl/Shift+left click to behave like in a typical GUI
app. On a Mac users can either two finger click, or Command+click in
conjunction with one of the other modifiers.
https://github.com/ankitects/anki/issues/1011
2021-02-09 11:39:47 +10:00
Damien Elmes
68c4b10dcd
move update_search into sidebar.py; fix setFilter()
...
No idea why neither mypy nor pylint are not noticing
"set_filter_then_search" does not exist. Python tooling. :-(
2021-02-09 10:50:39 +10:00
Damien Elmes
09dfbfe2b9
Partially revert "don't select contiguously with shift+click"
...
I thought this could work, but users (including myself!) are used to
being able to shift+click to select a region, and this behaviour is
surprising. We're also doing potentially expensive searches for each
extra selected item. I think we may need to switch this behaviour to
the right mouse button instead.
This partially reverts commit c91d21e18e
.
2021-02-09 10:37:21 +10:00
Damien Elmes
2a0bc15a0b
move flags above card state; change stage label for consistency
2021-02-09 09:54:46 +10:00
Damien Elmes
180efbc578
recent -> today
...
'Current deck' has moved, and by removing 'due tomorrow', we can drop
the 'today' suffix on the rest of the items.
The keys of the existing translations have not been changed, so
existing translations will not break, but will need to be manually
updated to make them shorter.
2021-02-09 09:50:59 +10:00
Damien Elmes
13aa6f99e4
fix rename/delete on current deck
2021-02-09 09:38:37 +10:00
Damien Elmes
c91d21e18e
don't select contiguously with shift+click; enable multiple selection
...
https://github.com/ankitects/anki/issues/1011
2021-02-09 09:33:32 +10:00
Damien Elmes
7972fa6493
remove 'any flag'; make clicking on flags root do the same thing
2021-02-08 22:52:37 +10:00
Damien Elmes
202cf38446
fix wrong item type being used for recent items
2021-02-08 22:50:48 +10:00
Damien Elmes
05074f2cc1
make decks root search collection; move current deck
...
Also use explicit 'deck:*' search, to make it more obvious what is
happening
2021-02-08 22:48:45 +10:00
Damien Elmes
a8ddb65e1c
add ability to force interval reset
...
- use trailing ! to force a reset
- use - instead of ..
- tweak i18n messages and error handling
2021-02-08 22:33:27 +10:00
Damien Elmes
b9635ce936
nest NoteWithEmptyCards
2021-02-08 19:11:16 +10:00
Damien Elmes
aa82bb172d
add small amount of padding to sidebar
...
https://forums.ankiweb.net/t/anki-2-1-41-beta/7305/3
2021-02-08 19:01:54 +10:00
Damien Elmes
4ac62f8848
fix media check not updating progress
2021-02-08 16:46:57 +10:00
Damien Elmes
6ac35b30c1
Media check suffered from the same text box slowdown as the importing screen
2021-02-08 16:42:21 +10:00
Damien Elmes
c23b01978d
nest progress messages and remove Python wrapper class
...
The progress messages are only really intended to be consumed by Anki.
If consumption by add-ons was expected, we'd be better off keeping the
wrapper, as the API for oneofs in Python is quite awkward to use.
2021-02-08 16:40:27 +10:00
Damien Elmes
f434cff36f
remember last input for 'set due'; add string config; nest config types
2021-02-08 14:10:05 +10:00
Damien Elmes
b56580a8c0
fix rsbackend compat issues
2021-02-08 09:51:51 +10:00
Damien Elmes
6aab9feec1
add (unused) reschedule option back to avoid breaking fastbar
2021-02-08 09:51:40 +10:00
Damien Elmes
704b5e581a
Rework reschedule tool
...
The old rescheduling dialog's two options have been split into two
separate menu items, "Forget", and "Set Due Date"
For cards that are not review cards, "Set Due Date" behaves like the
old reschedule option, changing the cards into a review card, and
and setting both the interval and due date to the provided number of
days.
When "Set Due Date" is applied to a review card, it no longer resets
the card's interval. Instead, it looks at how much the provided number
of days will change the original interval, and adjusts the interval by
that amount, so that cards that are answered earlier receive a smaller
next interval, and cards that are answered after a longer delay receive
a bonus.
For example, imagine a card was answered on day 5, and given an interval
of 10 days, so it has a due date of day 15.
- if on day 10 the due date is changed to day 12 (today+2), the card
is being scheduled 3 days earlier than it was supposed to be, so the
interval will be adjusted to 7 days.
- and if on day 10 the due date is changed to day 20, the interval will
be changed from 10 days to 15 days.
There is no separate option to reset the interval of a review card, but
it can be accomplished by forgetting the card(s), and then setting the
desired due date.
Other notes:
- Added the action to the review screen as well.
- Set the shortcut to Ctrl+Shift+D, and changed the existing Delete
Tags shortcut to Ctrl+Alt+Shift+A.
2021-02-07 21:57:51 +10:00
Damien Elmes
b7c72bca4c
fix backup not being taken before full download
2021-02-06 19:01:48 +10:00
Damien Elmes
3cd311191a
add opus to supported audio list and sort
2021-02-06 15:11:24 +10:00
Damien Elmes
e30b7fc36a
handle remote links in ts pages
...
Required to avoid loading remote links embedded in deck descriptions
in the webview
2021-02-06 15:03:21 +10:00
Damien Elmes
5662939b70
fix filter saving failing when savedFilters is not set
2021-02-05 22:38:44 +10:00
Damien Elmes
efd8c527a6
use 'contains' instead of 'prefix' search in tag completer
2021-02-05 21:14:35 +10:00
Damien Elmes
dfe3c457e5
use top level defs for protobuf enum cases
...
While mypy can understand nested references like ConfigBool.Key.COLLAPSE_RECENT,
PyCharm doesn't understand the metaclass syntax, and shows the definitions
as invalid.
2021-02-05 19:26:13 +10:00
Damien Elmes
bb30e8f7bc
use constants for other color references
...
str_color/qcolor() doesn't appear to have been used by any add-ons
except one of mine, so changing the signature should be safe
2021-02-05 18:58:22 +10:00
Damien Elmes
b8d67cdad5
move remaining Filter button items into sidebar
...
- Closes #976
- Added helper to apply arbitrary colour to an icon.
- Fix #979 - low res icons in night mode.
- The icons and colours are not perfect - please feel free to send
through a PR if you can improve them.
- Convert colors dictionary into module consts, so we can
use code completion.
- Added "Edited Today" and "Due Tomorrow"
- Rename camelCase attribute to snake_case and tweak the wording
of some enum constants. We've already broken compatibility with the
major sidebar add-ons, so we may as well make these changes while we
can.
- Removed Filter button. Currently there is no exposed way to toggle
the Sidebar off - wonder if we still need it?
2021-02-05 18:58:22 +10:00
Damien Elmes
bd730a012e
replace sidebar filter shortcut with existing Filter button shortcut
2021-02-05 14:32:56 +10:00
Damien Elmes
8af82b4594
exclude Mac dylib from '...'
2021-02-04 20:41:08 +10:00
Damien Elmes
a602f0342c
fix Qt translations in macOS packaged build
2021-02-04 20:28:25 +10:00
Damien Elmes
3c1fa68460
turn top bar dark when night mode enabled on macOS
2021-02-04 19:19:56 +10:00
Damien Elmes
39c6429fe2
fix broken card styling fix :-)
2021-02-03 22:32:55 +10:00
Damien Elmes
7e8886c352
fix broken card styling
2021-02-03 22:22:12 +10:00
Damien Elmes
168963460f
update to latest mypy_protobuf
...
The handling of enum types has improved - we no longer need to import
separate types at typechecking time.
2021-02-03 13:31:52 +10:00
Damien Elmes
86f8cba22c
Merge pull request #972 from hgiesel/ephemeral
...
Move ephemeral card functionality from clayout to Note class
2021-02-03 13:10:00 +10:00
Damien Elmes
e683e5c4d7
Merge pull request #973 from hgiesel/mathjaxerror
...
Render error if MathJax raises error
2021-02-03 13:09:12 +10:00
Henrik Giesel
e5587ffa59
Move copy_page to ts/copy.bzl and rename to copy_files_into_group
2021-02-02 18:20:11 +01:00
Henrik Giesel
803d6fbd3b
Render error if MathJax raises error
2021-02-02 18:11:16 +01:00
Henrik Giesel
22a5db8ace
Remove unused imports
2021-02-02 17:13:35 +01:00
Henrik Giesel
2483ef4517
Use new note.ephemeral_card method in clayout
2021-02-02 16:47:25 +01:00
Damien Elmes
4a5ef69068
add remaining types and disable missing types on (almost) all aqt
2021-02-03 00:00:29 +10:00
Damien Elmes
6426edb0ac
more typing updates
2021-02-02 23:31:55 +10:00
Damien Elmes
4b112950b8
Merge pull request #971 from abdnh/sidebar-checkpoints
...
Add checkpoints for sidebar drag & drop routines
2021-02-02 22:28:53 +10:00
Damien Elmes
33319e1691
Merge pull request #970 from RumovZ/cleanup-967
...
Cleanup 967
2021-02-02 22:03:43 +10:00
abdo
2754464147
Add checkpoints for sidebar drag & drop routines
...
Also save note and reset browser model
2021-02-02 14:58:44 +03:00
Damien Elmes
7e22bc16bc
fix: Qt translations not working
...
Will need to manually confirm this is working in the bundled builds
2021-02-02 21:12:28 +10:00
RumovZ
2499f2ae34
Remove standard button translations
2021-02-02 11:57:35 +01:00
Damien Elmes
4330ab58f5
auto-expand items while dragging
2021-02-02 20:14:14 +10:00
Damien Elmes
a50601ed46
add tag drag & drop support
2021-02-02 20:14:04 +10:00
Damien Elmes
dd54c10e71
Merge pull request #968 from abdnh/sidebar-expand-matches
...
Expand sidebar match trees one level
2021-02-02 19:03:04 +10:00
Damien Elmes
467064f873
collapsed->expanded in other tag uses for consistency
2021-02-02 18:52:57 +10:00
Damien Elmes
52b256663f
collapsed->expanded in TagTreeNode
2021-02-02 18:52:57 +10:00
RumovZ
14775445df
Add docstring to browser.__ini__
2021-02-02 09:48:55 +01:00
RumovZ
c3ae1a3049
Disallow untyped defs for dyndeckconf
2021-02-02 09:40:05 +01:00
RumovZ
16462941ab
Remove actionCreateFilteredDeck2 and use modifier
2021-02-02 09:29:09 +01:00
Damien Elmes
0bf2538989
remove sidebar margins
2021-02-02 16:35:42 +10:00
Damien Elmes
7fc32db0c9
fix: slowdowns after import; hard to read popup
...
QTextEdit() will pin the CPU at 100% for seconds to minutes when
fed a large string to display - work around it by switching to
QPlainTextEdit().
Also strip HTML before showing the user - easier to read, and less
text to display. And turn off word wrap, as it makes it easier to skim,
and further reduces the work the widget needs to do.
https://forums.ankiweb.net/t/big-issue-where-anki-gets-slow-when-you-import-this-deck/7050
2021-02-02 15:49:47 +10:00
abdo
ee1ed033a2
Hide sidebar items when there is no match
2021-02-02 05:41:45 +03:00
abdo
6f5d1bca3f
Add more sidebar section roots
2021-02-02 04:51:45 +03:00
Damien Elmes
b7bfe58afe
fix sync warning caused by mistake in typing work
2021-02-02 10:43:49 +10:00
Damien Elmes
3a8fce69dd
ditch QSortFilterProxyModel in favour of our own code
...
Simpler and approximately twice as fast in a large collection:
old approach
search for a: 371ms
search for an: 260ms
new approach:
search for a: 171ms
search for an: 149ms
Still todo: add enum defs for the other root categories, update
the _section_root() calls, and update is_expanded() to use the new
extra types
2021-02-02 10:40:50 +10:00
RumovZ
b450c8d45c
Add remaining type hints to dyndeckconf etc.
2021-02-01 23:46:56 +01:00
RumovZ
c18af2a0a9
Merge branch 'master' into dyn-deckconf
2021-02-01 23:33:41 +01:00
RumovZ
2ddb4edbb0
Rename standard buttons to have transaltions
2021-02-01 23:20:57 +01:00
RumovZ
6c7b195da8
Make browser links unfocusable
...
Since Enter would trigger Accept anyway, there is no point in them
having focus.
2021-02-01 21:17:15 +01:00
RumovZ
4666ba8b70
Enable renaming from dyndeck dialogue
2021-02-01 21:02:22 +01:00
RumovZ
8065e73ef8
Add cross links for second dyndeck filter
2021-02-01 19:10:05 +01:00
RumovZ
0d37254238
Style browser-from-filtered-deck button
...
Use theme color and add hover effect.
2021-02-01 18:01:57 +01:00
abdo
c96248d67f
Expand sidebar match trees one level
...
See 132bb5ff36
2021-02-01 19:12:43 +03:00
Damien Elmes
a56b09b987
add a bunch of return types
2021-02-01 23:53:23 +10:00
RumovZ
4d097b995d
Add button in dynDeckConf to search in browser
2021-02-01 13:55:03 +01:00
Damien Elmes
f15715fb07
add types to various other files
...
Mainly automated with MonkeyType
2021-02-01 22:08:56 +10:00
RumovZ
0949cdc73e
Rename "Filtered Deck from Current Filter"
2021-02-01 12:09:37 +01:00
Damien Elmes
84f8d7f604
add some types to main.py
2021-02-01 20:59:18 +10:00
RumovZ
6b1d5f14e8
Change filtered-deck shortcut in browser to Ctrl+G
2021-02-01 11:59:16 +01:00
RumovZ
6de6e5f339
Make browser accept optional args and add reopen
...
That way, the caller doesn't have to hold a reference to the browser and
explicitly call it again, if it wants to search for something specific.
Also, if the browser was closed and opened for a single-card-search, it
now won't perform a redundant current-deck-search first.
2021-02-01 11:54:28 +01:00
Damien Elmes
98f4b3db81
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
RumovZ
d2024d1d1e
Fix pylints and type annotations in dyndeckconf
...
Also fix int representation of learning steps.
2021-02-01 09:56:10 +01:00
RumovZ
5aac81d15f
Make DialogManager accept kwargs
...
When opening a dialogue accepting multiple optional arguments, relying
on position is error-prone and requires passing Nones to fill unused
parameter slots.
2021-02-01 08:50:19 +01:00
Damien Elmes
08b76e4489
add helper script to run mypy daemon
2021-02-01 17:29:03 +10:00
Damien Elmes
d13762bd32
add types to editor.py
2021-02-01 17:28:35 +10:00
Damien Elmes
1f6ed0739f
Merge pull request #962 from hgiesel/editordirs
...
Make editor a rollup package within data/web/js
2021-02-01 13:40:54 +10:00
Damien Elmes
328c86d3a5
add missing types to sidebar.py
2021-02-01 09:51:46 +10:00
Damien Elmes
66c8ee3e0a
add missing types to browser.py
2021-02-01 09:39:55 +10:00
RumovZ
011b562038
Add current-filter-to-filtered-deck action
2021-01-31 23:16:49 +01:00
RumovZ
52867dfa6c
Make dyndeckconf a registered dialogue
2021-01-31 22:37:08 +01:00
Henrik Giesel
70b7cbcd4a
Move editor css to editor directory
2021-01-31 19:03:40 +01:00
RumovZ
0960ea6ece
Rework dynndeckconf
...
- Handle deck building inside class. New deck is built unless caller
passes filtered deck.
- If no deck is passed and current deck is filtered, copy settings.
- Remove exec_().
2021-01-31 18:20:47 +01:00
Henrik Giesel
2ab06a6540
Move editor to /ts/editor
2021-01-31 14:15:03 +01:00
Henrik Giesel
859a52ab15
Fix type issues
2021-01-31 13:34:39 +01:00
Henrik Giesel
33160dcb00
Make editor a rollup package
2021-01-31 13:34:37 +01:00
RumovZ
13c6921da1
Remove protobuf filters whole_col and current_deck
2021-01-31 11:12:49 +01:00
Damien Elmes
6c483bb577
add public wrappers for remaining backend functions
2021-01-31 18:56:16 +10:00
Damien Elmes
67cb147493
move rsbridge into _backend
2021-01-31 18:55:45 +10:00
Damien Elmes
9d853bbb03
start work on more clearly defining backend/protobuf boundaries
...
- anki._backend stores the protobuf files and rsbackend.py code
- pylib modules import protobuf messages directly from the
_pb2 files, and explicitly export any will be returned or consumed
by public pylib functions, so that calling code can import from pylib
- the "rsbackend" no longer imports and re-exports protobuf messages
- pylib can just consume them directly.
- move errors to errors.py
Still todo:
- rsbridge
- finishing the work on rsbackend, and check what we need to add
back to the original file location to avoid breaking add-ons
2021-01-31 18:55:45 +10:00
RumovZ
3e69d39a25
Add missing sidebar onClicks
2021-01-31 08:56:34 +01:00
Damien Elmes
cb805cf355
Merge branch 'more-backend-search' into main
2021-01-31 14:21:51 +10:00
Damien Elmes
126b642115
disable multiple selection for now
2021-01-31 14:02:38 +10:00
Damien Elmes
18f0b78716
disable dragging of unsupported items
2021-01-31 13:46:31 +10:00
Damien Elmes
4579740df6
support dragging multiple decks at once
2021-01-31 13:46:31 +10:00
Damien Elmes
49a40e7178
add missing check for on_done==None in with_progress()
2021-01-31 13:46:31 +10:00
Damien Elmes
28ff061c19
support drag&drop of decks in sidebar
2021-01-31 13:46:31 +10:00
Damien Elmes
8410330f94
move drag/drop deck logic to backend
2021-01-31 13:46:31 +10:00
RumovZ
9bfe8e3840
Remove search button and reword search bar hint
2021-01-30 19:23:40 +01:00
RumovZ
b0890b0e47
Manually namespace enum variants in SearchTerm
...
In protobuf "...enum values use C++ scoping rules, meaning that
enum values are siblings of their type, not children of it.
Therefore, [an enum variant] must be unique within [a message],
not just within [the enum.]"
So we must prefix enum variants with their enum's name, but can
also call them directly from the message namespace.
The protobuf crate is smart, though, and strips the prefixes.
(Simultaneously change some SearchTerm variant names.)
2021-01-30 17:56:29 +01:00
RumovZ
375794893f
Replace leftover _named_filter with _filter_func
2021-01-30 17:39:21 +01:00
Henrik Giesel
126af1fef3
Fix focus on first field upon opening editor
2021-01-30 14:20:14 +01:00
RumovZ
9e9d8b9c7a
Build list in focusCid and specify exception
...
model.cards may be a protobuf sequence but focusCid needs list's index
method, so convert to list, but only if needed.
2021-01-30 13:15:46 +01:00
RumovZ
5425b00d2b
Import SearchTerm from collection in aqt
2021-01-30 12:51:24 +01:00
RumovZ
26e5235846
Fix type annotations in browser search
2021-01-30 11:24:33 +01:00
RumovZ
63e8b44629
Update docstrings for browser search
2021-01-30 11:05:48 +01:00
RumovZ
9c4cc88b47
Auto search and check input before model search
...
- Search for current deck automatically on browser setup.
- Hide current deck and current card searches.
- Check user search input before passing it on to the model, so invalid
searches don't change TableView.
2021-01-30 10:53:42 +01:00
Damien Elmes
b66bedbc9f
Merge pull request #957 from hgiesel/fieldsshadow
...
Implement editor as Web Component
2021-01-30 15:13:58 +10:00
Damien Elmes
705012164b
move Rating up a level
...
More ergonomic, and will allow reuse if we expose prop:rated in
the future.
2021-01-30 11:54:39 +10:00
Damien Elmes
cb6b88da0f
simplify nid/nids searches, and ditch helper function
...
- IdList could be re-used for a cids: search in the future if required.
- Embedding the message means it's easy to access from Python as
an attribute of SearchTerm.
2021-01-30 11:37:00 +10:00
Damien Elmes
1adc9952f4
simplify Dupe message and ditch helper function
...
Calling code doesn't need to know about the existence of such helpers;
it can just rely on code completion to discover the required arguments.
2021-01-30 11:10:26 +10:00
Damien Elmes
5e6dd54c8e
export SearchTerm from collection.py, and avoid exporting embedded items
2021-01-30 11:01:11 +10:00
Damien Elmes
73b897c754
rename FilterToSearchIn in backend to match frontend
2021-01-30 10:54:21 +10:00
Damien Elmes
52bac7a7a1
use a separate enum for the is:* searches
2021-01-30 10:49:00 +10:00
Damien Elmes
22b80c2dd5
combine forgot_in_days and studied_today into a more general 'rated'
2021-01-30 10:26:23 +10:00
Damien Elmes
177036d0c1
Merge pull request #958 from hgiesel/zindexedtopbar
...
Make sticky topbar have a positive z-index
2021-01-30 09:14:50 +10:00
RumovZ
2ca4f31fc8
Update search history only after successful search
...
Ergo, don't save invalid searches, but also save searches normalised so
equivalent searches get saved only once.
2021-01-29 23:05:51 +01:00
RumovZ
671c6a7b3e
Rework search initialisation
...
- Remove _searchPrompt.
- Add placeholder prompt.
- Move search for current card from browser to caller. (Thus, support
current card search even with opened browser.)
2021-01-29 21:07:42 +01:00
Henrik Giesel
61346cf1f7
Rename editingContainer -> editingArea; editingArea -> editable
...
* Custom elements are now namespaces with `anki-`
* The element names are inspired by summernote, which have the same
naming scheme of "editingArea > editable"
2021-01-29 20:32:21 +01:00
Henrik Giesel
2e72de4af0
Reorder methods / properties
2021-01-29 20:13:02 +01:00
Henrik Giesel
e37fd2e091
Remove unnecessarily observed attribute
2021-01-29 20:11:00 +01:00
Henrik Giesel
aa924ac821
Add semicolon in js message
2021-01-29 19:48:17 +01:00
Henrik Giesel
3559834bc9
Make forEditorField more cheaper to execute by avoiding casting to Array
2021-01-29 19:38:55 +01:00
RumovZ
c299e271e8
Refactor search_string() and FilterToSearchIn
...
See #955 .
2021-01-29 18:27:33 +01:00
Henrik Giesel
79dc0ecf86
Remove explicit ids, as they are not necessary anymore
2021-01-29 18:07:31 +01:00
Henrik Giesel
5e67e706fb
No need to set initial values for editing area base CSS
2021-01-29 17:51:26 +01:00
Henrik Giesel
32ee863577
Remove checking for class names for instance checks
2021-01-29 17:41:27 +01:00
Henrik Giesel
982372beae
Put HTML initialization into web component constructor
...
* disconnectedCallback should remove event listeners and free other resources
* attributes belong to connectedCallback
2021-01-29 15:50:34 +01:00
Henrik Giesel
0beefc0699
Move setting of index to connectedCallback
2021-01-29 14:54:59 +01:00
Henrik Giesel
fe87f986d3
Remove user styling in editor again for now
2021-01-29 14:54:59 +01:00
Henrik Giesel
594fc9bebd
Fix focus change on tab
2021-01-29 14:54:59 +01:00
Henrik Giesel
6e907fd8b6
Move styling attributes from editor to editing-area that are for editing area
2021-01-29 14:54:58 +01:00
Henrik Giesel
a620bf91a8
Make button highlight white in nightMode
2021-01-29 14:54:58 +01:00
Henrik Giesel
3eade1c64d
Make the text color part of the base style in editor
2021-01-29 14:54:58 +01:00
Henrik Giesel
af3753948a
Allow stylesheet of note type take effect on editor fields
2021-01-29 14:54:58 +01:00
Henrik Giesel
8a525d3643
Use currentField.getSelection instead of window.getSelection
2021-01-29 14:54:58 +01:00
Henrik Giesel
08a6f8f02f
Use new focusEditingArea and blurEditingArea to delegate to editing area
2021-01-29 14:54:58 +01:00
Henrik Giesel
aed38de228
Fix dupes, but also make sticky, and centered to draw more attention
2021-01-29 14:54:58 +01:00
Henrik Giesel
bec709c7a9
Update setFonts and setBackgrounds
2021-01-29 14:54:58 +01:00
Henrik Giesel
db0c776210
Fix inListItem for shadow roots
2021-01-29 14:54:58 +01:00
Henrik Giesel
e0d1450ce0
Rename fieldContainsInlineContent to containsInlineContent to reflect new usage
2021-01-29 14:54:58 +01:00
Henrik Giesel
7dc4b8818c
Isolate styling of editing-area into new scss file
2021-01-29 14:54:58 +01:00
Henrik Giesel
1db71805d3
Create a rough draft of the editor web component
2021-01-29 14:54:58 +01:00
Damien Elmes
d558f08a74
remove debug statement
2021-01-29 23:21:57 +10:00
Henrik Giesel
4b7d406559
Make sticky topbar have a positive z-index
2021-01-29 14:21:32 +01:00
Damien Elmes
79239c89b7
move saved search code into sidebar.py, and remove from Filter button
2021-01-29 23:05:30 +10:00
Damien Elmes
132bb5ff36
add expand/collapse children options
2021-01-29 22:54:00 +10:00
Damien Elmes
6ba5ff5a01
place each sidebar section under its own collapsible parent node
...
- Allows for group operations like "clear unused tags"
- Allows users to hide groups they're not interested in
2021-01-29 22:11:05 +10:00
Damien Elmes
5ff7944a26
add getter/setter for boolean config values
2021-01-29 21:03:19 +10:00
RumovZ
349bd9d681
Use proper docstrings
2021-01-29 09:40:21 +01:00
RumovZ
1fb6024454
Rename filters added_in etc. to added_in_days
2021-01-29 09:38:13 +01:00
Damien Elmes
4ac9ad1407
show actual error when graphData fails
...
The original reason for the catch-all message was users with bad
data such as decimal intervals, but those get automatically coerced
these days. The common case should now be invalid search strings, which
we can show verbatim.
2021-01-29 14:39:05 +10:00
Damien Elmes
57c53632a6
Revert "Make sidebar search matching work with full_name instead of name"
...
This reverts commit 6850e0f78e
.
Using the full name caused issues with highlighting:
https://github.com/ankitects/anki/pull/951#issuecomment-769516003
Let's revert this for now and see if demand presents itself.
2021-01-29 13:18:28 +10:00
Damien Elmes
151cf52718
vary sidebar highlight with theme
2021-01-29 13:15:38 +10:00
Damien Elmes
9584efc066
Merge pull request #951 from abdnh/sidebar-search
...
Add search bar to the sidebar
2021-01-29 11:32:26 +10:00
abdo
903008f2bd
Handle sidebar refreshing while searching
2021-01-29 04:20:15 +03:00
Damien Elmes
64af4dfe7e
drop potentially slow regex usage in cloze check
...
Closes #956 , thanks to Henrik.
2021-01-29 11:15:33 +10:00
abdo
9492c8305e
Wait for some time before performing sidebar search
2021-01-29 03:45:16 +03:00
abdo
6850e0f78e
Make sidebar search matching work with full_name instead of name
2021-01-29 02:36:13 +03:00
RumovZ
f04228990d
Add browser_search helper in mw
2021-01-28 20:51:32 +01:00
RumovZ
251fe50660
Fix search calls in addcards
2021-01-28 20:01:20 +01:00
RumovZ
423d7e5098
Use backend filter for findDupes and handle excep.
2021-01-28 19:49:16 +01:00
RumovZ
a930aa41f0
Use backend nid filter in addcards and mediacheck
2021-01-28 18:59:20 +01:00
RumovZ
407358ab68
Use backend nid filter in browser
2021-01-28 16:21:56 +01:00
RumovZ
1635f20af3
Prevent search prompt from being saved as a filter
...
Normalisation would render it useless.
2021-01-28 13:31:08 +01:00
RumovZ
99cb68513c
Use backend filter for search prompt
2021-01-28 13:26:52 +01:00
RumovZ
77765d4896
Replace remaining literal searches in aqt
2021-01-28 11:19:07 +01:00
RumovZ
ea46e24662
Use col instead of backend in aqt for search strs
2021-01-28 11:17:24 +01:00
Damien Elmes
2224fce936
fix crashes when activating context menu/items while searching
2021-01-28 19:12:07 +10:00
Damien Elmes
b148095243
basic match highlighting
2021-01-28 18:58:51 +10:00
Damien Elmes
8b08687b0c
basic tree-based filtering with a sort proxy
...
Some things left to do:
- instead of searching on each keystroke, have the keystroke start
a timer and wait 600-1000ms before performing the search
- handle the case .refresh() is called while searching
It would also be nice to have some visual distinction between matching
rows and their non-matching parents.
2021-01-28 18:51:18 +10:00
Damien Elmes
fbf2f673f4
fix sidebar model.parent() returning invalid values
...
Triggered a crash when using a model proxy.
2021-01-28 17:48:33 +10:00
Damien Elmes
f45d51c92d
Merge pull request #952 from hgiesel/fieldsflex
...
Deal with inline content vs block content and <br> in editor.ts
2021-01-28 15:49:31 +10:00
Damien Elmes
a03da5ce89
add type check to textFormat arg
2021-01-27 14:22:17 +10:00
Henrik Giesel
bf7ff65af6
Rename fieldIsInInlineMode to fieldContainsInlineContent
2021-01-27 02:35:14 +01:00
Henrik Giesel
d9f00c4839
Remove unused helper functions
2021-01-27 00:55:00 +01:00
Henrik Giesel
b2b17f4c3d
Recreate border-spacing with margins for #fields
2021-01-27 00:50:26 +01:00
Henrik Giesel
9b5d915983
Change nodeIsInline logic to be more typesafe
2021-01-26 23:49:48 +01:00
Henrik Giesel
feddf96f2a
Change logic to detect inline elements, as the display style property may not be set after setting innerHTML
2021-01-26 23:42:04 +01:00
abdo
208c713e39
Add search bar to the sidebar
...
https://github.com/ankitects/help-wanted/issues/6
2021-01-27 01:41:57 +03:00
Henrik Giesel
520c4a3b4d
Make #fields display correctly
2021-01-26 23:17:50 +01:00
Henrik Giesel
e481452114
Make fields div instead of table + implement fieldIsInInlineMode logic
2021-01-26 23:00:55 +01:00
Henrik Giesel
335267d42e
Strip trailing newline if inline elements logic
2021-01-26 21:26:04 +01:00
Damien Elmes
322788133b
tooltip() instead of print() when no tts tag matches
...
Can help with debugging user error like an incorrectly-typed language
code. Don't ask me how I know. :-)
2021-01-26 20:37:24 +10:00
Damien Elmes
e324f06348
Merge pull request #944 from Arthur-Milchior/help
...
NF: HelpPage in an enum
2021-01-26 11:33:39 +10:00
Damien Elmes
644cc46dea
Merge pull request #897 from hgiesel/statssearch
...
Triggering searches from the stats screen.
2021-01-26 11:31:36 +10:00
Arthur Milchior
e0a2d90a68
NF: HelpPage in an enum
...
Hopefully, this can help with updating on next manual update and maybe even linking to manual translation
2021-01-26 02:16:37 +01:00
Damien Elmes
0a0de2ce7b
Merge pull request #945 from RumovZ/dyndeck-search
...
Normalize dyndeck search and handle exception
2021-01-26 09:24:56 +10:00
Damien Elmes
a82744a3e5
load sidebar in background
...
Allows the UI to repaint during processing, but will still block
DB operations until the call completes.
2021-01-26 09:02:08 +10:00
RumovZ
52c27e7b99
Normalize dyndeck search and handle exception
2021-01-25 23:21:32 +01:00
RumovZ
060fdc824b
Move show_invalid_search_error to utils
2021-01-25 23:19:19 +01:00
Henrik Giesel
759ed17963
Move dispatch logic from Histogram to individual graphs
2021-01-25 16:34:44 +01:00
Henrik Giesel
a7c8b021dd
Satisfy formatter
2021-01-25 13:46:44 +01:00
Henrik Giesel
fdf4c6628f
Add browserSearch bridge command
2021-01-25 13:44:19 +01:00
Damien Elmes
31a3add848
fix finished screen not showing when learning cards due later
2021-01-25 21:12:57 +10:00
Arthur Milchior
5c69f2c324
Correct browse help link
2021-01-23 14:48:29 +01:00
Damien Elmes
2a875ffc55
Merge pull request #934 from hgiesel/graphprefs
...
Add GraphsPreferences API to graphs for setting persistent preferences
2021-01-23 21:24:41 +10:00
Damien Elmes
37ca8afaf6
minor wording tweak: GraphsPreferences -> GraphPreferences
2021-01-23 20:47:45 +10:00
Damien Elmes
b16f6cbcce
Merge pull request #938 from hgiesel/editorflex
...
Small refactor of topbar buttons
2021-01-23 20:09:42 +10:00
Damien Elmes
8d5dca4bda
move sidebar code from browser.py to sidebar.py and tidy up
...
https://github.com/ankitects/help-wanted/issues/6
Some notes:
- use our own routine to toggle the sidebar, which avoids a useless
refresh on browser close, and allows us to limit the delayed loading
to initial browser load.
- add-ons that limited themselves to the browser_will_build_tree hook
should theoretically continue working; ones that were monkey patching
will likely break. A few appear to be broken at the moment anyway,
so it's probably a good time to be making this change.
2021-01-23 19:59:12 +10:00
Damien Elmes
9db3f0dd19
drop tags/decks/etc from Filter button
...
https://github.com/ankitects/help-wanted/issues/6
These are a relic from when the sidebar defaulted to off, and I don't
think enough people are using them to bother keeping them around.
Once the the card state and saved filter functionality moves into the
sidebar and top menus, we may be able to remove the Filter button
completely.
2021-01-23 18:21:44 +10:00
Henrik Giesel
bf130d1da0
Change the function name in genbackend.py
2021-01-22 20:05:28 +01:00
Henrik Giesel
de71123ab4
Rename GraphsPreferencesOut to simply GraphsPreferences
2021-01-22 19:39:03 +01:00
abdo
0110102ea2
Render card templates as trees in the sidebar
...
Reusing the note type icon and not caring about saving collapse state
for now.
2021-01-22 17:49:20 +03:00
Henrik Giesel
d1ada88657
Successfully send post request to rust
2021-01-22 14:37:24 +01:00
Henrik Giesel
054c30a695
Add non-functioning logic for settings graphs preferences
2021-01-22 13:14:35 +01:00
Henrik Giesel
665a13e378
Add GraphsPreferences endpoint to backend
2021-01-22 13:13:48 +01:00
Henrik Giesel
1df6c5f596
Avoid highlighting of toprightbuttons to shift the topbar
2021-01-22 12:53:45 +01:00
Henrik Giesel
9226d50185
Space items by using margins instead of spaces
...
* also changed name of topbutton container back to topbutsOuter as it is clearer
* starting with Chromium 83, `row-gap` would be better suited for this
2021-01-22 12:17:10 +01:00
Henrik Giesel
97f8f1b89e
Switch from floating windows and clearfix to flex and justify-content: space-between
2021-01-22 11:37:11 +01:00
Damien Elmes
0c35d30979
Merge pull request #935 from abdnh/sidebar-nt
...
Add manage note types menu item to the sidebar
2021-01-22 14:21:28 +10:00
abdo
426ea1aba9
Move the logic for selecting a note type to models.py
2021-01-22 05:56:39 +03:00
Henrik Giesel
1f4de7fe4b
Adjust the positioning of the editor toolarea via CSS
2021-01-21 21:36:33 +01:00
Henrik Giesel
2946843b81
Remove image click event handler, as it never takes place
...
* className of fields will be "field clearfix", never just "field"
2021-01-21 20:50:17 +01:00
Henrik Giesel
e91a4b4362
Remove javascript resizing code from editor.ts
2021-01-21 19:59:16 +01:00
abdo
918bba6365
Add manage note types menu item to the sidebar
2021-01-21 20:27:20 +03:00
Damien Elmes
6d8a9a7ef5
Merge pull request #930 from hgiesel/editorts
...
Refactor editor.ts
2021-01-21 10:44:11 +10:00
Henrik Giesel
6262997599
Explicitly execute code deactivating button focus from editor.py
2021-01-20 17:06:08 +01:00
abdo
0fc4c21dcc
Add filter remove/rename actions to the sidebar
2021-01-20 03:26:53 +03:00
Henrik Giesel
cfc8e34cf0
Remove jQuery from most top functions, and avoid waiting for jquery load
2021-01-19 03:52:46 +01:00
Henrik Giesel
5b24e5c522
Remove some unnecessary jQuery, replace some toggles with classList.toggle
2021-01-19 03:06:44 +01:00
Henrik Giesel
27a1e81088
Remove code which supposedly fixing focus, but which is not functional
2021-01-19 02:54:15 +01:00
Henrik Giesel
47d26126e7
Switch to iterables for elem.style and elem.attributes
2021-01-19 02:48:41 +01:00
Henrik Giesel
a4921a36dd
Satisfy formatter
2021-01-19 01:08:15 +01:00
Henrik Giesel
4deeb798ca
Prefer template string and addEventListener
over string concatenation and .on<event>
2021-01-18 17:42:29 +01:00
Henrik Giesel
150de7a683
Use more strict TypeScript in editor.ts
2021-01-18 17:18:35 +01:00
Henrik Giesel
a898224d3d
Switch to KeyboardEvent.code rather than KeyboardEvent.which, which is deprecated
2021-01-18 15:19:57 +01:00
Damien Elmes
318cc01c73
Merge pull request #900 from abdnh/tagtree
...
Hierarchical tags
2021-01-18 16:36:22 +10:00
abdo
5ac69d6dc6
Fix wrong tag collapse state being used
2021-01-18 06:50:29 +03:00
Damien Elmes
a57e326906
skip the schema warning on template rename
...
https://forums.ankiweb.net/t/unnecessary-full-upload-notification/6611
2021-01-18 12:03:07 +10:00
abdo
dbd0334f97
Remove unused set_filter()
2021-01-16 18:51:31 +03:00
Damien Elmes
9686cd99ec
search error tweaks
...
- use markdown instead of HTML, to make editing and translating easier
- use a shared prefix
- a few very minor wording tweaks
- we don't need to translate undocumented command errors
- share a string for positive number of days
- share a string for invalid property and state arguments, and avoid
listing them out
Related discussion: https://github.com/ankitects/anki/pull/922
2021-01-16 15:59:19 +10:00
Damien Elmes
a674712916
Merge pull request #925 from hgiesel/preferbr
...
Prefer <br> over <div></div> in Editor
2021-01-16 13:03:28 +10:00
Damien Elmes
f1a4c57dc1
restore shortcuts that got lost in Fluent conversion
...
They were missed as they were not marked 'notr'.
https://forums.ankiweb.net/t/home-and-end-keys-no-longer-work-in-browse-window/6524
2021-01-16 10:03:29 +10:00
Henrik Giesel
0db8a14497
Deal with div insertion on deleting list item
2021-01-15 18:46:37 +01:00
Henrik Giesel
4e1139021b
Consider list edge case for line breaks
...
* Enter makes a new bullet point
* Shift+Enter makes a line break in current bullet point
2021-01-15 18:46:37 +01:00
Henrik Giesel
5c6694950d
Prefer <br> over <div></div>
2021-01-15 18:46:37 +01:00
abdo
e018ea94b6
Merge branch 'master' of https://github.com/ankitects/anki into tagtree
2021-01-15 01:12:01 +03:00
RumovZ
7b9cc017c4
Use backend to set dupe filter
2021-01-14 10:42:37 +10:00
Damien Elmes
633034b24d
add local sync server frontend
2021-01-13 11:42:00 +10:00
abdo
72e8f9d640
Merge branch 'master' of https://github.com/ankitects/anki into tagtree
2021-01-12 23:31:58 +03:00
abdo
9a68d84483
Keep tags in human form and update the tags table structure
...
See https://github.com/ankitects/anki/pull/900#issuecomment-758284016
- Leave tag names alone and add the collapsed and config columns to the tags table.
- Update The DB check code to preserve the collapse state of used tags.
- Add a simple test for clearing tags and their children
2021-01-12 23:12:35 +03:00
Damien Elmes
1425379d41
drop basicCheck()
...
It can considerably slow down syncing on large collections
2021-01-12 18:47:08 +10:00
Damien Elmes
5f02be4943
Merge pull request #914 from hgiesel/previewineditor
...
Preview Button in Editor instead of Browser
2021-01-11 19:12:06 +10:00
Damien Elmes
7883ea0396
Merge pull request #915 from RumovZ/fix-template-filter
...
Fix _template_filter and update want_release_gil()
2021-01-11 16:20:50 +10:00
Kyle Mills
a0dc33c0e8
typo
2021-01-10 07:18:08 -08:00
Henrik Giesel
cf1240bb18
Make keys parameter requiring func parameter in _addButton explicit
2021-01-10 13:42:23 +01:00
RumovZ
388e958f39
Don't add 1 when calling _template_filter()
...
See #913 .
2021-01-10 11:30:14 +01:00
Henrik Giesel
fce536f205
Close previewer if there is no card to render
2021-01-10 02:01:24 +01:00
Henrik Giesel
ace61835de
Fix formatting, use shortcut on preview before displaying
2021-01-10 01:50:00 +01:00
Henrik Giesel
097fa16783
Allow closing the Preview Dialog with Ctrl+Shift+P
2021-01-10 01:34:59 +01:00
Henrik Giesel
6431f0b6b1
Prevent error when browser is closed with previewer open
2021-01-10 01:21:52 +01:00
Henrik Giesel
6afc495035
Activate toggle on hotkey invocation
2021-01-10 01:10:23 +01:00
Damien Elmes
8b877f0a08
add type to _named_filter()
...
The ...Value types generated by mypy-protobuf are only available
at typechecking time, and pylint chokes on them despite the use
of annotations from __future__ - so we either need to quote them,
or use # pylint: disable=no-member
2021-01-10 09:11:48 +10:00
Henrik Giesel
59d0e8f036
Add shortcut to new preview button
2021-01-10 00:00:19 +01:00
Henrik Giesel
fe118197a3
Improve styling of new preview button on light and nightMode
2021-01-09 23:55:39 +01:00
Henrik Giesel
28278fcc40
Remove preview button from browser.py top bar
2021-01-09 23:25:56 +01:00
Henrik Giesel
ece753991e
Make button show its toggle state
2021-01-09 23:16:01 +01:00
Henrik Giesel
f5d429a5ca
Put Preview button into editor inside browser
2021-01-09 22:34:53 +01:00
RumovZ
f83553c82a
Merge branch 'master' into backend-filters
...
Adapt new formatting.
2021-01-09 19:03:43 +01:00
RumovZ
b763fc5b2a
Use explicit wrapper functions to get filters
2021-01-09 16:48:47 +01:00
abdo
f7f509c70d
Move tag collapse method to the backend
2021-01-09 17:10:16 +03:00
abdo
b33267f754
Do not check for missing tag parents at registration time
2021-01-09 17:10:16 +03:00
abdo
b276ce3dd5
Hierarchical tags
2021-01-09 17:10:13 +03:00
RumovZ
b99d9cda74
Prettify frontend filter code
2021-01-09 12:34:46 +01:00
RumovZ
fda2bfdb4e
Use backend filters instead of literal searches
2021-01-09 10:51:15 +01:00
abdo
7b58120eb2
Exclude aqt/hooks_gen.py from formatting
2021-01-09 03:01:48 +03:00
wallgrenen
e001cd4d3a
remove unused variables and commented-out code
2021-01-08 20:53:27 +01:00
RumovZ
d30062a8a5
Compare and save filters normalised
...
When checking whether the current search is a saved filter, compare the
searches normalised to allow the detection of equivalent expressions.
Invalid searches are accepted unaltered to allow the deletion of invalid
saved filters.
As for saving new filters, do so normalised, respectively, reject
invalid searches.
2021-01-07 22:11:21 +01:00
RumovZ
478a3bd0bc
Format
2021-01-07 18:20:14 +01:00
RumovZ
efd554ea29
Provide ConcatSeparator through rsbackend.py
2021-01-07 17:48:30 +01:00
Damien Elmes
a7fffb7365
ignore missing pyaudio
2021-01-07 16:25:55 +10:00
Damien Elmes
b30b7c3073
fix qt/ pylints
2021-01-07 16:21:50 +10:00
Damien Elmes
ac923b5232
cap pylint CPUs in qt/
...
After 4 cores, improvements are tiny, and soon start going backwards,
presumably due to the overhead of importing PyQt into each worker.
2021-01-07 16:19:52 +10:00
Damien Elmes
4b11854a2e
fix pylint in qt
...
pylint fails to read Qt modules when invoked as a subprocess with
-j 0, and it looks like I committed this in the middle of debugging
the issue. Work around it by invoking pylint directly. It's still
awfully slow, taking 30 seconds on a 10 core machine.
2021-01-07 15:47:25 +10:00
Damien Elmes
f4c8462b97
fix another broken setWindowFlags
2021-01-07 14:46:55 +10:00
Damien Elmes
94064b8230
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
Damien Elmes
a1c17d114a
Merge pull request #860 from RumovZ/norm-search
...
Normalise search
2021-01-07 10:51:36 +10:00
Damien Elmes
f667521ee0
only adjust search on left button click
...
Closes #898
2021-01-07 10:08:23 +10:00
wallgrenen
52a2447f09
replace broken link
2021-01-07 09:56:25 +10:00
Damien Elmes
5c08bd8fb8
Merge pull request #899 from BlueGreenMagick/remove-context-help-btn
...
remove context help button
2021-01-07 09:52:12 +10:00
RumovZ
6ee9e4f58c
Merge branch 'master' of https://github.com/ankitects/anki into norm-search
2021-01-06 20:57:24 +01:00
RumovZ
cbf68da630
Format
2021-01-06 20:35:11 +01:00
RumovZ
539f701573
Add exception handling for filter modifications
2021-01-06 20:25:13 +01:00
RumovZ
d9f7d2e70d
Add tests for writer.rs
...
Also minor adjustments to concatenate_searches.
2021-01-06 19:39:34 +01:00
RumovZ
07499dd890
Implement search replacing via Ctrl+Shift combo
...
Also switch to using the new backend functions for concatenating and
negating searches.
2021-01-06 18:32:29 +01:00
wallgrenen
78601d29ba
replace broken link
2021-01-06 17:03:39 +01:00
BlueGreenMagick
6224658c0d
remove context help button
2021-01-06 22:15:48 +09:00
RumovZ
6d6cd87b8f
Adjust frontend to normalized search syntax
2021-01-06 14:05:28 +01:00
Damien Elmes
d464d97f10
Merge pull request #891 from BlueGreenMagick/sidebar-delete-deck
...
Sidebar delete deck
2021-01-06 18:56:15 +10:00
Damien Elmes
25858c212c
fix unhandled sync error
...
Thanks to Abdo:
https://forums.ankiweb.net/t/sync-anki-on-desktop-error/6299/2
2021-01-06 18:51:28 +10:00
BlueGreenMagick
adb8be92a0
format ask_delete_deck method more readable
2021-01-05 21:33:59 +09:00
BlueGreenMagick
95a62b20d3
delete deck in background
2021-01-05 21:33:59 +09:00
BlueGreenMagick
ada8c505f6
add BrowserDeleteDeck to ResetReason
2021-01-05 21:33:48 +09:00
BlueGreenMagick
2a1b6f90ae
add delete_deck to sidebar context menu
2021-01-05 20:09:55 +09:00
BlueGreenMagick
f6f06986d0
seperate ask_delete_deck and _delete method
2021-01-05 20:09:47 +09:00
Damien Elmes
83136d2491
Merge pull request #890 from hgiesel/addonclose
...
Add closeWithCallback method to Addons dialog
2021-01-04 21:16:01 +10:00
Henrik Giesel
5f75d5694d
Add silentlyClose method to Addons dialog
2021-01-04 11:52:00 +01:00
Damien Elmes
94fe1f898f
Merge pull request #888 from hgiesel/studiedtoday
...
Wrap studied_today in deckbrowser in div and span
2021-01-04 14:27:35 +10:00
Damien Elmes
f3fa9daae2
do tag rename and tag clearing in background; move logic to tags.py
...
Because the logic is in rename_tag() now, it means we create a
checkpoint even if the tag is orphaned. This is because currently
checkpointing is a GUI responsibility. In the future we need to introduce
multi-level undo, and should move responsibility for managing it
to the backend.
2021-01-04 14:14:39 +10:00
Damien Elmes
35ce1b0d29
types don't need quoting, as annotations is imported from future
2021-01-04 13:46:00 +10:00
Damien Elmes
03b10b0d44
Merge pull request #887 from BlueGreenMagick/deck-rename-checkpoint
...
don't set checkpoint when deck rename is cancelled
2021-01-04 13:44:28 +10:00
Henrik Giesel
0a121077de
Wrap studied_today in div and span in deckbrowser
2021-01-03 14:54:44 +01:00
BlueGreenMagick
35d3d89705
escape tags when finding notes
2021-01-03 17:34:44 +09:00
BlueGreenMagick
46346d01a0
add rename_tag to browser sidebar contextmenu
2021-01-03 16:36:54 +09:00
BlueGreenMagick
53edeaf07f
don't set checkpoint when deck rename is cancelled
2021-01-03 16:30:14 +09:00
Damien Elmes
b27259096e
refreshing should happen outside of except clause
2021-01-03 10:09:42 +10:00
Damien Elmes
48ee35f6ad
Merge pull request #885 from Arthur-Milchior/hook_default_search
...
NF: Add a hook to change the default search from reviewer
2021-01-03 10:09:08 +10:00
Damien Elmes
e9c58382be
Merge pull request #884 from BlueGreenMagick/refresh-deckchooser
...
refresh deck browser after renaming deck in browser sidebar
2021-01-03 10:08:45 +10:00
Arthur Milchior
9166330618
NF: Add a hook to change the default search from reviewer
...
The goal here is to simplify my add-on which show a single card or the whole deck when the browser open
2021-01-02 19:49:11 +01:00
BlueGreenMagick
708d94714c
refresh deck browser on renaming deck
2021-01-02 23:21:41 +09:00
BlueGreenMagick
1afbf4212e
no need to call show()
2021-01-02 23:07:57 +09:00
Damien Elmes
5ec5a47708
merge separate vendor rules into single rule
...
Rather than creating a separate rule for each package, we can just
create a generic one and reuse it. Also switch to keyword arguments
in the resulting macros, as it's easier to read.
2021-01-02 11:14:00 +10:00
Henrik Giesel
450ff60815
Fix input type for _drawFlag
2021-01-01 14:14:50 +01:00
Henrik Giesel
f31b2312df
Remove browsersel
2020-12-31 16:48:04 +01:00
Henrik Giesel
ffc40d8959
Replace browsersel with css-browser-selector in aqt files and add redirect
2020-12-31 16:47:20 +01:00
Henrik Giesel
ebb8171021
Add css-browser-selector to BAZEL build file in data/web/js/vendor
2020-12-31 16:41:31 +01:00
Henrik Giesel
4da27afba8
Remove hardcoded protobufjs
2020-12-31 16:17:46 +01:00
Henrik Giesel
2ba944640d
Add build recipe to aqt/data/web/js
2020-12-31 16:15:25 +01:00
Damien Elmes
3d7b167947
Merge pull request #878 from hgiesel/updateQueue
...
Replace `_updatingQA` with promise-based `_updatingQueue`
2020-12-31 12:42:58 +10:00
Damien Elmes
4e363505f0
Merge pull request #877 from hgiesel/jquery-ui
...
Update Jquery UI and include in Bazel deps
2020-12-31 12:07:53 +10:00
Henrik Giesel
a7f17732b0
Replace () => void | Promise<void>
with Callback typedef
2020-12-30 16:04:59 +01:00
Henrik Giesel
c6c52e06b4
Add types to reviewer.ts
2020-12-30 15:06:22 +01:00
Henrik Giesel
aaa30a5d49
Replace _updatingQa synchronization with promise-based _updatingQueue
2020-12-30 14:45:27 +01:00
Henrik Giesel
30b537c6e9
Put loads first in BUILD.bazel
2020-12-30 12:16:59 +01:00
Henrik Giesel
5f149a75a9
Remove jquery-ui from vendor folder
2020-12-30 12:12:49 +01:00
Henrik Giesel
ed8b12e1d6
Add redirect for jquery-ui
2020-12-30 12:08:12 +01:00
Henrik Giesel
173da02b2f
Change include name for jquery ui in deckbrowser
2020-12-30 12:07:02 +01:00
Henrik Giesel
a22d303e2f
Add jquery-ui to vendor/BUILD.bazel
2020-12-30 12:06:06 +01:00
Damien Elmes
67191d339c
remove old symlink before installing a new version
...
https://forums.ankiweb.net/t/ubuntu-command-anki-not-found/6083/4
2020-12-30 20:56:28 +10:00
Damien Elmes
eea6bf963b
fix media attachment
...
insertHtmlRemovingInitialBR() was removed in a previous PR
2020-12-30 19:30:23 +10:00
Damien Elmes
9e1eaacc06
Revert "Merge pull request #873 from hgiesel/otherjsdeps"
...
This reverts commit 62600051ae
, reversing
changes made to 88553acb0d
.
- Standard graphs render incorrectly on latest version - the wrong number
of days are shown, and the grid lines look wrong. Any version after 0.8.3
seems to suffer from this problem.
- Pie graphs and stack graphs don't render - they are provided in separate
files, and plot.js in previous Anki versions has them included in the one
file. To maintain compatibility with add-ons, we'd need to create a single
file as before, instead of importing multiple files.
If the above issues are fixed I'd be happy to merge this in again, but
as the old graphs are on the way out, it's probably not worth the effort.
2020-12-30 14:13:52 +10:00
Damien Elmes
bdfdbda432
Merge pull request #875 from stayingpeachy/help-link
...
Update help link
2020-12-30 13:52:50 +10:00
Damien Elmes
1ee08c049e
Merge pull request #874 from hgiesel/jqueryreview
...
Update _updateQa
2020-12-30 13:51:54 +10:00
Meredith
c7e64b5fa0
update help link
...
old help link was outdated
2020-12-29 11:09:28 -05:00
Henrik Giesel
ff4780e005
Satisfy prettier
2020-12-29 14:45:20 +01:00
Henrik Giesel
7ef41ce573
Hook functions may also return void
2020-12-29 14:01:09 +01:00
Henrik Giesel
8f39c746d9
Replace ts-ignore with declare var
2020-12-29 13:43:47 +01:00
Henrik Giesel
53f77346d8
Fix typing of reviewer hooks
2020-12-29 13:42:30 +01:00
Henrik Giesel
ecdb06cbd6
Use async/await syntax in _updateQa
2020-12-29 13:34:39 +01:00
Henrik Giesel
f90b6b3430
Remove plot.js
2020-12-29 12:16:50 +01:00
Henrik Giesel
a6319326a9
Redirect references to old plotting library version
2020-12-29 12:15:46 +01:00
Henrik Giesel
ec9b4aa273
Use new version of plotting library in stats.py
2020-12-29 12:13:25 +01:00
Henrik Giesel
ef9b52f861
Copy flot file to vendor directory
2020-12-29 12:11:28 +01:00
RumovZ
95b4e4cc84
Make function names more explicit and add docs
2020-12-29 11:18:49 +01:00
Damien Elmes
666d847a0a
Merge pull request #856 from hgiesel/jquery
...
Update jQuery from 1.12.4 to 3.5.1, include in Bazel build process
2020-12-29 10:00:33 +10:00
Damien Elmes
d8778da3e8
fix legacy js remapping
...
Thanks to Henrik for catching it.
2020-12-29 09:57:34 +10:00
Henrik Giesel
083cd36e55
Fix formatting
2020-12-28 14:56:41 +01:00
Henrik Giesel
202fd6ffa5
Add mapping in redirectWebExport for new jquery file
2020-12-28 14:52:44 +01:00
Henrik Giesel
98407c3fea
Avoid building jquery to its own directory
2020-12-28 14:18:07 +01:00
Henrik Giesel
37dcdcc4c0
Rename references from vendor/jquery.js to vendor/jquery/jquery.min.js
2020-12-28 13:16:12 +01:00
Henrik Giesel
0c95cb3514
Remove jquery from Anki repo and replace with Bazel BUILD
2020-12-28 13:16:12 +01:00
Damien Elmes
904419b052
Merge pull request #869 from Arthur-Milchior/trip_new_field_name
...
New field name checks are more specific
2020-12-28 16:53:32 +10:00
Damien Elmes
7397b9c0c4
Merge pull request #858 from hgiesel/editorwhitespace
...
Remove placeholder `<br>`s in empty fields in editor
2020-12-28 16:50:23 +10:00
Arthur Milchior
89ffbe0fbb
Reject field name with : { or }
...
More than {{ is acceptable to start a tag, which means that `{{{Foo}}` won't be interpreted as "the content of `Foo`"
and should be rejected. For the sake of clarity and parsing, I suspect that those symbol should be rejected elsewhere
too.
Similary `{{Foo}}}` won't be interpreted as "Show the content of field `Foo}`" even if this field exists, so it's better
to reject `}`. It's clearly necessary to reject "}}" inside the field name, rejecting "}" seems easier to explain and
avoid future unexpected problem if the templates change.
The ":" are used to separate filters, and rejecting it in field name would ensure that there is no ambiguity.
2020-12-28 07:33:26 +01:00
Arthur Milchior
af6cb6612e
Rejects field names starting with #, ^ and /
2020-12-28 06:23:49 +01:00
Arthur Milchior
3be90c444d
New field are stripped
...
Otherwise, you can rename "Back" to " Front" and then get unexpected result
2020-12-28 06:18:42 +01:00
Damien Elmes
623c5b305a
Merge pull request #865 from hgiesel/configaction
...
Open AddonsDialog via dialog manager
2020-12-28 10:36:02 +10:00
Damien Elmes
910e5d58f6
Merge pull request #862 from hgiesel/reviewerbottombuttons
...
Hide stats buttons in reviewer bottom bar, if window width is too small
2020-12-28 10:33:14 +10:00
Henrik Giesel
44fb7e3dc2
Open AddonsDialog via dialog manager
2020-12-26 18:07:37 +01:00
Henrik Giesel
d6a090e1a8
Hide "Edit" and "More" buttons in reviewer bottom bar, if window width is too small
2020-12-26 15:50:32 +01:00
Damien Elmes
38614ab047
winrt 1.0.20239.1 isn't available for python 3.9
2020-12-23 20:31:13 +10:00
RumovZ
b712053c06
Norm search
2020-12-22 11:08:47 +01:00
Damien Elmes
32093bb428
further decrease default q/a fade time
2020-12-22 13:02:07 +10:00
Damien Elmes
0a633160c5
add video driver enum; allow setting angle+software on mac in prefs
2020-12-22 13:01:06 +10:00
Damien Elmes
212b251334
tag the wheels as manual so test ... doesn't build them
2020-12-21 19:28:47 +10:00
Damien Elmes
c18ea8ef78
Merge pull request #859 from hgiesel/tabindex2
...
Consider removing special handling of Shift+Tab in Editor on macOS
2020-12-21 18:38:35 +10:00
Damien Elmes
256db85577
work around --text-fg ending up in fields
...
https://forums.ankiweb.net/t/strange-behaviour-in-the-html-editor/5796/4
2020-12-21 17:56:20 +10:00
Damien Elmes
64173b5c02
.prettierrc needs to be in web/, as it's needed for sass as well
2020-12-21 17:05:31 +10:00
Henrik Giesel
2ae4d14bc5
Focus special handling of Shift+Tab on macOS
2020-12-21 08:00:47 +01:00
Damien Elmes
7d1c8c29f9
add a small delay before terminating recording
...
https://forums.ankiweb.net/t/anki-crashes-periodically-after-clicking-record-audio-button/5824/12
2020-12-21 16:37:28 +10:00
Damien Elmes
729293f5e3
remove voice recording fixme
2020-12-21 16:13:32 +10:00
Damien Elmes
4e1d57e2d2
check formatting of .js files in aqt/data
...
mathjax.js did not match //ts:format output
2020-12-21 16:10:59 +10:00
Damien Elmes
65a35fef55
link .prettierrc into qt/aqt/data/web/js
...
So automatic formatting in VS Code matches CI format
2020-12-21 16:09:06 +10:00
Damien Elmes
0bc4ea9c4d
ask users to report if PyAudio works better for them
2020-12-21 16:04:41 +10:00
Damien Elmes
019a65efc1
drop QtRecorder driver; rename existing
2020-12-21 15:02:22 +10:00
Damien Elmes
68390eccde
fail gracefully in winrt voice list fails to load
...
If no voices are installed, get_all_voices() throws a "file not found"
error.
2020-12-21 14:29:14 +10:00
Damien Elmes
f41d523cb8
Merge pull request #857 from hgiesel/editorspan
...
Wrap field name in editor in a span
2020-12-21 12:16:22 +10:00
Henrik Giesel
502049025a
Remove special treatment of empty fields in editor ts
2020-12-21 03:13:31 +01:00
Ryan Aird
a30064d5e9
Make RT import statement conditional, fix formatting, ignore WinRT for type checking
2020-12-20 19:43:09 -06:00
Henrik Giesel
9b2de395e1
Wrap field name in editor in span
2020-12-20 23:40:51 +01:00
Ryan Aird
9a0b112a0f
Lower default rank for non-RT voices and restrict to Windows 10 October 2018 or greater
2020-12-19 20:10:23 -06:00
Ryan Aird
56703e5f3a
WinRT TTS API support
2020-12-19 19:29:34 -06:00
Damien Elmes
165007180a
add winrt for TTS work
...
https://github.com/ankitects/anki/pull/855
Also update psutil version
2020-12-20 10:54:57 +10:00
Damien Elmes
e99a7c0f90
tweak naming and move method into col.decks
2020-12-20 10:26:16 +10:00
Damien Elmes
c739b9782e
Merge pull request #854 from k12ish/master
...
Add method `card_count_from_did()`
2020-12-20 10:17:25 +10:00
k12ish
cc0572a385
Added type hints, renamed kwarg
2020-12-19 18:12:58 +00:00
k12ish
ef1f58c8b6
Added method
2020-12-19 17:59:07 +00:00
abdo
e92eeda040
Strip isolation characters from app link
...
Reported in https://forums.ankiweb.net/t/bug-link-in-about-window/5894
2020-12-18 23:53:44 +03:00
Damien Elmes
3840686241
pin pyaudio and qtmultimedia
2020-12-18 19:57:19 +10:00
Damien Elmes
038f0a10ec
expose recording driver in preferences (at least for now)
2020-12-18 19:49:17 +10:00
Damien Elmes
e7d9056acd
write .wav in background
2020-12-18 19:24:53 +10:00
Damien Elmes
93eccd183f
leave iodevice alone after calling .stop()
...
Docs say it should not be accessed, and it fails on Linux.
2020-12-18 19:14:24 +10:00
Damien Elmes
dc5ce3b9a2
experiment with lower-level QAudioInput
...
Allows us to discard the start of the recording like PyAudio, instead
of just muting it.
2020-12-18 18:59:10 +10:00
Damien Elmes
643e875342
add back pyaudio as an optional alternative
2020-12-18 16:52:00 +10:00
Damien Elmes
af92bb5e93
exhaustiveness checks on literals are now possible with the move to py38
2020-12-18 16:50:55 +10:00
Damien Elmes
fd92a122a4
formatting fix
2020-12-18 10:27:32 +10:00
Damien Elmes
32b6e8e198
document ANKI_PROFILE_CODE and add bazel command to run snakeviz
2020-12-17 12:03:24 +10:00
Damien Elmes
cd31780668
explicitly set sample rate and channels
...
Windows sounds awful by default on a machine here.
2020-12-16 20:18:13 +10:00
Damien Elmes
3a250f5238
formatting & mypy fix
2020-12-16 19:51:46 +10:00
Damien Elmes
1114ca75df
update recording time more frequently; remove print statement
2020-12-16 19:45:08 +10:00
Damien Elmes
ecb7c1482f
use QtMultimedia for recording instead of PyAudio
...
The unmute-on-first-duration-change approach is to try to prevent
clicks/pops that can happen at the start of recordings. If it doesn't
solve the problem, we may need to drop down to the lower-level
QAudioInput().
Closes https://github.com/ankitects/help-wanted/issues/23
May fix https://forums.ankiweb.net/t/anki-crashes-periodically-after-clicking-record-audio-button/5824 ,
which I suspect was caused by processEvents()
2020-12-16 19:33:25 +10:00
Damien Elmes
3b84a8da40
fix deprecation error on startup on Windows
2020-12-16 15:56:10 +10:00
Damien Elmes
9439dfb98d
Merge pull request #850 from cecini/warn
...
fix float to int conversion DeprecationWarning
2020-12-16 15:40:35 +10:00
Damien Elmes
a61f3bbc48
fix some warnings on startup
2020-12-16 15:38:24 +10:00
Damien Elmes
e3c9502b46
ignore pickle.dumps() warning
2020-12-16 15:38:11 +10:00
Damien Elmes
17a221dfa0
bump pickle proto to v4; change column type to blob
2020-12-16 15:38:07 +10:00
Damien Elmes
8e7e01ccfd
don't catch DeprecationWarnings in the GUI
2020-12-16 14:25:11 +10:00
Damien Elmes
24e69e3803
Merge pull request #851 from hgiesel/cardtypeprobs
...
Remove unicode isolation from card type names
2020-12-16 13:37:44 +10:00
Henrik Giesel
f06fd23319
Remove unicode isolation from card type names
2020-12-16 03:09:33 +01:00
Damien Elmes
53276b3044
symlink generated .py/.pyi into tree to fix Python code completion
2020-12-16 11:36:42 +10:00
cecini
d2ae874d9e
fix float to int conversion DeprecationWarning
2020-12-15 13:10:12 +00:00
Damien Elmes
6d596c8fc9
avoid distributing BUILD.bazel in js/vendor
2020-12-12 10:35:01 +10:00
Damien Elmes
1da327c725
minor doc updates
2020-12-11 22:37:12 +10:00
Damien Elmes
13d66b22f4
remove unwanted leading '/' in wheel records
2020-12-10 23:02:18 +10:00
Damien Elmes
0cbb60169c
simplify wheel building
2020-12-10 20:27:21 +10:00
Damien Elmes
330d13d320
set the minimum ease to 131% for now
...
https://forums.ankiweb.net/t/force-sync-triggers-2-1-34-ease-fixup-behaviour/5632/
2020-12-10 15:46:22 +10:00
Henrik Giesel
0ad3c062bb
Switch back to fadeTo rather than fadeIn/fadeOut
2020-12-09 14:19:45 +01:00
Damien Elmes
8a627cc941
tweak README in qt/linux
2020-12-07 11:54:54 +10:00
Damien Elmes
fcdc51aace
add explicit entry point to start Anki; update docs
2020-12-07 11:22:31 +10:00
L.M.Sherlock
994f423466
Update about.py
2020-12-05 14:11:47 +08:00
Henrik Giesel
112895f04f
Fix fields_did_rename_field
2020-12-01 02:28:10 +01:00
Damien Elmes
e38cecd88a
update sync status after profile open sync
...
https://forums.ankiweb.net/t/why-is-my-sync-button-blue/2078/15
2020-12-01 10:20:55 +10:00
Damien Elmes
2c38ccad98
export mathjax.js
2020-11-30 15:15:37 +10:00
Damien Elmes
2e193c3e5b
update sync color at end of sync
...
https://forums.ankiweb.net/t/why-is-my-sync-button-blue/2078/13
2020-11-30 10:14:43 +10:00
Damien Elmes
f1fbb9d82f
update about
...
https://forums.ankiweb.net/t/may-i-trouble-you-to-add-my-name-on-the-about-page/5433/2
2020-11-29 12:00:16 +10:00
abdo
a8e4a58139
Fix UnboundLocalError in profiler code
2020-11-25 04:54:41 +03:00
Damien Elmes
d85d0b88a1
Merge branch 'master' into init-lang
2020-11-22 16:10:49 +10:00
Damien Elmes
0b848eae56
update remaining python format strings to Fluent
2020-11-22 14:57:53 +10:00
abdo
7d7745fbb5
Set up default language before loading profile
...
We can make more strings translatable this way.
2020-11-21 05:29:23 +03:00
Damien Elmes
a4d70c88e3
remove make dependency in packaged Linux build
2020-11-20 19:33:40 +10:00
Damien Elmes
e23d40e850
Merge pull request #823 from RumovZ/rework-search-parser
...
Rework search parser
2020-11-20 16:22:12 +10:00
Damien Elmes
f7fcdca54c
Merge pull request #833 from abdnh/setdeflang-fix
...
Initialize translation system to default language on first run
2020-11-20 16:11:13 +10:00
abdo
36319f1291
Initialize translation system to default language on first run
...
The setlang screen was trying to use the translation system before
we initialize it.
2020-11-20 06:18:51 +03:00
abdo
e3b4802f47
Fix description of exporters
...
Description broke yet again with the full migration to Fluent
2020-11-19 23:52:46 +03:00
abdo
f67e319f1f
Strip isolation characters from more strings
2020-11-18 18:03:04 +03:00
Damien Elmes
c1d15a8e1f
quieten MathJax
2020-11-18 21:34:44 +10:00
RumovZ
c185fb966b
Merge branch 'master' into rework-search-parser
...
Conflicts:
rslib/src/search/sqlwriter.rs
2020-11-18 09:04:04 +01:00
Damien Elmes
fcb3283a9d
move ftl into top level ftl/ folder; make it source of truth for aqt
...
This avoids the need to modify the external repo before new strings
can be used in aqt.
2020-11-18 16:20:58 +10:00
Damien Elmes
98a4a1927a
formatting fix
2020-11-18 13:48:23 +10:00
Damien Elmes
c1e6149a1b
fix browser updateTitle()
2020-11-18 13:40:21 +10:00
Damien Elmes
1c5f94d46f
strip out unused gettext refs
2020-11-18 13:22:51 +10:00
Damien Elmes
ffa26fe4bc
fix remaining _() references; remove unused imports
2020-11-18 12:43:46 +10:00
Damien Elmes
ba336d5de3
update multi-line _() references
2020-11-18 11:32:22 +10:00
Damien Elmes
b49805fef5
more ngettext references
2020-11-18 10:52:13 +10:00
Damien Elmes
1255e7530c
update some qt ngettext references
2020-11-18 09:22:27 +10:00
Damien Elmes
177d98489a
update pylib ngettext references
2020-11-18 09:12:25 +10:00
Damien Elmes
e527d31dfc
begin plural string migration
2020-11-17 23:29:08 +10:00
Damien Elmes
2453e5c488
update temporary val="%s" references to standard ftl
2020-11-17 22:00:44 +10:00
Damien Elmes
83f8b23b45
update translations
...
add qt ftl strings from external repo
2020-11-17 20:11:06 +10:00
Damien Elmes
11dca54471
update designer references
2020-11-17 19:55:18 +10:00
Damien Elmes
9d1b6231d7
merge pylib references
2020-11-17 19:23:06 +10:00
Damien Elmes
8fcfdb57ab
fix the preview shortcut references
2020-11-17 17:51:57 +10:00
Damien Elmes
6418993840
merge bulk of qt/ - designer files still to do
2020-11-17 17:42:43 +10:00
Damien Elmes
6a5c397866
add script to rewrite py files
2020-11-17 17:39:48 +10:00
Damien Elmes
8e92b77d08
output strings into ftl files
2020-11-17 15:12:05 +10:00
Damien Elmes
44489a480f
map gettext strings to keys/modules for ftl conversion
2020-11-17 14:11:09 +10:00
Damien Elmes
f65f101a16
Merge pull request #825 from hgiesel/mathjax3plus2
...
Switch from jQuery pre 3.0.0 pseudo promises to ES6 promises for ts hooks
2020-11-16 11:44:21 +10:00
Damien Elmes
ed3583b6fe
Merge pull request #826 from abdnh/write-dupes-fix
...
Make dupe search operate on non-stripped text
2020-11-16 11:43:33 +10:00
abdo
358d0f957e
Make dupe search operate on non-stripped text
...
See https://github.com/ankitects/anki/pull/822/
2020-11-16 04:01:04 +03:00
Henrik Giesel
07c183d2c2
Switch from jQuery pre 3.0.0 pseudo promises to ES6 promises
2020-11-16 01:09:59 +01:00
Henrik Giesel
435ecc3ae8
Satisfy formatter
2020-11-15 21:40:59 +01:00
Henrik Giesel
a7b5a7efe1
Improve ts hooks to allow for asynchronous actions
...
* reviewer ts hooks may now return a promise, which are then waited upon with Promise.all
* this does not break old ts hooks, as Promise.all allows for non-Promises in its array
2020-11-15 21:16:06 +01:00
Henrik Giesel
4229f21084
Include default MathJax packages
...
* by default load all the default tex-chtml packages, which additionally include:
* require: using \require{package-name} to load a package
* autoload: using a command from a different package automatically loads it
* configmacros: allows for definition of predefined macros
2020-11-15 20:56:50 +01:00
Henrik Giesel
80232f4d33
Load require package in Mathjax
2020-11-15 13:58:51 +01:00
Damien Elmes
9f97baa3e2
Merge branch 'mathjax3'
2020-11-15 20:24:50 +10:00
Damien Elmes
8a80ffe53a
add rule to copy mathjax from node_modules
2020-11-15 20:22:28 +10:00
Damien Elmes
9feccc785f
ignore incorrect clock in dev mode
2020-11-15 18:29:16 +10:00
RumovZ
8d24fb89bf
Update frontend search escapes to new parsing
2020-11-14 20:37:40 +01:00
Henrik Giesel
6104ea26fb
Remove @types/mathjax as it is for MathJax 2
2020-11-14 14:14:25 +01:00
Henrik Giesel
aa44d64513
Add moving MathJax3 into mathjax directory to build process
2020-11-14 14:14:25 +01:00
Henrik Giesel
6d4ff1212d
Rip out MathJax 2 and setup MathJax 3 environment
2020-11-14 14:14:25 +01:00
Henrik Giesel
c5cfbfa1ab
Update MathJax2 config to MathJax3 config
...
Used: https://mathjax.github.io/MathJax-demos-web/convert-configuration/convert-configuration.html
2020-11-14 14:14:25 +01:00
Damien Elmes
5bb3d7c114
format_fix -> format; rename svelte-check for consistency
2020-11-12 20:19:32 +10:00
Damien Elmes
81b9a3194e
fix some unwanted leading space in i18n keys
2020-11-12 08:55:26 +10:00
Damien Elmes
5536ffb343
update qt/ to 3.8 as well
2020-11-11 21:37:36 +10:00
Damien Elmes
84c1e7bdd2
sort merged po files
2020-11-11 21:18:41 +10:00
Damien Elmes
8d4df820cc
update i18n scripts
...
- export updated .po files for consumption
- add a script to pull and push translations
2020-11-11 21:08:06 +10:00
Damien Elmes
c4f28a0a17
prep for i18n updates
...
Update scripts will be split into separate repo
2020-11-11 16:18:28 +10:00
Damien Elmes
8a2cd15fd6
add Makefile and README from packaged Linux version
2020-11-11 13:57:38 +10:00
Damien Elmes
f8f2839b55
add pyqtwebengine to wheel deps and bump minimum required pyqt
2020-11-11 10:33:49 +10:00
Damien Elmes
6e3f971ae1
handle packaged pylib buildinfo.txt; drop aqt buildinfo
2020-11-11 10:33:49 +10:00
Damien Elmes
e99c0dbe15
Merge pull request #793 from nwwt/object-audio-tags-support
...
Audio & object tag support
2020-11-11 10:33:31 +10:00
Andreas Reis
54f51da944
Allow <audio> to play without user interaction in accordance to autoplay setting
...
Since 2018, Chromium by default requires at least one user interaction with a page in order for sound to play. That's not what an Anki user expects.
So this commit undoes this by setting the policy accordingly if the deck's settings have autoplay set, so that files in <audio> tags (if they further have the autoplay attribute set / are jscripted accordingly) are treated the same as ones in [sound:…] elements. OFC, it's obviously not a good idea to mix both on one card.
(AnkiDroid's WebView has already been unconditionally ignoring the requirement since forever.)
2020-11-10 14:53:45 +01:00
Andreas Reis
e68a40f13e
cleanup / renames
...
・ soundRegexps → sound_regexps
・ htmlRegexps → html_media_regexps
・ HTML_TAGS → HTML_MEDIA_TAGS
・ escapeImages → escape_media_filenames + alias
・ strip_html_preserving_image_filenames → strip_html_preserving_media_filenames
2020-11-10 14:53:04 +01:00
ianki
c2901e4859
Add hooks for filtering media.
2020-11-09 02:12:23 -08:00
Damien Elmes
20f0c887eb
Merge pull request #814 from k12ish/master
...
Improve compatibility with graphics pad/touchscreen
2020-11-09 19:42:41 +10:00
Damien Elmes
b38218f7c6
Merge pull request #813 from RumovZ/fix-search-combos
...
Fix clicking filters with keyboard modifiers
2020-11-09 19:42:13 +10:00
k12ish
b592e20a3c
Improve compatibility with graphics pad/touchscreen
...
When using anki with a graphics pad, text is often selected on accident. This snippet of CSS will fix that issue
2020-11-08 18:14:37 +00:00
RumovZ
557616f36a
Fix clicking filters with keyboard modifiers
2020-11-08 11:05:11 +01:00
Damien Elmes
37695da713
fix missing QAudioDeviceInfo on macOS
2020-11-06 12:01:37 +10:00
Damien Elmes
ecab88d8c5
Merge pull request #808 from sobjornstad/reposition-highlight
...
Start with default value in reposition spinbox selected
2020-11-06 11:09:15 +10:00
Damien Elmes
c42325cb49
fix aqt version requirement; use py3 instead of cp38 tag
2020-11-05 20:25:08 +10:00
Damien Elmes
29ae7480f2
cleanups
2020-11-05 11:21:13 +10:00
Damien Elmes
ecfeb71195
fix tests on Linux
2020-11-04 21:39:41 +10:00
Damien Elmes
0d354da93a
move aqt_data into source folder; implement wheel building
2020-11-04 12:14:03 +10:00
Soren Bjornstad
7277e9485a
start with default value in reposition text box highlighted
...
This saves a keystroke if you want to replace the default value. It's
hard to imagine a situation in which you would want to *prepend*
characters to the default value, as is the current behavior. If you want
to accept the default value, you can still hit enter or tab immediately.
2020-11-02 19:07:53 -06:00
Damien Elmes
4de71eb662
fix pywintypes issue when running tests on Windows
2020-11-02 21:36:01 +10:00
Damien Elmes
e0817c004d
move backend.proto into rslib/
2020-11-02 16:28:31 +10:00
Damien Elmes
45ed97c56c
rspy -> pylib/rsbridge
2020-11-02 15:21:12 +10:00
Damien Elmes
3c428fe336
update CI
2020-11-01 16:33:40 +10:00
Damien Elmes
b17d537a9e
remove old makefiles
2020-11-01 14:41:01 +10:00
Damien Elmes
99140f6023
always return str in aqt_data_folder()
2020-11-01 14:38:13 +10:00
Damien Elmes
aea0a6fcc6
initial Bazel conversion
...
Running and testing should be working on the three platforms, but
there's still a fair bit that needs to be done:
- Wheel building + testing in a venv still needs to be implemented.
- Python requirements still need to be compiled with piptool and pinned;
need to compile on all platforms then merge
- Cargo deps in cargo/ and rslib/ need to be cleaned up, and ideally
unified into one place
- Currently using rustls to work around openssl compilation issues
on Linux, but this will break corporate proxies with custom SSL
authorities; need to conditionally use openssl or use
https://github.com/seanmonstar/reqwest/pull/1058
- Makefiles and docs still need cleaning up
- It may make sense to reparent ts/* to the top level, as we don't
nest the other modules under a specific language.
- rspy and pylib must always be updated in lock-step, so merging
rspy into pylib as a private module would simplify things.
- Merging desktop-ftl and mobile-ftl into the core ftl would make
managing and updating translations easier.
- Obsolete scripts need removing.
- And probably more.
2020-11-01 14:26:58 +10:00
Damien Elmes
6b0b3fcd6a
Merge pull request #803 from RumovZ/fix-completer-focus
...
Work around Qt's focus bug (fix help-wanted#22)
2020-10-29 21:44:13 +10:00
Damien Elmes
8ef6420cdb
Merge pull request #804 from hgiesel/mime
...
Set MIME type for javascript files
2020-10-29 20:54:03 +10:00
Henrik Giesel
70aed820da
Set MIME type for javascript files
2020-10-26 23:32:38 +01:00
RumovZ
aaf5770db9
Work around Qt's focus bug (fix help-wanted#22)
...
Manually hide the editor's completer popup before accepting a short cut which changes the focus widget. Thus, work around the bug in PyQt 5.15 where a QLineEdit with open QCompleter popup won't get notified about focus changes handled by the Main Window, leading to inconsistent focus.
2020-10-24 10:47:25 +02:00
abdo
6d68bfa594
Use replace instead of strip
...
https://github.com/ankitects/anki/pull/801
2020-10-22 15:21:30 +03:00
abdo
55f1d3773f
Strip double quotes from names
...
Strip double quotes from all kinds of names
https://github.com/ankitects/anki/pull/798
2020-10-21 21:48:49 +03:00
Damien Elmes
3d95d9e3c6
Merge pull request #799 from hgiesel/cal
...
Introduce Browser.search_for and Browser.update_search
2020-10-21 21:31:21 +10:00
Damien Elmes
fe5c4a2593
Merge pull request #798 from abdnh/escape-quotes-in-search
...
Escape double quotes in search
2020-10-21 21:28:51 +10:00
Damien Elmes
930c264399
Merge pull request #797 from abdnh/importing-fix
...
Fix notes being imported to the wrong deck in some cases
2020-10-21 21:22:33 +10:00
Damien Elmes
669769a5a2
Merge pull request #795 from abdnh/reviewer-cleanup
...
Set card to None in reviewer cleanup
2020-10-21 21:19:43 +10:00
Damien Elmes
f947a65ac5
Merge pull request #794 from abdnh/tagedit-enter-fix
...
Don't apply suggestion when no suggestion list is shown in tagedit
2020-10-21 21:19:05 +10:00
Damien Elmes
5fc841de85
Merge pull request #791 from abdnh/sidebar-context-menu
...
help-wanted#6: continue work on new browser sidebar (based on #590 )
2020-10-21 21:13:32 +10:00
Henrik Giesel
9e44b2be7f
Turn update_search into its own method
2020-10-19 21:07:29 +02:00
Henrik Giesel
450e85d36d
Add search prompt for setupSearch
2020-10-19 20:57:19 +02:00
Henrik Giesel
54dc97825e
Add uses of search_for
2020-10-19 20:51:36 +02:00
Henrik Giesel
2d65e81b13
Add search_for method
2020-10-19 20:37:17 +02:00
abdo
5677a67025
Escape double quotes in search
2020-10-19 01:06:41 +03:00
abdo
d91f2a27b2
Remove unused code
2020-10-15 16:14:14 +03:00
abdo
236a6071d4
Save importing model in any case
...
https://forums.ankiweb.net/t/bug-notes-are-imported-to-the-wrong-deck-in-certain-cases/4318
2020-10-15 15:14:55 +03:00
abdo
3531ae089a
Set card to None in reviewer cleanup
2020-10-14 12:56:47 +03:00
abdo
44e3ef690f
Don't apply suggestion when no suggestion list is shown
2020-10-14 05:00:24 +03:00
Damien Elmes
06292a45f3
formatting fix
...
formatting fix
2020-10-14 10:35:57 +10:00
Damien Elmes
02ceab55c0
Update __init__.py
2020-10-14 09:45:34 +10:00
Andreas Reis
21f072a666
Add command-line argument to skip addons
...
Shift doesn't work for me occasionally, for whatever reason. So just add an -s to skip it that way.
(Also, update my github nick)
2020-10-14 01:31:07 +02:00
abdo
cd0523712f
Fix typing warning
2020-10-12 11:01:15 +03:00
abdo
7c1b855709
Do sidebar switch check in browser init
...
https://github.com/ankitects/help-wanted/issues/6#issuecomment-706880794
2020-10-12 10:28:21 +03:00
abdo
82993d16fd
Merge branch 'sidebar-context-menu' of https://github.com/abdnh/anki into sidebar-context-menu
2020-10-12 10:15:23 +03:00
Damien Elmes
1e37e6cabd
formatting fix
2020-10-12 12:37:51 +10:00
Damien Elmes
f75e3e6486
Merge pull request #790 from hgiesel/fields
...
Add fields_did_rename_field and fields_did_remove_field hooks
2020-10-12 12:36:39 +10:00
Damien Elmes
1aa29f2e79
Merge pull request #789 from abdnh/editor-decode-urls
...
Decode pasted URLs for nicer display
2020-10-12 12:33:52 +10:00
Damien Elmes
aad6785bab
Merge branch 'master' into opus-audio
2020-10-12 12:32:43 +10:00
Damien Elmes
153c8aed27
formatting fixes
2020-10-12 12:17:02 +10:00
Damien Elmes
a4a461c17b
Merge pull request #782 from johan456789/patch-1
...
fix outdated help site
2020-10-12 12:15:46 +10:00
Henrik Giesel
591d3738d1
Add fields_did_rename_field and fields_did_remove_field hooks
2020-10-11 19:16:30 +02:00
abdo
709e789ade
Decode pasted URLs
2020-10-11 16:46:46 +03:00
Piotr Kubowicz
ed11f8e9d6
Add .opus as an audio extension
...
Wikimedia Commons has pronunciation recordings with .opus extension.
Anki is able to play such files, but until now adding them required
changing the extension to .ogg or some other supported one.
Also sort the audio extensions list.
2020-10-10 16:28:40 +02:00
Damien Elmes
727ddd74b6
fixes for latest mypy
2020-10-10 19:02:59 +10:00
abdo
4f5fdc192a
Move new sidebar code to a separate file
...
- Move the new sidebar code and SidebarTreeView implementation to a
new file. Old sidebar can be accessed with the shift key. The "new" sidebar
doesn't add much for now.
- Make rename_deck work with subdecks
- Fix an issue when trying to open context menu over areas not populated
with sidebar items
2020-10-10 04:42:49 +03:00
abdo
3708279f31
Merge commit 'refs/pull/590/head' of https://github.com/ankitects/anki into sidebar2
2020-10-10 04:11:54 +03:00
johan456789
06f1aeb052
fix help url paths
2020-10-10 00:38:07 +08:00
johan456789
91d3ded689
remove never used link
2020-10-10 00:07:34 +08:00
abdo
7b392dd9d4
Escape ampersands in note type names too
2020-10-07 15:26:32 +03:00
abdo
994d167fdb
Fix 'Filter' menu item in deck filters not working
2020-10-07 14:32:21 +03:00
abdo
176126417e
Escape ampersands in filter menu
...
Fixes ankitects/help-wanted#20
2020-10-07 13:44:33 +03:00
Damien Elmes
301c9587d1
Merge pull request #778 from hgiesel/refocus
...
Always focus main web instead of bottom web in reviewer
2020-10-07 16:22:49 +10:00
Damien Elmes
7460dfc830
add Gustavo Costa
...
A reminder that anyone who's contributed is welcome to send
a PR adding themselves!
2020-10-06 14:36:11 +10:00
Damien Elmes
234e03d44d
fix invisible scrollbar in nightmode
...
vars.scss no longer contains the Qt theme definitions, so the
easiest solution was to duplicate the colour in this case
2020-10-06 14:35:21 +10:00
Henrik Giesel
74ffc2a4cd
Have a "default" highlight, but naturally follow focus if focus is in container
2020-10-05 22:54:23 +02:00
Henrik Giesel
0b434e484b
Give the focus on .focus element a red tint
2020-10-05 22:39:16 +02:00
Henrik Giesel
a08d83deda
Add focus class which mimics built-in focus
2020-10-05 22:18:46 +02:00
Damien Elmes
bf72773531
fix IndexError when switching notetypes
...
Closes #780
https://github.com/ankitects/anki/pull/780
2020-10-05 13:33:54 +10:00
Damien Elmes
8fa865e8f4
Merge pull request #781 from hgiesel/leftbtns
...
Refactor Buttons in editor and add editor_did_init_left_buttons gui_hook
2020-10-05 13:14:52 +10:00
Damien Elmes
d03cabf9a8
Merge pull request #779 from david-allison-1/fix-sign-up-link
...
Fix "Sign Up" link location
2020-10-05 12:34:11 +10:00
Damien Elmes
f569ba6e63
Merge pull request #777 from kelciour/mpv-anki-freeze-on-windows
...
Separate player for videos on Windows
2020-10-05 12:27:31 +10:00
Henrik Giesel
e9ca17b1b3
Turn _class into rightside boolean flag
2020-10-04 23:03:37 +02:00
Henrik Giesel
e8c80174eb
Refactor out theclass assignment
2020-10-04 22:51:34 +02:00
Henrik Giesel
4c255b0289
Add editor_did_init_left_buttons gui_hook
2020-10-04 22:50:02 +02:00
Henrik Giesel
bf29fb8e83
Make icon Optional explicitly in function signature
2020-10-04 22:42:28 +02:00
Henrik Giesel
30d1d57c78
Rewrite so all editor toolbar buttons use _addButton
2020-10-04 22:41:18 +02:00
David Allison
f4e9df8457
Fix "Sign Up" link location
...
String states "Sign Up", but currently points to the "Sign In" screen: https://ankiweb.net/account/login
aff28a38e5/rslib/ftl/sync.ftl (L38-L42)
2020-10-04 18:14:49 +01:00
Henrik Giesel
9018140eef
Also focus main web instead of bottom web
2020-10-03 22:33:01 +02:00
kelciour
e2d98ebc26
Separate player for videos on Windows
...
https://forums.ankiweb.net/t/anki-crashes-because-of-mpv/3359/13
2020-10-03 22:53:17 +03:00
abdo
dbc820ba6f
Paste links as plain text in basic mode
2020-10-03 19:46:05 +03:00
Damien Elmes
49071ebf44
Merge branch 'master' into fix-ui-scale
2020-10-03 09:44:04 +10:00
Akshara Balachandra
b2870dcd7f
fix: sizing issue with scale UI
...
Fixes ankitects/help-wanted#18 . Height of webview should be the height
of the contents inside it. Previously, scale factors increased fixed
height of the container webview, thus creating empty space (e.g.
at 200% scaling, height of webview was double the height of the inner
HTML page). Now height of webview is always the height of the contained
element.
2020-10-02 18:07:28 -04:00
abdo
8c0bfd7d1d
Recognize ico files
...
Local icons were being pasted as normal links previously instead of
being enclosed in img tags.
2020-10-03 00:17:38 +03:00
Damien Elmes
53a984ba15
bump version
2020-10-02 10:22:21 +10:00
Damien Elmes
9c2a4b85b2
don't reschedule repeating timers that occur during progress
...
For things like updating the deck list, it makes no sense to do it
multiple times at the end of a long operation, and the once/second signal
timer was causing hundreds or thousands of 100ms timers to be created.
https://forums.ankiweb.net/t/anki-memory-usage/3842
2020-09-30 10:01:06 +10:00
Damien Elmes
49ebb193cf
Merge pull request #769 from abdnh/escape-sidebar-terms
...
Escape browser sidebar search terms
2020-09-27 16:06:10 +10:00
Damien Elmes
d9562a1898
fix links not opening externally after finishing
...
https://forums.ankiweb.net/t/anki-2-1-34-35-beta/3569/19
2020-09-27 14:36:55 +10:00
Damien Elmes
a4f0181f25
backups no longer happen on each sync
...
https://forums.ankiweb.net/t/accidentally-deleted-backs-one-deck/3740/6
2020-09-27 12:59:51 +10:00
Damien Elmes
2f654bcb88
fix old content appearing when flagging
...
https://forums.ankiweb.net/t/very-specific-but-quite-consistent-bug-in-browser/3685
2020-09-27 12:31:25 +10:00
Damien Elmes
1827063e4f
fix import shortcut
...
https://forums.ankiweb.net/t/anki-2-1-34-35-beta/3569/21
2020-09-27 11:57:12 +10:00
abdo
e212df2160
Escape sidebar search terms
2020-09-25 21:05:34 +03:00
abdo
fc797f63c2
Fix previewer not refreshing when selecting multiple cards in browser
2020-09-24 07:05:16 +03:00
Damien Elmes
c6ea97b69c
Merge pull request #767 from abdnh/context-menu-copy-image
...
Allow copying of images using context menu
2020-09-24 10:57:13 +10:00
Damien Elmes
c125893eba
bump version
2020-09-24 10:52:24 +10:00
abdo
d5b3927d0b
Allow copying of images using context menu
2020-09-22 06:32:37 +03:00
Damien Elmes
fee9b199d5
allow dragging of images in review screen again
...
when we were using webkit+file URLs, this deleted files from the
media folder! But we're behind a HTTP server now, so this should
be safe.
https://forums.ankiweb.net/t/no-longer-able-to-copy-latex-output/3128/5
originally disabled in
dd4bae6e8d
2020-09-22 10:29:53 +10:00
abdo
b22b104119
'Show Both Sides' -> 'Back Side Only'
2020-09-20 19:31:00 +03:00
kelciour
72ea605050
Revert back to listening for idle callback
...
https://forums.ankiweb.net/t/anki-2-1-33-linux-audio-stops-working/3023
2020-09-16 09:25:18 +03:00
Damien Elmes
a8eba9d341
Merge pull request #758 from hgiesel/synchook
...
Add sync_will_start and sync_did_finish hook
2020-09-15 21:20:46 +10:00
Henrik Giesel
f147e90146
Move sync_did_finish before reset
2020-09-15 13:06:11 +02:00
abdo
151f854fa2
Support extended drag & drop
2020-09-14 17:07:31 +03:00
Henrik Giesel
0c7caa1644
Add some documentation to sync_did_finish hook
2020-09-14 13:18:16 +02:00
Henrik Giesel
6e5a826993
Put sync_did_finish hook before after_sync because it might unload collection
2020-09-14 13:06:20 +02:00
Henrik Giesel
8dcd84e7c0
Add sync_will_start and sync_did_finish hook
2020-09-14 12:22:01 +02:00
Damien Elmes
0455e760c6
another showDupes fix from ANH
...
https://forums.ankiweb.net/t/show-duplicates-not-working/2883/10
2020-09-04 10:13:30 +10:00
Damien Elmes
21749a3b0c
sound tags need filename html escaped
...
https://forums.ankiweb.net/t/unable-to-play-longer-audio-on-cards/1313/30
2020-09-04 09:36:38 +10:00
Damien Elmes
dc1f489d3e
Revert "Merge pull request #749 from ANH25/editor-media-autoplay"
...
This reverts commit 9aa3d7867e
, reversing
changes made to c3a1acb524
.
https://github.com/ankitects/anki/pull/749#issuecomment-686385112
2020-09-04 08:34:26 +10:00
Damien Elmes
ade7f438ce
rebuild_filtered_deck() and new_filtered()
2020-09-03 18:02:47 +10:00
Damien Elmes
f87fa762be
empty_filtered_deck()
2020-09-03 17:43:07 +10:00
Damien Elmes
56ceb6ba76
set_deck()
2020-09-03 17:42:46 +10:00
Damien Elmes
ce49ca9401
log manual reschedule, but ignore the log entry in the stats
2020-09-02 17:56:23 +10:00
Damien Elmes
ccfd6244de
ensure background override works in night mode
2020-09-01 12:20:45 +10:00
Damien Elmes
d3dede057a
move bury/suspend into backend
2020-09-01 10:24:38 +10:00
Damien Elmes
ac265fe75a
formatting fixes for latest black
2020-09-01 10:24:38 +10:00
Damien Elmes
e80b3eeeef
fix some lints
2020-09-01 10:24:38 +10:00
Damien Elmes
67cb510c8e
add a hook to support extending external .html files
2020-09-01 10:24:38 +10:00
Damien Elmes
fd854630ff
add load_ts_page() & avoid duplicate call
2020-09-01 10:24:38 +10:00
Damien Elmes
e5685254c6
reimplement congrats screen in Rust+Typescript
2020-09-01 10:24:38 +10:00
Damien Elmes
5520163bf7
apply standard zoom and background to graphs; prevent FOUC
2020-09-01 10:24:38 +10:00
Damien Elmes
0564d4cf86
use css vars for graph styling as well; base webview.scss off core.scss
2020-09-01 10:24:38 +10:00
Damien Elmes
21616f67bf
most of the .nightMode redefinitions are no longer required
2020-09-01 10:24:38 +10:00
Damien Elmes
748745fe1a
drop the old sass vars and define the properties directly
2020-09-01 10:24:38 +10:00
Damien Elmes
2d26280dab
migrate the majority of the sass vars to css variables
...
Allows add-ons to easily override the theme, and allows us to apply
styling to elements outside of the normal document flow (like applying
the normal background colour to a position: fixed element).
2020-09-01 10:24:38 +10:00
Damien Elmes
ab32623dde
move _vars to outer ts folder
...
First step in sharing styling with graphs + future .html files
2020-09-01 10:24:38 +10:00
Henrik Giesel
2f68293c74
Some minor reformatting to satisfy black
2020-08-31 13:50:59 +02:00
Henrik Giesel
5e4324accb
Address broken translations and increase readibility of button insertion
2020-08-31 13:40:42 +02:00
Henrik Giesel
89caa6ef75
Remove unnecessary import
2020-08-31 13:35:18 +02:00
Henrik Giesel
a1b5acd46a
Fix type signature: models is passed because it's a method
2020-08-31 13:35:18 +02:00
Henrik Giesel
90f0df2a52
Remove duplicated buttons
2020-08-31 13:35:18 +02:00
Henrik Giesel
3287c42ace
Don't import models in gui_hooks to avoid circular import
2020-08-31 13:35:18 +02:00
Henrik Giesel
ea787c73a5
Fix uninitialized buttons object
2020-08-31 13:35:18 +02:00
Henrik Giesel
633d769490
Add compiled hook model_did_init_buttons
2020-08-31 13:35:18 +02:00
Henrik Giesel
ad27e0149a
Add usage in models.py
2020-08-31 13:35:18 +02:00
Henrik Giesel
0d1b90e512
Add gui_hook models_did_init_buttons
2020-08-31 13:35:01 +02:00
Henrik Giesel
0c3fad7386
Add unused add_button method
2020-08-31 13:33:59 +02:00
Damien Elmes
a517accee3
update to latest black
2020-08-31 13:29:28 +10:00
Damien Elmes
603210149c
update to latest isort, pylint and pytest
2020-08-31 12:05:36 +10:00
Damien Elmes
20432ccecf
fix new pylint raise-missing-from lint
2020-08-31 12:04:14 +10:00
Damien Elmes
ec6164c807
Merge pull request #751 from ANH25/addon-config-editor-title
...
Remove unicode isolation markers from add-on config editor title
2020-08-31 11:10:44 +10:00
Damien Elmes
819dce3ab6
bump version
2020-08-31 11:07:54 +10:00
ANH
9eb11b53d5
remove unicode isolation markers from add-on config editor title
2020-08-31 00:35:17 +03:00
Damien Elmes
3f403040db
fix card.template() in card layout screen
...
https://forums.ankiweb.net/t/card-template-does-not-work-when-called-in-card-will-show-hook-in-template-editor/2798
2020-08-30 11:23:44 +10:00
Damien Elmes
3bd85bf180
add some names to about screen
...
a reminder that anyone who's contributed is welcome - please just
send a PR adding yourself
2020-08-27 11:24:13 +10:00
Damien Elmes
9aa3d7867e
Merge pull request #749 from ANH25/editor-media-autoplay
...
Only autoplay added media when recording in editor
2020-08-27 10:37:42 +10:00
Damien Elmes
c3a1acb524
Merge pull request #745 from ANH25/reviewer-context-menu-shortcut
...
add shortcut for reviewer context menu
2020-08-27 10:33:22 +10:00
ANH
28d86ab8d1
editor: only autoplay added media when recording
2020-08-26 14:49:19 +03:00
Damien Elmes
05efefeff9
Merge pull request #748 from ANH25/drag-and-drop
...
fix drag & drop issue when dropping things over existing content
2020-08-26 08:38:48 +10:00
Damien Elmes
2e328fd6cb
formatting
2020-08-26 08:36:08 +10:00
Damien Elmes
5355c3c25e
fix description in export screen (thanks to ANH)
...
https://forums.ankiweb.net/t/anki-2-1-31-exporting-display-bug/2669/3
2020-08-26 08:33:35 +10:00
Damien Elmes
068eca5319
bigger default window size
...
https://forums.ankiweb.net/t/increase-the-standard-window-size-so-all-buttons-are-visible/2613
2020-08-26 08:06:46 +10:00
Damien Elmes
7e6a65ed3d
bump version
2020-08-26 08:05:45 +10:00
ANH
cc17b4db62
fix drag & drop issue when dropping things over existing content
2020-08-25 17:28:13 +03:00
Damien Elmes
dee7d45d8b
fix signup link
2020-08-25 13:29:02 +10:00
Damien Elmes
7d7c791504
bump version
2020-08-24 11:28:22 +10:00
ANH
9cf07a98c2
add shortcut for reviewer context menu
2020-08-23 17:46:47 +03:00
Damien Elmes
2291f9a9fb
'cards' instead of 'notes' in export
...
thanks to hgiesel; closes #744
2020-08-23 13:48:20 +10:00
Damien Elmes
2a8a4e9780
fix formatting & lint
2020-08-21 12:36:18 +10:00
Damien Elmes
45fd52d49a
Merge pull request #735 from brownbat/master
...
Add hook for initializing answer buttons
2020-08-21 12:34:14 +10:00
Damien Elmes
b47654fed7
fix formatting
2020-08-21 11:45:14 +10:00
Damien Elmes
e346533b7a
Merge pull request #742 from evandroforks/fix_ts_sass
...
Fix error reading scss;..\aqt_data\web: no such file or directory
2020-08-21 11:44:55 +10:00
evandrocoan
5c0dfa69a4
Fix error reading scss;..\aqt_data\web: no such file or directory
...
Recently on my Windows, out of nowhere, it started throwing:
```
../../ts/node_modules/.bin/tsc --build
../../ts/node_modules/.bin/sass --no-source-map scss:..\\aqt_data\\web
Error reading scss;..\aqt_data\web: no such file or directory.
make: *** [Makefile:26: build] Error 66
```
2020-08-20 22:22:33 -03:00
Damien Elmes
5d8c9c8948
Merge pull request #740 from kelciour/mpv-restart-fix
...
Fix no sound after restarting mpv
2020-08-21 11:10:46 +10:00
Damien Elmes
095df2f6f8
Add comment
2020-08-21 11:10:30 +10:00
kelciour
8cac607588
Reset av_player.current_player after mpv restart
2020-08-21 02:17:21 +03:00
Damien Elmes
75e721f4ad
Merge pull request #739 from ANH25/add-custom-study-ftl
...
Add custom-study-must-rename-deck to Fluent
2020-08-21 08:56:17 +10:00
Thomas B
c920dee638
Remove conflict- Sequence type no longer needed
2020-08-20 10:34:08 -04:00
Thomas B
6d43ab2fd5
Fix other docstring to match.
2020-08-20 10:33:46 -04:00
Thomas B
fe6144ff61
Clarify docstring
2020-08-20 10:30:31 -04:00
Damien Elmes
290efb9e92
need to invalidate notetype cache on sync completion
...
basicCheck() was populating it on startup sync, leading to
https://forums.ankiweb.net/t/error-when-adding-a-new-note/1664
2020-08-20 15:35:23 +10:00
Damien Elmes
41544c57d5
fix find&replace getting too large
...
https://forums.ankiweb.net/t/bug-find-and-replace-dialog-displays-length-of-longest-string-in-dropdown-list/2469
2020-08-20 15:26:23 +10:00
Thomas B
67e3f25ad1
Add both Union and Sequence to typing import
...
Resolve conflict.
2020-08-19 16:19:15 -04:00
Thomas B
73883f3f21
Update gui_hooks.py
2020-08-19 16:15:56 -04:00
Thomas B
897ec72608
Fixing type hints
...
Matched all type hints, changed the original Sequence[] type hint for _answerButtonList() in reviewer.py on mypy's recommendation.
2020-08-19 16:15:49 -04:00
ANH
94b80cfb94
add custom-study-must-rename-deck to Fluent
2020-08-19 18:27:14 +03:00
ANH
680b5e4b50
work around editor freeze issue after external drag & drop
2020-08-19 18:14:07 +10:00
Thomas B
649142e5b3
Update as part of previous commit
2020-08-18 10:38:59 -04:00
Thomas B
e92b0f8d63
Bugfix proposed filter post-testing
...
Mirrored filter more closely on _ReviewerWillAnswerCardFilter, including taking and returning the value to be modified.
2020-08-18 10:37:45 -04:00
Henrik Giesel
4e43d27fb8
Remove ResetReason.BrowserDeleteNote
2020-08-17 12:50:40 +02:00
Henrik Giesel
dcf82fb403
Merge branch 'master' into resethook
2020-08-17 12:39:09 +02:00
Damien Elmes
177ced7a31
clear undo queue on sync
...
https://forums.ankiweb.net/t/ios-ipad-sync-failure-with-filtered-decks/1617/34
2020-08-17 20:09:07 +10:00
Damien Elmes
06275478e0
close edit current window when card deleted
...
https://forums.ankiweb.net/t/bug-report-editor-updating-non-existing-card/2117
2020-08-17 20:07:48 +10:00
Damien Elmes
3d0d21e4bc
fix duplicates not escaping html
...
https://forums.ankiweb.net/t/bug-report-showdupes-not-html-escaping-field-content/2167
2020-08-17 17:50:27 +10:00
Henrik Giesel
e3d01de2ba
Reorder gui_hooks imports
2020-08-16 23:34:24 +02:00
Henrik Giesel
85d6145482
Add Union import
2020-08-16 19:11:11 +02:00
Henrik Giesel
7f503895d7
Create ResetReason enum
2020-08-16 18:56:32 +02:00
Henrik Giesel
97a4a0ef34
Rename to should_require_reset
2020-08-16 18:56:32 +02:00
Henrik Giesel
db0a18106f
Reorder + make all parameters optional
2020-08-16 18:56:32 +02:00
Henrik Giesel
ccc56d4355
Satisfy formatter
2020-08-16 18:56:32 +02:00
Henrik Giesel
f1286a0ce3
Update signature of main_window_will_require_reset hook
2020-08-16 18:56:32 +02:00
Henrik Giesel
dd515e65e7
Add new use of requireReset
2020-08-16 18:56:32 +02:00
Henrik Giesel
31323719bc
Insert gui_hook main_window_will_require_reset
...
* into AnkiQt.requireReset method
2020-08-16 18:56:32 +02:00
Henrik Giesel
bff42d55db
Add main_window_will_require_reset hook
2020-08-16 18:56:32 +02:00
Thomas B
7be08919e2
Add hook for initializing answer buttons
2020-08-14 13:52:20 -04:00
Arthur Milchior
ae078d4fd0
Search_model has context
...
I have an add-on which allow to open multiple windows. So would like to know which browser has done the search. This
would allow me to have browser with various setting. In particular, I've an add-on which allow to show a single line by
note, and I would like for some browser to have this feature on and for some other to have this feature off.
2020-08-13 19:46:14 +02:00
Damien Elmes
c3f8f7dd94
Merge pull request #732 from Arthur-Milchior/typing
...
Typing
2020-08-13 20:19:30 +10:00
Damien Elmes
6a379add1a
Merge pull request #730 from ANH25/rtl-editing
...
fix Ctrl+right/left handling in RTL fields
2020-08-13 20:09:51 +10:00
Damien Elmes
4c052e8164
remove RTL special case in cloze deletion
...
https://forums.ankiweb.net/t/erroneous-characters-added-to-rtl-cloze-deletions/2164
2020-08-13 19:11:48 +10:00
Arthur Milchior
c4db4bd291
Any removed
2020-08-12 01:37:21 +02:00
Arthur Milchior
c3b2b8625e
NF: childMapNode
2020-08-12 00:42:42 +02:00
ANH
2ef846b09f
add modify to the Selection interface
2020-08-11 03:32:58 +03:00
ANH
46573df890
fix Ctrl+right/left handling in RTL fields
2020-08-11 03:09:03 +03:00
Damien Elmes
d079307536
Merge pull request #728 from hgiesel/mungehtml
...
Move "remove null bytes" and "reverse url formatting" functionality to editor_will_munge_html hook
2020-08-10 16:33:56 +10:00
Henrik Giesel
17f23221e4
Add newlines
2020-08-09 11:16:19 +02:00
Henrik Giesel
ee3d4f5ad8
Avoid extra assignment
2020-08-09 10:38:31 +02:00
Henrik Giesel
f5479edacc
Move reverse url quoting functionality to editor_will_munge_html hook
2020-08-09 10:37:38 +02:00
Henrik Giesel
1b9bd70bb1
Move remove null bytes functionality to editor_will_munge_html hook
2020-08-09 10:35:52 +02:00
Damien Elmes
dd2edee3b3
accept alternate strings file
2020-08-09 14:44:23 +10:00
Damien Elmes
6a0faac407
deauth -> log out
2020-08-09 14:44:03 +10:00
Damien Elmes
b380f304bf
bump version
2020-08-09 13:44:59 +10:00
Damien Elmes
fbdd72817e
Merge pull request #727 from hgiesel/mungehtml
...
Add editor_will_munge_html hook
2020-08-09 13:38:39 +10:00
Damien Elmes
44fd50facb
make sure to reset after deleting empty cards
...
https://anki.tenderapp.com/discussions/private/5067-anki-was-unable-to-open-your-file
2020-08-09 12:42:58 +10:00
Damien Elmes
05e90bcd23
find/replace completer should be case sensitive
...
https://forums.ankiweb.net/t/bug-report-search-and-replace/2037
2020-08-09 12:10:34 +10:00
Henrik Giesel
4720645d1c
Replace functionality of mungeHTML with call to new gui_hook
2020-08-08 23:59:01 +02:00
Henrik Giesel
7f9e560396
Add editor_will_munge_html hook
2020-08-08 23:27:58 +02:00
ANH
7dcd6abba9
add card layout save shortcut
2020-08-06 13:23:17 +03:00
Damien Elmes
2eee4cb04e
avoid internal URLs in alert titlebar
...
https://forums.ankiweb.net/t/anki-stats-no-longer-displaying-invalid-data-found-please-use-check-database-to-fix-the-problem/1902
2020-08-06 09:50:12 +10:00
Damien Elmes
3019d0dfdf
fix Windows packages failing to start
2020-08-06 09:05:26 +10:00
Damien Elmes
18c59c60a4
unnecessary f-string
2020-08-04 17:52:49 +10:00
Damien Elmes
8d6af167cc
catch duplicate keys
2020-08-04 11:52:19 +10:00
Damien Elmes
97bf4da6e8
convert po string extraction to GUI app
2020-08-04 11:21:39 +10:00
Damien Elmes
440aa129d9
disable media get / posts when collection closed
...
https://forums.ankiweb.net/t/countdown-to-events-exams-addon-official-thread/1093/4?u=dae
2020-08-04 10:03:17 +10:00
Damien Elmes
afc375b10f
fix preview options responding to enter key by default
2020-08-03 13:32:38 +10:00
Damien Elmes
d97f6d21b8
fix mobile class emulation
...
should be set on html element
2020-08-03 13:32:10 +10:00
Damien Elmes
5a73641b57
enable strict equality checks in mypy
...
Without it, the following code reports no problems:
def foo() -> int:
return 5
print(foo == 5)
2020-08-03 10:26:40 +10:00
Damien Elmes
d9b6793616
fix automatic logout on auth failure not working
2020-08-03 10:24:49 +10:00
Damien Elmes
a991364bfb
check_untyped_defs can now be enabled globally for aqt
...
A big thanks to Matt and phwoo who put in most of the work to get
to this point.
2020-08-02 10:29:25 +10:00
Damien Elmes
2a36455e88
fix untyped def issues in aqt/utils.py
2020-08-02 10:25:48 +10:00
Damien Elmes
c1ecb7b827
fix untyped def issues in aqt/mediasrv.py
2020-08-02 10:22:21 +10:00
Damien Elmes
5c176b23c4
fix untyped def issues in aqt/__init__.py
2020-08-02 10:22:08 +10:00
Damien Elmes
0787a5d1da
Merge pull request #723 from phwoo/typehints-for-qt-addons
...
Typehints for qt addons
2020-08-02 10:08:48 +10:00
Fabian Wood
d27e33a206
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
3da0737a57
Updated qt addons with more extensive typehints
2020-08-01 15:50:27 +10:00
Matt Krump
f529124bbf
Turn on check_untyped_defs for aqt.progress
2020-07-31 21:00:08 -06:00
Matt Krump
83449e35ad
Turn on check_untyped_defs for aqt.main
2020-07-31 20:34:14 -06:00
Damien Elmes
a8139ebb40
force stdout/stderr encoding to utf8
...
As a GUI app, Anki only uses these for debugging info, and we've been
bitten numerous times in the past by bugs caused by printing Unicode
when the console only supported ASCII. An ens var might have been
a better approach, but Pyinstaller does not support defining them before
Python is initialized from what I can tell.
Latest issue:
https://forums.ankiweb.net/t/crashing-anki-version-2-1-29-bbff62bf/1650
2020-08-01 11:31:22 +10:00
Damien Elmes
06a0b1ee73
pass night mode into body_class() instead of changing globally
2020-07-31 14:47:17 +10:00
Damien Elmes
e2425d3b0d
remove 'invert', as night mode is on when checkbox is on
2020-07-31 14:35:18 +10:00
Damien Elmes
efc19a32a0
fix button display on Macs
2020-07-31 14:23:56 +10:00
Damien Elmes
0ed50394e7
Merge branch 'master' into master
2020-07-31 14:14:10 +10:00
Damien Elmes
f497682e9b
Merge branch 'master' into help-wanted-4-add-type-hints-6
2020-07-31 14:07:59 +10:00
Damien Elmes
628d961ad6
Merge pull request #719 from ANH25/reviewer-hooks
...
Add reviewer_will_play_question_sounds and reviewer_will_play_answer_sounds hooks
2020-07-31 14:06:28 +10:00
Damien Elmes
e759e6ef83
Merge pull request #718 from phwoo/typehints-for-qt-profiles
...
Added typehints for qt profiles
2020-07-31 14:04:29 +10:00
Damien Elmes
0edb043f53
i18n some card template strings
...
https://forums.ankiweb.net/t/untranslated-strings/1623
2020-07-31 13:33:41 +10:00
Damien Elmes
cd72d6807a
refresh tag list after clearing unused
2020-07-31 13:33:41 +10:00
ANH
9b0d509e74
just forgot to regenerate gui_hooks.py to fix typo
2020-07-31 04:47:31 +03:00
ANH
6df4cf765e
fix typo
2020-07-31 04:41:49 +03:00
Matt Krump
10f2f9c037
Turn on check_untyped_defs for aqt.emptycards
2020-07-30 18:43:57 -06:00
Matt Krump
7d8f856060
Turn on check_untyped_defs for aqt.addons
2020-07-30 18:43:57 -06:00
Matt Krump
a56690bc08
Turn on check_untyped_defs for aqt.webview
2020-07-30 18:43:57 -06:00
ANH
b4604873c4
document hooks
2020-07-31 03:06:13 +03:00
ANH
b4b12f1642
add reviewer_will_play_question_sounds and reviewer_will_play_answer_sounds hooks
2020-07-30 22:20:19 +03:00
ANH
43620b0a30
use 'Preview Settings' as a label for the new options button
2020-07-30 18:04:50 +03:00
Fabian Wood
79e8076685
Added typehints for qt profiles
...
* `Any` used for pickle methods, this could probably be improved
with some kind of Callable
* str used for self.base, though this may be a problem for
different OSes. Some type of os.PathLike might be good.
* Line 75, type ignored: mypy was complaining about no. of args,
and kwargs there didn't seem to be needed. Separate issue to test,
though.
2020-07-31 00:56:48 +10:00
ANH
03a80e596a
add night mode and mobile class toggles in card layout screen
2020-07-30 15:39:02 +03:00
Damien Elmes
215413ce25
Merge pull request #715 from phwoo/typehints-for-qt-modelchooser
...
Added typehints to qt/aqt/modelchooser.py, updated qt/mypy.ini
2020-07-30 17:00:58 +10:00
Damien Elmes
f52a25d80a
Merge branch 'master' into add-type-hints-for-qt-models
2020-07-30 16:05:55 +10:00
Fabian Wood
c4f9bf62fd
added typehints to modelchooser, updated mypy.ini
2020-07-30 15:25:25 +10:00
Fabian Wood
e49a00fdeb
added type hints to qt models
2020-07-30 13:28:52 +10:00
Adam Plaice
d6fb4acd38
Re-add previously supported file extensions for media
...
(They had been removed in 2ae342592c
).
2020-07-29 15:08:33 +02:00
Damien Elmes
93ada5d374
Merge pull request #703 from ANH25/master
...
fix help-wanted#13
2020-07-29 14:14:57 +10:00
Damien Elmes
6d0d210130
Merge branch 'master' into help-wanted-4-add-type-hints-5
2020-07-29 13:56:57 +10:00
Damien Elmes
7e7f2d0be4
clearer message when template error is preventing save
2020-07-29 12:53:03 +10:00
Matt Krump
5e6f532f56
Turn on check_untyped_defs for aqt.exporting
2020-07-28 18:42:22 -06:00
Matt Krump
24e7156991
Turn on check_untyped_defs for aqt.editor
...
* Turn on check_untyped_defs for aqt.browser
* Add type hints
2020-07-28 18:42:22 -06:00
Damien Elmes
a239b9330d
Merge pull request #706 from mkrump/help-wanted-4-add-type-hints-4
...
Turn on check_untyped_defs for aqt.taglimit, aqt.update and aqt.browser
2020-07-28 13:16:49 +10:00
Damien Elmes
227703f9fa
bump version
2020-07-28 12:59:56 +10:00
Damien Elmes
f45627dbd3
don't throw error on empty path
...
https://forums.ankiweb.net/t/anki-2-1-28-error-message-when-reviewing-cards/1439
2020-07-27 11:28:32 +10:00
Matt Krump
baa033bc78
Fix browser.py import sorting
2020-07-26 13:16:06 -06:00
Matt Krump
4239c2dfdc
Cast set to list to fix mypy failure in browser.py
2020-07-26 13:00:06 -06:00
Damien Elmes
dbbdd16f0f
apply AltGr workaround on qt 5.14 as well
2020-07-26 10:13:53 +10:00
Matt Krump
b5222f935d
Turn on check_untyped_defs for aqt.browser
...
* Turn on check_untyped_defs for aqt.browser
* Add type hints to browser
2020-07-25 17:31:49 -06:00
Matt Krump
b2cbe10d7e
Turn on check_untyped_defs for aqt.update
...
* Turn on check_untyped_defs for aqt.update
2020-07-25 17:31:44 -06:00
Matt Krump
7356756868
Turn on check_untyped_defs for aqt.taglimit
...
* Add type hints taglimit
* Turn on check_untyped_defs for aqt.taglimit
2020-07-25 15:45:31 -06:00
ANH
671b1c76cb
Merge branch 'master' into master
2020-07-25 05:24:45 +03:00
Damien Elmes
b3ec8046bf
Merge branch 'master' into help-wanted-4-add-type-hints-3
2020-07-25 11:43:46 +10:00
Matt Krump
a844a8b0c5
Add type hints to importing
...
* Add type hints to importing
* Turn on type checking for aqt.importing
2020-07-24 12:38:34 -06:00
Matt Krump
186f1c7720
Add type hints to errors
...
* Add type hints to errors
* Turn on type checking for aqt.errors
2020-07-24 11:20:54 -06:00
Matt Krump
b0dd85f87e
Add type hints to aqt.models
...
* Add type hints to aqt.models
* Turn on type checking for aqt.models
2020-07-24 10:59:45 -06:00
ANH
fd0c3cf57e
add missing string r flag
2020-07-24 09:18:05 +03:00
ANH
da3761341e
formatting
2020-07-24 09:00:34 +03:00
ANH
e122534ba4
avoid string concatenation
2020-07-24 08:12:46 +03:00
Matt Krump
b3b4d23f9d
Add type hints for apt.deckconf
...
* Add type hints for apt.deckconf
* Turn on check_untyped_defs for apt.deckconf
2020-07-23 21:53:12 -06:00
ANH
eaf935c3ff
fix ankitects/help-wanted#13
2020-07-24 06:00:55 +03:00
Damien Elmes
61e8611b7b
fix lint issue in previewer, and drop unused code
...
No add-ons appear to be using the removed code, and Anki wasn't
using it either.
2020-07-24 12:18:37 +10:00
Damien Elmes
2cba721702
formatting and debug statement tweak
2020-07-24 11:57:37 +10:00
Damien Elmes
26426cb11e
fix preview not updating on edit
...
https://forums.ankiweb.net/t/modification-and-preview/1331
2020-07-24 11:57:22 +10:00
Damien Elmes
c3266ea060
enable AltGr workaround by default
...
5.15.1 may still be another month away
2020-07-24 10:32:50 +10:00
Damien Elmes
80a2bfa642
ask user to check db when graphs fail to load
2020-07-24 09:56:28 +10:00
Damien Elmes
ad628d0f36
Merge pull request #702 from mkrump/help-wanted-4-add-type-hints
...
Add type hints for apt.dyndeckconf
2020-07-24 09:01:07 +10:00
Matt Krump
4bc98cd0ca
Add type hints for apt.dyndeckconf
...
* Add type hints for apt.dyndeckconf
* Turn on check_untyped_defs for apt.dyndeckconf
2020-07-23 16:04:46 -06:00
kelciour
f2027cca96
Add --no-autoload-files option to mpv
2020-07-23 14:28:47 +03:00
Damien Elmes
2ff1a27b04
fix misaligned deck heading in RTL languages
...
https://forums.ankiweb.net/t/anki-2-1-29-beta/1220/2?u=dae
2020-07-22 11:00:39 +10:00
Damien Elmes
1b441f5050
fix pylint failing in CI
2020-07-21 16:16:34 +10:00
Damien Elmes
86fc7446b0
protect against exception on initial recording wait
2020-07-21 16:07:58 +10:00
Damien Elmes
412f1777bd
bump version
2020-07-21 15:54:14 +10:00
Damien Elmes
3337c96fdb
trigger recording permission on newer macOS SDKs
2020-07-21 15:54:04 +10:00
Damien Elmes
1e6a37e0e6
formatting
2020-07-21 14:17:56 +10:00
Damien Elmes
01ff6ab55d
apply rtl dir to webviews
...
https://forums.ankiweb.net/t/gui-problems-with-right-to-left-languages/1205
2020-07-21 11:52:25 +10:00
Damien Elmes
b5cbfe3bbb
full sync terminates media sync; start it again afterwards
...
https://forums.ankiweb.net/t/media-files-not-downloaded-in-first-full-sync-v2-1-28/1198/3
2020-07-21 11:26:41 +10:00
Damien Elmes
67abb98993
Merge pull request #692 from Arthur-Milchior/remove_useles_variables
...
Remove useless variables
2020-07-20 11:35:40 +10:00
Damien Elmes
c203410307
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
f22aa4c199
catch SIGTERM, and respond more quickly
2020-07-18 11:26:04 +10:00
Arthur Milchior
452daf8d80
Remove useless variables
2020-07-17 08:38:48 +02:00
Damien Elmes
bfbab8b498
i18n downgrade&quit button
2020-07-17 15:06:14 +10:00
Damien Elmes
f741b05f56
Merge pull request #690 from glutanimate/stats-will-show-hooks
...
Add a couple of hooks to trigger add-on actions before showing stats
2020-07-17 14:38:41 +10:00
Glutanimate
0fedf5c825
Fix type annotation for old stats dialog class
2020-07-17 03:08:09 +02:00
Glutanimate
b89811bfba
Add a couple of hooks to trigger add-on actions before showing stats
2020-07-16 21:48:46 +02:00
Glutanimate
fe81da9b8a
Make sure to set domDone to False before loading URLs
...
Fixes an issue where JS would be evaluated prematurely in views
directly loaded from URLs.
2020-07-16 19:56:57 +02:00
Damien Elmes
2824be25f0
formatting
2020-07-16 13:55:53 +10:00
Damien Elmes
fa239be124
add platform version back into sync metadata
2020-07-16 10:12:41 +10:00
Damien Elmes
320b56ae43
can't rely on stdout to handle unicode
2020-07-15 09:36:29 +10:00
Damien Elmes
eb91ff7421
Revert "Added parameter/return types, fixed possible logic error and typo"
2020-07-13 21:25:44 +10:00
Damien Elmes
5c6ca55e42
Merge pull request #686 from zerrs/master
...
Added parameter/return types, fixed possible logic error and typo
2020-07-13 21:25:16 +10:00
Damien Elmes
2af1d68b05
Update customstudy.py
2020-07-13 21:24:18 +10:00
Damien Elmes
c3800b6f9a
Merge pull request #684 from flagist0/select-note-type-with-ctrl-plus-digit-key
...
Allow to choose note type from list by pressing ctrl + row number
2020-07-13 21:23:35 +10:00
Alexander Presnyakov
364725a528
Don't call setCurrentRow if row didn't change
2020-07-13 12:33:36 +03:00
zzzz
d6d952d0fd
Added some return and parameter types in customstudy.py, also fixed a possible logic error in plus function and a small typo
2020-07-13 01:32:08 -04:00
kelciour
ef1d61e35c
Scroll media sync log to the last line
2020-07-13 03:06:44 +03:00
Alexander Presnyakov
e092dadc9a
Allow to choose note type from list by pressing ctrl + row number
2020-07-12 22:15:58 +03:00
Damien Elmes
bc5b6dfb63
mediasrv symlink fix
...
https://forums.ankiweb.net/t/anki-2-1-28-beta/629/39
2020-07-11 10:53:41 +10:00
Glutanimate
15fd3a4856
Add top_toolbar_did_redraw hook
...
Notifies add-ons of the top toolbar being redrawn
2020-07-10 17:38:40 +02:00
Damien Elmes
93425be839
formatting
2020-07-07 13:28:30 +10:00
Damien Elmes
85cbd263da
tidy up logging
2020-07-07 10:50:12 +10:00
Damien Elmes
4ab9d04c95
if webexports does not match, return 403
2020-07-07 10:50:03 +10:00
evandrocoan
121725390d
Fix _addons/ URL prefix not being removed on Windows systems
...
Anki 2.1.28 Beta
https://forums.ankiweb.net/t/anki-2-1-28-beta/629/26
> Did the requirements on how to expose resources on the internal server change? Because scripts, css files and the like, registered with setWebExports, do not work anymore with beta2.
> A look at the console shows the following for all resources:
> Failed to load resource: the server responded with a status of 500 (INTERNAL SERVER ERROR)
**\Anki2\addons21\someaddon\__init__.py**
```py
from aqt import mw
import aqt
# assuming add-on folder is named "test"
# and assuming a 'test.js' is in the same folder
addon_id = "someaddon"
port = mw.mediaServer.getPort()
mw.addonManager.setWebExports(addon_id, ".*\\.js$")
print("Hello")
aqt.editor._html += f"""
<script>
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://127.0.0.1:{port}/_addons/{addon_id}/test.js ';
document.body.appendChild(script);
</script>"""
```
2020-07-06 13:51:37 -03:00
Andreas Reis
e8ddd17fec
Always use standard QT color dialog on Linux
...
On Linux only Gnome uses its own color dialog, and it's inferior to QT's own: See the same issue @ https://github.com/OpenShot/openshot-qt/pull/2425
(This is/was visible only on some distributions' packaged versions of Anki, not via ./run.)
isLin check since QT on Windows already uses the default, whereas Mac's own picker seems superior (from what I can judge by screenshots).
2020-07-05 13:21:38 +02:00
Damien Elmes
4033f00988
don't stuff mw into function objects
...
Using the global is preferable to fighting against mypy to insert mw
into a function object.
2020-07-03 10:55:29 +10:00
Damien Elmes
14602be0ca
port previous css workaround to flask
2020-07-03 10:40:23 +10:00
Damien Elmes
e45c939649
Merge pull request #554 from evandroforks/fix_html5_media_support
...
Fixed HTML5 media tags
2020-07-03 10:25:43 +10:00
evandrocoan
476b881987
Replaced flask.Response by flask.make_response to simplify the
...
implementation and because make_response is preferred over Response
as it respects the server defined Response type.
2020-07-02 20:39:03 -03:00
evandrocoan
a99e455414
Removed duplicated mediasrv.py security check and fixed invalid
...
command/path error message.
2020-07-02 20:39:03 -03:00
evandrocoan
1218d109e8
Fix jest unit tests after merge
...
# Conflicts:
# qt/aqt/mediasrv.py
# qt/ts/src/ankimedia.ts
# qt/ts/src/reviewer-exceptions.test.ts
# qt/ts/src/reviewer.test.ts
# ts/package.json
2020-07-02 14:30:43 -03:00
evandrocoan
0142ac3ca2
Replaced send_from_directory by send_file to simplify the code
2020-07-02 13:52:07 -03:00
evandrocoan
1e6fa5f8eb
Ensure protection against directory transversal
...
https://security.openstack.org/guidelines/dg_using-file-paths.html
2020-07-02 13:52:03 -03:00
evandrocoan
be10da58d9
Fixed aqt/mediasrv.py:14: error: unused 'type: ignore' comment
...
from waitress.server import create_server # type: ignore
https://github.com/evandroforks/anki/runs/743801391#step:25:1129
2020-07-02 13:51:59 -03:00
evandrocoan
020415efb9
Replaced the mediasrv.py SimpleHttp server by flask and waitress,
...
fixing HTML5 media support.
https://stackoverflow.com/questions/37044064/html-audio-cant-set-currenttime
https://stackoverflow.com/questions/21956683/enable-access-control-on-simple-http-server
https://stackoverflow.com/questions/5052635/what-is-relation-between-content-length-and-byte-ranges-in-http-1-1
https://stackoverflow.com/questions/16725907/google-app-engine-serving-mp3-for-audio-element-needs-content-range-header
I was trying to use HTML5 audio tag to display audios like:
```html
<audio id="elem_audio" src="myfile.mp3" controls></audio>
```

But the progress bar seek was not working. After researching, I found the problem was the HTML server not properly responding to the HTML5 header requests. The HTML server should respond to quite complicated things as 206 partial, properly handle keep-alive, provide media ranges and other HTTP headers: https://stackoverflow.com/questions/37044064/html-audio-cant-set-currenttime
To implement all these on the Simple HTTP server would be quite complicated. Then, instead, I imported the `flask` web server, which is quite simple and straight forward to use. Now, the back-end is using a secure complaint HTTP back-end:
1. https://palletsprojects.com/p/flask/
> Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. It began as a simple wrapper around Werkzeug and Jinja and has become one of the most popular Python web application frameworks.
>
> Flask offers suggestions, but doesn't enforce any dependencies or project layout. It is up to the developer to choose the tools and libraries they want to use. There are many extensions provided by the community that make adding new functionality easy.
1. https://docs.pylonsproject.org/projects/waitress/en/latest/
> Waitress is meant to be a production-quality pure-Python WSGI server with very acceptable performance. It has no dependencies except ones which live in the Python standard library. It runs on CPython on Unix and Windows under Python 2.7+ and Python 3.5+. It is also known to run on PyPy 1.6.0 on UNIX. It supports HTTP/1.0 and HTTP/1.1.
Right now, anki does not support fields passing file names directly to HTML audio tags, but this can be easily done with (https://github.com/ankitects/anki/pull 540 - Added arguments to the sound tag) plus the commit 826a97df61
, the HTML5 audio tag can be used like this:
```html
// Audio = [sound:myfile.mp3|onlyfilename]
<audio id="elem_audio" src="{{Audio}}" controls controlsList="nodownload"></audio>
```

# Conflicts:
# qt/aqt/mediasrv.py
2020-07-02 13:51:49 -03:00
Damien Elmes
48b6510aef
dump error on profile load fail
...
may help diagnose
https://forums.ankiweb.net/t/i-couldnt-open-anki-resetting-corrupt-global/190
2020-07-02 10:35:01 +10:00
Damien Elmes
04b1ca7559
defer top toolbar drawing until after add-ons loaded
...
https://forums.ankiweb.net/t/anki-2-1-28-beta/629/13
2020-07-02 10:23:14 +10:00
Damien Elmes
dfda5750a1
add new strings to .po files as part of template update
...
Pontoon appears to only update existing gettext translations; it
won't add new ones on its own. Fixes
https://forums.ankiweb.net/t/anki-2-1-28-beta/629/6
2020-07-02 10:03:39 +10:00
Damien Elmes
97869d0f57
fix scrollbars on fields on Windows/Linux
2020-07-02 09:51:50 +10:00
Damien Elmes
4d23a69e9a
formatting
2020-07-01 14:01:24 +10:00
Damien Elmes
6db954fbbe
don't allow table inside field to extend outside of field
...
https://anki.tenderapp.com/discussions/private/4498-adjust-textbox-geometry-in-add-note-window
2020-07-01 12:13:04 +10:00
Damien Elmes
bedd9dadb1
add option to disable media syncing
...
https://forums.ankiweb.net/t/error-when-adding-audio-file/495/2
2020-07-01 11:35:24 +10:00
Damien Elmes
05fb67d409
show clearer error when media db locked
...
should not happen frequently during a sync, but may happen during
the initial change checking stage
https://forums.ankiweb.net/t/error-when-adding-audio-file/495/2
2020-07-01 11:19:06 +10:00
Damien Elmes
40f270c386
shift+click on the graphs button to access old graphs for now
2020-06-30 20:07:46 +10:00
Damien Elmes
101deb002b
graphs now work in night mode
2020-06-30 16:23:46 +10:00
Damien Elmes
f3febea4b0
update edited/changed column labels
...
https://github.com/ankitects/anki/pull/674/files
2020-06-29 18:34:03 +10:00
Damien Elmes
52cd9fc4b8
plug new graphs code into GUI
...
Still some work to do. Feedback welcome!
2020-06-29 15:53:56 +10:00