feat(learn): exporting shows its steps, counts and percent, with Abort
Exporting a studyset said "Exporting…" in a snack bar until the place to keep it was asked. It now shows a sheet with its steps (reading the content, gathering files for an archive, packing), how many of the step's items are done and the percent of all of it, and Abort, which keeps nothing (decided 9 Nov 2026); then asks where to keep the file as before. Both exporters check between studysets, and the archive's between files; packing runs on its isolate to its end, its result dropped once aborted. ExportCubit runs an export's work behind the sheet (runExport), which says how it ended: made, failed (a file missing named as before) or aborted. Whats-New: Exporting shows its steps and how far it has come, and Abort stops it. Whats-New-De: Der Export zeigt seine Schritte und wie weit er ist, und „Abbrechen“ beendet ihn. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
7cba684513
commit
99b75645ad
5 changed files with 404 additions and 94 deletions
|
|
@ -297,7 +297,6 @@
|
|||
"studysetSpacedRepetitionHint": "Wiederhole die fälligen Karten, geplant durch FSRS.",
|
||||
"studysetImportContent": "Inhalt importieren",
|
||||
"studysetMenuExport": "Inhalt exportieren",
|
||||
"exportRunning": "Wird exportiert …",
|
||||
"exportedMarkdown": "Als Markdown exportiert.",
|
||||
"exportedZip": "{count, plural, =1{Als Markdown mit 1 Datei exportiert (.zip).} other{Als Markdown mit {count} Dateien exportiert (.zip).}}",
|
||||
"exportMissingFiles": "{count, plural, =1{1 Datei war nicht auf diesem Gerät und fehlt.} other{{count} Dateien waren nicht auf diesem Gerät und fehlen.}}",
|
||||
|
|
|
|||
|
|
@ -351,7 +351,6 @@
|
|||
"studysetSpacedRepetitionHint": "Review the cards that are due, scheduled by FSRS.",
|
||||
"studysetImportContent": "Import content",
|
||||
"studysetMenuExport": "Export content",
|
||||
"exportRunning": "Exporting…",
|
||||
"exportedMarkdown": "Exported as Markdown.",
|
||||
"exportedZip": "{count, plural, =1{Exported as Markdown with 1 file (.zip).} other{Exported as Markdown with {count} files (.zip).}}",
|
||||
"@exportedZip": {"placeholders": {"count": {"type": "int"}}},
|
||||
|
|
|
|||
|
|
@ -1822,12 +1822,6 @@ abstract class AppLocalizations {
|
|||
/// **'Export content'**
|
||||
String get studysetMenuExport;
|
||||
|
||||
/// No description provided for @exportRunning.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Exporting…'**
|
||||
String get exportRunning;
|
||||
|
||||
/// No description provided for @exportedMarkdown.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -1111,9 +1111,6 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get studysetMenuExport => 'Inhalt exportieren';
|
||||
|
||||
@override
|
||||
String get exportRunning => 'Wird exportiert …';
|
||||
|
||||
@override
|
||||
String get exportedMarkdown => 'Als Markdown exportiert.';
|
||||
|
||||
|
|
|
|||
|
|
@ -1101,9 +1101,6 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get studysetMenuExport => 'Export content';
|
||||
|
||||
@override
|
||||
String get exportRunning => 'Exporting…';
|
||||
|
||||
@override
|
||||
String get exportedMarkdown => 'Exported as Markdown.';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue