Anki/qt/aqt
RumovZ 14de8451dc
Merging Notetypes on Import (#2612)
* Remember original id when importing notetype

* Reuse notetypes with matching original id

* Add field and template ids

* Enable merging imported notetypes

* Fix test

Note should be updated if the incoming note's notetype is
remapped to the existing note's notetype.
On the other hand, it should be skipped if its notetype id is mapped
to some new notetype.

* Change field and template ids to i32

* Add merge notetypes flag to proto message

* Add dialog for apkg import

* Move HelpModal into components

* Generalize import dialog

* Move SettingTitle into components

* Add help modal to ImportAnkiPackagePage

* Move SwitchRow into components

* Fix backend method import

* Make testable in browser

* Fix broken modal

* Wrap in container and fix margins

* Update commented Anki version of new proto fields

* Check ids when comparing notetype schemas

* Add tooltip for merging notetypes.

* Allow updating notes regardless of mtime

* Gitignore yarn-error.log

* Allow updating notetypes regardless of mtime

* Fix apkg help carousel

* Use i64s for template and field ids

* Add option to omit importing scheduling info

* Restore last settings in apkg import dialog

* Display error when getting metadata in webview

* Update manual links for apkg importing

* Apply suggestions from code review

Co-authored-by: Damien Elmes <dae@users.noreply.github.com>

* Omit schduling -> Import all cards as new cards

* Tweak importing-update-notes-help

* UpdateCondition → ImportAnkiPackageUpdateCondition

* Load keyboard.ftl

* Skip updating dupes in 'update alwyas' case

* Explain more when merging notetypes is required

* "omit scheduling" → "with scheduling"

* Skip updating notetype dupes if 'update always'

* Merge duplicated notetypes from previous imports

* Fix rebase aftermath

* Fix panic when merging

* Clarify 'update notetypes' help

* Mention 'merge notetypes' in the log

* Add a test which covers the previously panicking path

* Use nested ftl messages to ensure consistency

* Make order of merged fields deterministic

* Rewrite test to trigger panic

* Update version comment on new fields
2023-09-09 09:00:55 +10:00
..
browser Improve presentation of importing results (#2568) 2023-08-02 20:29:44 +10:00
data Only disable specific animations/transitions/shadows 2023-07-02 20:02:14 +10:00
forms fixed and tested issue #2608 (#2611) 2023-08-16 07:26:50 +10:00
import_export Merging Notetypes on Import (#2612) 2023-09-09 09:00:55 +10:00
operations Improve presentation of importing results (#2568) 2023-08-02 20:29:44 +10:00
qt Expose video driver options for Qt6 (#2643) 2023-09-09 08:59:49 +10:00
__init__.py Expose video driver options for Qt6 (#2643) 2023-09-09 08:59:49 +10:00
_macos_helper.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
about.py fix stats calendar incorrect due to daylight savings time (#2456) 2023-03-28 15:35:06 +10:00
addcards.py [IO API] Create Python entry points for creating and editing IO notes (#2598) 2023-08-24 12:35:38 +10:00
addons.py Change Anki's version scheme; bump to 23.09 (#2640) 2023-09-07 12:37:15 +10:00
changenotetype.py Update Python deps 2023-03-31 14:04:05 +10:00
clayout.py V -> ValueType 2023-04-19 16:43:23 +10:00
colors.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
customstudy.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
dbcheck.py Backup improvements (#1728) 2022-03-21 19:40:42 +10:00
debug_console.py Pass dict for locals and globals to exec() (#2590) 2023-07-25 21:21:06 +10:00
deckbrowser.py Remove duplicate renderPage invocation 2023-06-07 16:10:35 +10:00
deckchooser.py Make dialogs non-blocking (#1650) 2022-02-10 09:53:13 +10:00
deckconf.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
deckdescription.py Update Python deps 2023-03-31 14:04:05 +10:00
deckoptions.py Integrate the FSRS optimizer (#2633) 2023-09-05 18:45:05 +10:00
editcurrent.py image occlusion button in note editor (#2485) 2023-07-27 22:45:49 +10:00
editor.py Support AVIF (#2630) 2023-08-31 08:44:10 +10:00
emptycards.py Rework & unify webview identification and title setting (#2366) 2023-02-10 14:53:11 +10:00
errors.py Catch altered translation of 'unknown error' 2023-07-24 10:29:37 +10:00
exporting.py Add deck/collection export hooks (#1971) 2022-07-22 12:45:47 +10:00
fields.py Add did-add-field-hook analogous to did-delete-field (#2574) 2023-07-13 21:10:12 +10:00
filtered_deck.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
flags.py Introduce new color palette using Sass maps (#2016) 2022-09-16 14:11:18 +10:00
gui_hooks.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
importing.py Update Python deps 2023-03-31 14:04:05 +10:00
legacy.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
main.py Fix syncStatus being called twice when auto sync disabled 2023-09-07 15:11:36 +10:00
mediacheck.py Increase default size of media check screen 2023-07-03 23:58:24 +10:00
mediasrv.py Merging Notetypes on Import (#2612) 2023-09-09 09:00:55 +10:00
mediasync.py Refactor progress handling (#2549) 2023-06-19 13:48:32 +10:00
modelchooser.py Add callback and non-blocking option to StudyDeck (#1643) 2022-02-07 22:05:59 +10:00
models.py Update Python deps 2023-03-31 14:04:05 +10:00
mpv.py Fix two mpv issues on Windows (#2294) 2023-01-03 11:59:39 +10:00
notetypechooser.py Make dialogs non-blocking (#1650) 2022-02-10 09:53:13 +10:00
overview.py Do not append description button for filtered deck (#2266) 2022-12-11 15:03:11 +10:00
package.py Another attempt at fixing missing cacert.pem 2022-12-30 15:30:53 +10:00
preferences.py Expose video driver options for Qt6 (#2643) 2023-09-09 08:59:49 +10:00
profiles.py Expose video driver options for Qt6 (#2643) 2023-09-09 08:59:49 +10:00
progress.py Refactor progress handling (#2549) 2023-06-19 13:48:32 +10:00
props.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
py.typed mark anki and aqt modules as having typing info 2020-01-13 13:03:37 +10:00
reviewer.py Implemented support to audio_did_seek_relative (#2632) 2023-09-05 11:15:15 +10:00
schema_change_tracker.py Add ability to restore a notetype to its original configuration (#2472) 2023-04-18 14:07:51 +10:00
sound.py Log mpv invocation failure for debugging 2023-05-11 14:47:23 +10:00
stats.py Update Python deps 2023-03-31 14:04:05 +10:00
studydeck.py Fix new deck not being selected (#1681) 2022-02-22 21:51:23 +10:00
stylesheets.py Workaround Ubuntu ignoring tooltip palette in dark mode 2023-05-31 15:19:10 +10:00
switch.py Auto-hide toolbar in Reviewer (#2262) 2023-01-09 14:39:31 +10:00
sync.py Rework syncing code, and replace local sync server (#2329) 2023-01-18 12:43:46 +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 Apply Latin1 fix to other platforms 2023-05-31 16:41:12 +10:00
toolbar.py Only disable specific animations/transitions/shadows 2023-07-02 20:02:14 +10:00
tts.py Revert backwards incompatible changes to TTSVoice (#2378) 2023-02-20 17:43:18 +10:00
undo.py fix redo menu item showing undo text 2021-08-04 10:28:45 +10:00
update.py Change Anki's version scheme; bump to 23.09 (#2640) 2023-09-07 12:37:15 +10:00
utils.py Store separate state/geometry for each Qt minor version 2023-05-18 10:04:30 +10:00
webview.py Merging Notetypes on Import (#2612) 2023-09-09 09:00:55 +10:00
widgetgallery.py Improve debug console (#2435) 2023-03-15 15:29:05 +10:00
winpaths.py run pyupgrade over codebase [python upgrade required] 2021-10-04 15:05:48 +10:00