Damien Elmes
5d4e50c39e
fix Qt translations in macOS packaged build
2021-02-04 20:28:25 +10:00
Damien Elmes
51ac1ea935
turn top bar dark when night mode enabled on macOS
2021-02-04 19:19:56 +10:00
Damien Elmes
2f9dea13ac
fix broken card styling fix :-)
2021-02-03 22:32:55 +10:00
Damien Elmes
efb2ce77ed
fix broken card styling
2021-02-03 22:22:12 +10:00
Damien Elmes
708f60ee1b
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
69f5dcb47d
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
e6d9dd6a82
Merge pull request #973 from hgiesel/mathjaxerror
...
Render error if MathJax raises error
2021-02-03 13:09:12 +10:00
Henrik Giesel
b6cfccda67
Move copy_page to ts/copy.bzl and rename to copy_files_into_group
2021-02-02 18:20:11 +01:00
Henrik Giesel
6af6d7dbb6
Render error if MathJax raises error
2021-02-02 18:11:16 +01:00
Henrik Giesel
7b38b1ff51
Remove unused imports
2021-02-02 17:13:35 +01:00
Henrik Giesel
4ca24f1d84
Use new note.ephemeral_card method in clayout
2021-02-02 16:47:25 +01:00
Damien Elmes
6c60a27c8b
add remaining types and disable missing types on (almost) all aqt
2021-02-03 00:00:29 +10:00
Damien Elmes
9702532fc4
more typing updates
2021-02-02 23:31:55 +10:00
Damien Elmes
8abae9aa49
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
de2c7f3e38
Merge pull request #970 from RumovZ/cleanup-967
...
Cleanup 967
2021-02-02 22:03:43 +10:00
abdo
09729057e2
Add checkpoints for sidebar drag & drop routines
...
Also save note and reset browser model
2021-02-02 14:58:44 +03:00
Damien Elmes
06fda14999
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
28a954e77f
Remove standard button translations
2021-02-02 11:57:35 +01:00
Damien Elmes
aad0d9b7b6
auto-expand items while dragging
2021-02-02 20:14:14 +10:00
Damien Elmes
957e781484
add tag drag & drop support
2021-02-02 20:14:04 +10:00
Damien Elmes
9ef0a1e070
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
c5704e6102
collapsed->expanded in other tag uses for consistency
2021-02-02 18:52:57 +10:00
Damien Elmes
99d6247333
collapsed->expanded in TagTreeNode
2021-02-02 18:52:57 +10:00
RumovZ
af7aa4c21d
Add docstring to browser.__ini__
2021-02-02 09:48:55 +01:00
RumovZ
03ed76020f
Disallow untyped defs for dyndeckconf
2021-02-02 09:40:05 +01:00
RumovZ
45739cbc64
Remove actionCreateFilteredDeck2 and use modifier
2021-02-02 09:29:09 +01:00
Damien Elmes
ee2e68fa6b
remove sidebar margins
2021-02-02 16:35:42 +10:00
Damien Elmes
5c25a71634
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
14927c2465
Hide sidebar items when there is no match
2021-02-02 05:41:45 +03:00
abdo
1b72e142a7
Add more sidebar section roots
2021-02-02 04:51:45 +03:00
Damien Elmes
a1a70b1809
fix sync warning caused by mistake in typing work
2021-02-02 10:43:49 +10:00
Damien Elmes
b2c9030a58
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
8d8a2e49fd
Add remaining type hints to dyndeckconf etc.
2021-02-01 23:46:56 +01:00
RumovZ
b21d1dcbc0
Merge branch 'master' into dyn-deckconf
2021-02-01 23:33:41 +01:00
RumovZ
7b39fb6484
Rename standard buttons to have transaltions
2021-02-01 23:20:57 +01:00
RumovZ
99ffc08dbf
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
3e30bd4610
Enable renaming from dyndeck dialogue
2021-02-01 21:02:22 +01:00
RumovZ
320b82aae6
Add cross links for second dyndeck filter
2021-02-01 19:10:05 +01:00
RumovZ
fbc5de4596
Style browser-from-filtered-deck button
...
Use theme color and add hover effect.
2021-02-01 18:01:57 +01:00
abdo
5c24e57734
Expand sidebar match trees one level
...
See 03eab6b646
2021-02-01 19:12:43 +03:00
Damien Elmes
748aeb9df1
add a bunch of return types
2021-02-01 23:53:23 +10:00
RumovZ
b76632eb62
Add button in dynDeckConf to search in browser
2021-02-01 13:55:03 +01:00
Damien Elmes
83892eac51
add types to various other files
...
Mainly automated with MonkeyType
2021-02-01 22:08:56 +10:00
RumovZ
ef413b90c6
Rename "Filtered Deck from Current Filter"
2021-02-01 12:09:37 +01:00
Damien Elmes
8be63cb902
add some types to main.py
2021-02-01 20:59:18 +10:00
RumovZ
27609a784f
Change filtered-deck shortcut in browser to Ctrl+G
2021-02-01 11:59:16 +01:00
RumovZ
d57d0f977b
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
8dc5ea8bb6
add types to utils.py
...
The function signatures for things like getFile() are awful, but
sadly are used by a bunch of add-ons.
2021-02-01 20:23:48 +10:00
RumovZ
aa6cf51527
Fix pylints and type annotations in dyndeckconf
...
Also fix int representation of learning steps.
2021-02-01 09:56:10 +01:00
RumovZ
2a82e43c0b
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
dc261c5abf
add helper script to run mypy daemon
2021-02-01 17:29:03 +10:00
Damien Elmes
34935bf478
add types to editor.py
2021-02-01 17:28:35 +10:00
Damien Elmes
b3f9d12606
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
fe0d6b3a10
add missing types to sidebar.py
2021-02-01 09:51:46 +10:00
Damien Elmes
2070847868
add missing types to browser.py
2021-02-01 09:39:55 +10:00
RumovZ
90e1a75dd6
Add current-filter-to-filtered-deck action
2021-01-31 23:16:49 +01:00
RumovZ
23d1481d34
Make dyndeckconf a registered dialogue
2021-01-31 22:37:08 +01:00
Henrik Giesel
9f3403d704
Move editor css to editor directory
2021-01-31 19:03:40 +01:00
RumovZ
53513f371f
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
978258067b
Move editor to /ts/editor
2021-01-31 14:15:03 +01:00
Henrik Giesel
e667191899
Fix type issues
2021-01-31 13:34:39 +01:00
Henrik Giesel
aba2506394
Make editor a rollup package
2021-01-31 13:34:37 +01:00
RumovZ
632ad14801
Remove protobuf filters whole_col and current_deck
2021-01-31 11:12:49 +01:00
Damien Elmes
56a75c07dc
add public wrappers for remaining backend functions
2021-01-31 18:56:16 +10:00
Damien Elmes
ebfc9d1915
move rsbridge into _backend
2021-01-31 18:55:45 +10:00
Damien Elmes
a6be0f493b
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
4cb9bf7326
Add missing sidebar onClicks
2021-01-31 08:56:34 +01:00
Damien Elmes
9a697fd843
Merge branch 'more-backend-search' into main
2021-01-31 14:21:51 +10:00
Damien Elmes
86713be79c
disable multiple selection for now
2021-01-31 14:02:38 +10:00
Damien Elmes
3708d28d0c
disable dragging of unsupported items
2021-01-31 13:46:31 +10:00
Damien Elmes
1e573003e9
support dragging multiple decks at once
2021-01-31 13:46:31 +10:00
Damien Elmes
3a06fd2808
add missing check for on_done==None in with_progress()
2021-01-31 13:46:31 +10:00
Damien Elmes
0f8b0df491
support drag&drop of decks in sidebar
2021-01-31 13:46:31 +10:00
Damien Elmes
5710e4bbd0
move drag/drop deck logic to backend
2021-01-31 13:46:31 +10:00
RumovZ
d3d18d34c5
Remove search button and reword search bar hint
2021-01-30 19:23:40 +01:00
RumovZ
2539747115
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
cdabb0ecbe
Replace leftover _named_filter with _filter_func
2021-01-30 17:39:21 +01:00
Henrik Giesel
a94bcbcc74
Fix focus on first field upon opening editor
2021-01-30 14:20:14 +01:00
RumovZ
353355fb15
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
540338cea3
Import SearchTerm from collection in aqt
2021-01-30 12:51:24 +01:00
RumovZ
a20ee1c844
Fix type annotations in browser search
2021-01-30 11:24:33 +01:00
RumovZ
9a1ff40b65
Update docstrings for browser search
2021-01-30 11:05:48 +01:00
RumovZ
fd07ef212a
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
747075e9a7
Merge pull request #957 from hgiesel/fieldsshadow
...
Implement editor as Web Component
2021-01-30 15:13:58 +10:00
Damien Elmes
190922666b
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
2f1bbd44d2
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
f6f537e89f
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
cf1e2a2c0d
export SearchTerm from collection.py, and avoid exporting embedded items
2021-01-30 11:01:11 +10:00
Damien Elmes
b34d128560
rename FilterToSearchIn in backend to match frontend
2021-01-30 10:54:21 +10:00
Damien Elmes
dbe852431f
use a separate enum for the is:* searches
2021-01-30 10:49:00 +10:00
Damien Elmes
e3f2b77c5b
combine forgot_in_days and studied_today into a more general 'rated'
2021-01-30 10:26:23 +10:00
Damien Elmes
873bf7f505
Merge pull request #958 from hgiesel/zindexedtopbar
...
Make sticky topbar have a positive z-index
2021-01-30 09:14:50 +10:00
RumovZ
cad57423c5
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
df22e51d02
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
44351bc997
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
c44c1513a3
Reorder methods / properties
2021-01-29 20:13:02 +01:00
Henrik Giesel
da79acf685
Remove unnecessarily observed attribute
2021-01-29 20:11:00 +01:00
Henrik Giesel
9771b5394c
Add semicolon in js message
2021-01-29 19:48:17 +01:00
Henrik Giesel
e7a49d5c48
Make forEditorField more cheaper to execute by avoiding casting to Array
2021-01-29 19:38:55 +01:00
RumovZ
c7365abc9e
Refactor search_string() and FilterToSearchIn
...
See #955 .
2021-01-29 18:27:33 +01:00