Anki/qt/aqt
RumovZ 6da5e5b042
CSV import/export fixes and features (#1898)
* Fix footer moving upwards

* Fix column detection

Was broken because escaped line breaks were not considered.
Also removes delimiter detection on `#columns:` line. User must use tabs
or set delimiter beforehand.

* Add CSV preview

* Parse `#tags column:`

* Optionally export deck and notetype with CSV

* Avoid clones in CSV export

* Prevent bottom of page appearing under footer (dae)

* Increase padding to 1em (dae)

With 0.5em, when a vertical scrollbar is shown, it sits right next to
the right edge of the content, making it look like there's no right
margin.

* Experimental changes to make table fit+scroll (dae)

- limit individual cells to 15em, and show ellipses when truncated
- limit total table width to body width, so that inner table is shown
with scrollbar
- use class rather than id - ids are bad practice in Svelte components,
as more than one may be displayed on a single page

* Skip importing foreign notes with filtered decks

Were implicitly imported into the default deck before.
Also some refactoring to fetch deck ids and names beforehand.

* Hide spacer below hidden field mapping

* Fix guid being replaced when updating note

* Fix dupe identity check

Canonify tags before checking if dupe is identical, but only add update
tags later if appropriate.

* Fix deck export for notes with missing card 1

* Fix note lines starting with `#`

csv crate doesn't support escaping a leading comment char. :(

* Support import/export of guids

* Strip HTML from preview rows

* Fix initially set deck if current is filtered

* Make isHtml toggle reactive

* Fix `html_to_text_line()` stripping sound names

* Tweak export option labels

* Switch to patched rust-csv fork

Fixes writing lines starting with `#`, so revert 5ece10ad05.

* List column options with first column field

* Fix flag for exports with HTML stripped
2022-06-09 10:28:01 +10:00
..
browser Add the previewer_did_init hook (#1882) 2022-05-19 11:10:12 +10:00
data Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
forms CSV import/export fixes and features (#1898) 2022-06-09 10:28:01 +10:00
import_export CSV import/export fixes and features (#1898) 2022-06-09 10:28:01 +10:00
operations Add apkg import/export on backend (#1743) 2022-05-02 21:12:46 +10:00
qt Fix custom browser font not being honored 2022-04-21 13:28:22 +10:00
__init__.py Only require ANKI_WAYLAND if frozen 2022-04-20 19:41:41 +10:00
_macos_helper.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
about.py Fix issue #1114 by scrolling the user to the top of the page (#1810) 2022-04-19 15:39:32 +10:00
addcards.py Simplify name (#1620) 2022-01-24 11:55:15 +10:00
addons.py Fix a number of bugs with add-on conflict resolution (#1780) 2022-04-09 13:51:59 +10:00
BUILD.bazel run buildifier/buildozer to tidy up BUILD files 2021-12-14 09:18:24 +10:00
changenotetype.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
clayout.py Add the av_player_will_play_tags hook (#1842) 2022-05-09 11:08:34 +10:00
colors.py fix generated code symlinks again 2022-01-24 16:59:37 +10:00
customstudy.py Rework display of available cards in custom study 2022-05-20 17:52:02 +10:00
dbcheck.py Backup improvements (#1728) 2022-03-21 19:40:42 +10:00
deckbrowser.py Remove .exec() from QMenus in Deck Browser, Reviewer, and Card Template screens (#1674) 2022-02-18 17:18:29 +10:00
deckchooser.py Make dialogs non-blocking (#1650) 2022-02-10 09:53:13 +10:00
deckconf.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
deckdescription.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
deckoptions.py Remove .exec() from QMenus in Deck Browser, Reviewer, and Card Template screens (#1674) 2022-02-18 17:18:29 +10:00
editcurrent.py PEP8 editorMode 2022-01-12 15:01:43 +10:00
editor.py Make editor.cleanup() idempotent 2022-05-25 22:04:50 +10:00
emptycards.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
errors.py Add apkg import/export on backend (#1743) 2022-05-02 21:12:46 +10:00
exporting.py CSV import/export fixes and features (#1898) 2022-06-09 10:28:01 +10:00
fields.py Clean up webview after fields dialog closed 2022-03-04 17:23:28 +10:00
filtered_deck.py Fix various leaks (#1672) 2022-02-18 19:00:12 +10:00
flags.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
gui_hooks.py fix qt/ pylints 2021-01-07 16:21:50 +10:00
hooks_gen.py fix generated code symlinks again 2022-01-24 16:59:37 +10:00
importing.py Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
legacy.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
main.py Rework display of available cards in custom study 2022-05-20 17:52:02 +10:00
mediacheck.py Add the media_check_did_finish hook (#1889) 2022-05-27 16:25:34 +10:00
mediasrv.py Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
mediasync.py Add progress.single_shot() (#1683) 2022-02-24 21:15:56 +10:00
modelchooser.py Add callback and non-blocking option to StudyDeck (#1643) 2022-02-07 22:05:59 +10:00
models.py Fix kwin hanging when adding new notetype 2022-06-03 11:23:41 +10:00
mpv.py update platform checks (eg isWin -> is_win) + devMode 2021-11-25 09:06:16 +10:00
notetypechooser.py Make dialogs non-blocking (#1650) 2022-02-10 09:53:13 +10:00
overview.py Move custom study tag and limit gathering+saving into the backend 2022-03-10 16:23:03 +10:00
package.py ignore a spurious mypy error 2021-10-28 19:19:37 +10:00
pinnedmodules.py update platform checks (eg isWin -> is_win) + devMode 2021-11-25 09:06:16 +10:00
preferences.py Expose new import/export code via prefs checkbox 2022-06-02 16:50:32 +10:00
profiles.py Add apkg import/export on backend (#1743) 2022-05-02 21:12:46 +10:00
progress.py Avoid progress window pop-up when application not focused 2022-05-26 12:35:39 +10:00
py.typed mark anki and aqt modules as having typing info 2020-01-13 13:03:37 +10:00
reviewer.py Add the reviewer_will_replay_recording hook (#1877) 2022-05-18 13:44:56 +10:00
schema_change_tracker.py add a bunch of return types 2021-02-01 23:53:23 +10:00
sound.py Fix duplicate Anki icons appearing in dock 2022-05-26 11:05:36 +10:00
stats.py Fix issue #1114 by scrolling the user to the top of the page (#1810) 2022-04-19 15:39:32 +10:00
studydeck.py Fix new deck not being selected (#1681) 2022-02-22 21:51:23 +10:00
switch.py switch to new-style PyQt scoped enums and Qt6 2021-10-15 12:57:19 +10:00
sync.py Close browser before full sync or colpkg import/export 2022-04-19 17:10:34 +10:00
tagedit.py switch to new-style PyQt scoped enums and Qt6 2021-10-15 12:57:19 +10:00
taglimit.py Move custom study tag and limit gathering+saving into the backend 2022-03-10 16:23:03 +10:00
taskman.py Add apkg import/export on backend (#1743) 2022-05-02 21:12:46 +10:00
theme.py Update get_linux_dark_mode to use freedesktop.org standard (#1905) 2022-06-07 09:30:42 +10:00
toolbar.py run pyupgrade over codebase [python upgrade required] 2021-10-04 15:05:48 +10:00
tts.py Update Python deps, including stable Black 2022-02-25 15:26:16 +10:00
undo.py fix redo menu item showing undo text 2021-08-04 10:28:45 +10:00
update.py PEP8 for rest of pylib (#1451) 2021-10-25 14:50:13 +10:00
utils.py Card type error (#1749) 2022-03-28 22:17:50 +10:00
webview.py Possible fix for Qt 6.3 crashes 2022-05-25 21:46:47 +10:00
wheel_description.txt move aqt_data into source folder; implement wheel building 2020-11-04 12:14:03 +10:00
winpaths.py run pyupgrade over codebase [python upgrade required] 2021-10-04 15:05:48 +10:00