Slide kopiëren tussen presentaties in verschillende mappen neemt afbeelding niet mee #2104

Closed
opened 2026-09-16 19:47:13 +00:00 by brenno · 0 comments
Owner

Bug

Kopieer een slide met een afbeelding (rechtermuisklik op de thumbnail → Kopiëren) uit een presentatie in map A en plak hem (Slide plakken) in een presentatie in map B. De slide komt over, maar de afbeelding niet: slideClipboardProvider bewaart de kale Slide, dus de verwijzing images/foo.png blijft relatief en wordt in het doel-deck tegen map B aangelegd — waar het bestand niet staat.

Dezelfde route zit in de bulkactie slides kopiëren naar ander tabblad (_copySelectionToOtherDeck), die de Slide-objecten eveneens ongewijzigd in het andere deck invoegt.

Verwacht

De afbeelding (en andere lokale assets: tweede afbeelding, inline ![…](…), vraag-afbeeldingen, video, audio) verhuist mee naar de doelmap, zoals Slides importeren en opslag-naar-nieuwe-locatie dat al doen.

Reproduceren

  1. Twee mappen, elk met een presentatie; in A een slide met een afbeelding uit A/images/.
  2. In A: slide kopiëren. In B: slide plakken.
  3. De thumbnail/editor toont een leeg plaatshoudervak; B/images/ bevat het bestand niet.

Spoor in de code

  • lib/state/slide_clipboard_provider.dart — klembord bewaart Slide zonder bronmap.
  • lib/widgets/slides/slide_thumbnail.dartKopiëren zet de slide zo op het klembord.
  • lib/widgets/panels/slide_list_panel.dartSlide plakken en _copySelectionToOtherDeck voegen de slide ongewijzigd in.
  • Bestaande machine om dit mee te nemen: ImageService.copyImagesToProject/copyMediaToProject (absolute/mem:-paden → projectmap) en rewriteSlideImagePaths/slideImagePaths (élke afbeeldingsverwijzing van een slide).
## Bug Kopieer een slide met een afbeelding (rechtermuisklik op de thumbnail → *Kopiëren*) uit een presentatie in map A en plak hem (*Slide plakken*) in een presentatie in map B. De slide komt over, maar de afbeelding niet: `slideClipboardProvider` bewaart de kale `Slide`, dus de verwijzing `images/foo.png` blijft relatief en wordt in het doel-deck tegen map B aangelegd — waar het bestand niet staat. Dezelfde route zit in de bulkactie *slides kopiëren naar ander tabblad* (`_copySelectionToOtherDeck`), die de `Slide`-objecten eveneens ongewijzigd in het andere deck invoegt. ## Verwacht De afbeelding (en andere lokale assets: tweede afbeelding, inline `![…](…)`, vraag-afbeeldingen, video, audio) verhuist mee naar de doelmap, zoals *Slides importeren* en opslag-naar-nieuwe-locatie dat al doen. ## Reproduceren 1. Twee mappen, elk met een presentatie; in A een slide met een afbeelding uit `A/images/`. 2. In A: slide kopiëren. In B: slide plakken. 3. De thumbnail/editor toont een leeg plaatshoudervak; `B/images/` bevat het bestand niet. ## Spoor in de code - `lib/state/slide_clipboard_provider.dart` — klembord bewaart `Slide` zonder bronmap. - `lib/widgets/slides/slide_thumbnail.dart` — `Kopiëren` zet de slide zo op het klembord. - `lib/widgets/panels/slide_list_panel.dart` — *Slide plakken* en `_copySelectionToOtherDeck` voegen de slide ongewijzigd in. - Bestaande machine om dit mee te nemen: `ImageService.copyImagesToProject`/`copyMediaToProject` (absolute/`mem:`-paden → projectmap) en `rewriteSlideImagePaths`/`slideImagePaths` (élke afbeeldingsverwijzing van een slide).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2104
No description provided.