Ordner-Dialog und Anlegen-Flow #12
Reference in New Issue
Block a user
Delete Branch "feat/ordner-dialog"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Setzt die Entscheidungen aus #2 (Ordner-Dialog), #4 (Marker-Format) und #6 (Fehlerfälle) um.
Basiert auf
feat/workspace-liste(PR #11), weil der Flow dieWorkspaceListbraucht — deshalb ist der Ziel-Branch dieser PR nichtmain. Nach dem Merge von #11 lässt sich der Ziel-Branch umstellen.Der Marker
.dionotes/workspace.ronmit genau(schema_version: 1). Keincreated_at, keine Vorratsfelder.Zwei Verhaltensweisen sind durch Tests festgenagelt, weil sie später teuer zu ändern wären:
Die Fehlerzustände
OpenErrorunterscheidet die drei Zustände aus #6 —Unreachable,NotAWorkspace,Damaged— plusTooNewfür einen Marker aus einer neueren Programmfassung. DieDisplay-Impl liefert genau die Formulierungen („nicht erreichbar", „kein Workspace mehr", „beschädigt"), mit denen in Schritt 4 die Listeneinträge markiert werden.Der Flow
Noneist eine Absage, keine StörungDass ein vorhandener Workspace geöffnet statt abgelehnt wird, ist das, was die Beschriftung „Workspace hinzufügen…" überhaupt rechtfertigt: derselbe Knopf nimmt neue und wiedergefundene Workspaces auf.
rfdkostet nichtsEingebunden mit denselben Features, die
dioxus-desktopohnehin zieht —xdg-portalstattdefault. Mit den Default-Features wären neun Wayland-Pakete dazugekommen, die das Portal nicht braucht. So ergibt die explizite Abhängigkeit genau eine Zeile inCargo.lockund keinen zusätzlichen Compile-Schritt.Tests
14 grün. Neu sind sieben zur Marker-Logik: Roundtrip, additives Anlegen, fehlender Ordner, fehlender Marker, beschädigter Marker (samt Nachweis, dass er liegen bleibt), zu neues Schema, Leer-Erkennung. Ohne
tempfile-Crate — der Testname macht das Scratch-Verzeichnis eindeutig.Nicht automatisch geprüft
Der Dialog selbst.
rfd::AsyncFileDialog::pick_folder()öffnet ein Betriebssystem-Fenster; das ist mitdx servevon Hand zu prüfen, nicht im Testlauf.