RumovZ
a528106af0
Keep source ids of imported deck configs (or skip)
2022-04-09 15:52:23 +02:00
RumovZ
7798b78c7d
Wrap apkg import in transaction
2022-04-09 15:35:16 +02:00
RumovZ
1ba5444d7d
Make adding notetype with id undoable
2022-04-09 12:31:23 +02:00
RumovZ
2a15ba5404
Try to keep source ids of imported notes
2022-04-09 11:40:36 +02:00
RumovZ
5a76d2211a
Keep source ids of imported revlog (or skip)
2022-04-09 10:17:28 +02:00
RumovZ
a0604a2e51
Keep source id of imported cards (or skip)
2022-04-09 09:49:36 +02:00
RumovZ
726438d1c5
Add roundtrip test for apkg (stub)
2022-04-08 22:09:45 +02:00
RumovZ
fef4a6d6fe
Test new functions in text.rs
2022-04-08 22:06:54 +02:00
RumovZ
44d727a693
Fix search_cards_of_notes_into_table()
2022-04-08 19:15:20 +02:00
RumovZ
d6134748f2
Fix signature of import_apkg()
2022-04-08 18:57:01 +02:00
RumovZ
468c0286f9
Use dyn instead of generic for media_fn
...
Otherwise, would have to pass None with type annotation in the default
case.
2022-04-08 18:46:40 +02:00
RumovZ
08791e24fc
Add import_cards(), import_revlog()
2022-04-08 18:12:37 +02:00
RumovZ
ffdd8b741e
Add import_deck_configs()
2022-04-08 10:52:12 +02:00
RumovZ
7520afd9c5
decks_configs → deck_configs
2022-04-08 10:41:33 +02:00
RumovZ
5cf1705784
Add import_decks()
2022-04-08 10:34:49 +02:00
RumovZ
48bc6627b1
Note id, not guid of conflicting notes
2022-04-07 21:08:17 +02:00
RumovZ
94a6cdd6ed
Add notes immediately instaed of preparing
2022-04-07 20:49:42 +02:00
RumovZ
b9c19273fc
Move target_col into Context
2022-04-07 19:04:24 +02:00
RumovZ
9527322231
Add notetypes immediately instaed of preparing
2022-04-07 18:58:11 +02:00
RumovZ
5bfd47e415
Add trait to keep down cow boilerplate
2022-04-07 16:01:01 +02:00
RumovZ
cd4865dd18
Handle encoding in replace_media_refs()
2022-04-07 12:51:26 +02:00
RumovZ
7583a7e6b3
Prepare media based on checksums
...
- Ensure all existing media files are hashed.
- Hash incoming files during preparation to detect conflicts.
- Uniquify names of conflicting files with hash (not notetype id).
- Mark media files as used while importing notes.
- Finally copy used media.
2022-04-07 12:45:02 +02:00
RumovZ
a0085e7fd4
Add SafeMediaEntry for deserialized MediaEntries
2022-04-06 23:21:32 +02:00
RumovZ
efde7c7acc
Refactor import-export/package
...
- Move media and meta code into appropriate modules.
- Normalize/check for normalization when deserializing media entries.
2022-04-06 18:02:02 +02:00
RumovZ
80dc3ae99e
Fix due dates in days for apkg export
2022-04-06 12:31:29 +02:00
RumovZ
6836da07ec
Start on apkg importing on backend
2022-04-05 18:15:51 +02:00
RumovZ
fce797cb47
search_notes_cards_into_table →
...
search_cards_of_notes_into_table
2022-03-31 18:23:18 +02:00
RumovZ
4aa5ee5fb4
Ignore ascii case when filtering system tags
2022-03-31 18:20:11 +02:00
RumovZ
fbc21da913
ExportData → ExchangeData
2022-03-31 12:53:36 +02:00
RumovZ
71670a065d
Use schedule_as_new() to reset cards
2022-03-31 10:39:52 +02:00
RumovZ
bd14ccf2a3
Merge remote-tracking branch 'upstream/HEAD' into apkg
2022-03-31 10:28:16 +02:00
RumovZ
97c9dd4c18
Use temporary tables for gathering
...
export_apkg() now accepts a search instead of a deck id. Decks are
gathered according to the matched notes' cards.
2022-03-31 10:24:09 +02:00
Damien Elmes
6718e67883
Update translations
2022-03-31 14:48:08 +10:00
Damien Elmes
6df63f8643
Tweak cloze deletion labels
2022-03-31 14:47:51 +10:00
RumovZ
dc36a08f3a
Also restore/keep position of new cards ( #1760 )
...
* Also restore/keep position of new cards
* Refactor Card::last_position()
2022-03-31 14:31:13 +10:00
Damien Elmes
9d64afc7bc
Handle gaps in media in colpkg imports
...
Our old Python code was also skipping numbers when it encountered a
directory, leading to a colpkg that couldn't be imported with our new
code.
2022-03-31 13:32:38 +10:00
Henrik Giesel
5b1fcccf33
Add extra button group for cloze commands ( #1756 )
...
* First attempt at adding a directory for icons under //ts
* Fix image import
* Fix import order
* Add cloze button group
* Fix issue with toolbar.toolbar dynamically slottable
* Change tooltip for repeating cloze deletion
* Fix repeat cloze button not working on macOS (dae)
2022-03-31 13:30:00 +10:00
Henrik Giesel
7f737b60c6
Fix infinite update loop in editor with invalid input HTML ( #1761 )
...
* Use async function in PlainTextInput
* Clean up PlainTextInput
* Refactor logic from {Rich,Plain}TextInput into own files
* Remove prohibited tags on content.subscribe which also parses the html
2022-03-31 11:17:13 +10:00
RumovZ
d1dd0586bd
Only store file folder once in MediaIter
2022-03-30 21:37:02 +02:00
RumovZ
a46026f283
Accept func to produce MediaIter in export_apkg()
2022-03-30 21:20:34 +02:00
RumovZ
112ad118ab
Reuse filename_is_safe/check_filename_safe()
2022-03-30 19:33:53 +02:00
RumovZ
3c17d37d26
Revert changes to rslib/src/tags/
2022-03-30 11:23:30 +02:00
Damien Elmes
f0dc6e103f
Fix "repeat cloze" shortcut regression
...
Closes #1748 again.
2022-03-30 14:52:16 +10:00
Damien Elmes
39c3a8e104
Add Daniel to about screen
...
As always, anyone who has contributed and is missing, please let me
know, or send through a PR.
2022-03-30 13:49:07 +10:00
RumovZ
aab518d4d9
Merge remote-tracking branch 'upstream/main' into apkg
2022-03-29 16:52:41 +02:00
RumovZ
84c5ac8a0a
Gather export data instead of copying directly
2022-03-29 16:47:57 +02:00
RumovZ
7d1686e272
Make TagMatcher::new() infallible
2022-03-29 16:44:40 +02:00
Damien Elmes
91ca5090aa
Don't attempt to localize numbers in SpinBoxFloat
...
Issue report:
https://forums.ankiweb.net/t/anki-2-1-50-beta-6-release-candidate/18181/71
Localization was added in #1566 . It works fine in the Qt5 build, but
the Qt6 build appears broken. This appears to be a change in Chromium,
and the latest Chrome has the same issue. Whether it's a legitimate bug
on their end, a deliberate change in behaviour, or we're doing something
wrong, I do not know.
2022-03-29 14:45:18 +10:00
Damien Elmes
ebe33a993c
Update translations
2022-03-29 10:53:45 +10:00
RumovZ
ab57fa484b
Fix SearchBuilder ( #1754 )
...
* Fix missing search grouping
* Fix SearchBuilder::or_join
* Unify search concatenations
2022-03-29 10:53:02 +10:00