feat(dateien): Bilder aus der Zwischenablage einfügen (Strg+V)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
Direzione di ricerca
Start with src/LageBuch.App.Shared/Views/FilesView.axaml.cs to understand the existing file-drop handling, then read src/LageBuch.AppLogic/ViewModels/FilesViewModel.cs and src/LageBuch.Domain/Files/IncidentFile.cs for upload paths and file constraints. Implementing clipboard paste and byte-based browser drops also needs desktop clipboard and drag-and-drop investigation; done means both routes accept sanitized, valid images within the existing size limit, with EXIF handling considered alongside #384.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Rückmeldung aus der Praxis
Copy Paste in Dateien von Bildern einer Webseite oder aus der Zwischenablage
Heute
Die Zwischenablage wird nirgends angefasst. grep -riE "clipboard|paste|ctrl\+v" src/ liefert genau einen Treffer, und der ist ein unbeteiligter Kommentar in
Behaviors/IntegerOnly.cs. Kein TopLevel.Clipboard, kein
KeyBinding Gesture="Ctrl+V".
Drag & Drop gibt es — aber nur für Dateien vom Datenträger:
// src/LageBuch.App.Shared/Views/FilesView.axaml.cs
DataContext is FilesViewModel { IsReadOnly: false, IsUploading: false }
&& e.DataTransfer.Contains(DataFormat.File)
und aufgelöst wird über f.TryGetLocalPath(). Zieht man ein Bild direkt aus
dem Browser, liefert der Browser Bytes oder eine URL, keinen lokalen Pfad — der
Drop wird kommentarlos ignoriert. Das ist genau der Fall aus der
Rückmeldung.
Der eigentliche Hinderungsgrund
Der Aufnahmeweg ist durchgehend pfadbasiert:
// src/LageBuch.AppLogic/ViewModels/FilesViewModel.cs:187
public async Task AddFilesAsync(IReadOnlyList<string> paths) // -> File.ReadAllBytesAsync
Es gibt keinen Einstieg, der ein byte[] entgegennimmt. Ein Bild aus der
Zwischenablage hat aber nie einen Pfad.
Vorschlag
- Ein
AddBytesAsync(name, contentType, byte[])nebenAddFilesAsync, auf das
beide neuen Wege einzahlen. - Strg+V im Reiter DATEIEN, und zusätzlich Bild-Bytes beim Drop akzeptieren,
nicht nurDataFormat.File. - Einen Namen erzeugen, da keiner mitkommt — etwa
Zwischenablage-20260920-1432.png. Der muss wie jeder andere durch
IncidentFile.SanitizeFileName.
Die vorhandenen Schranken greifen unverändert: erlaubte Typen sind
jpg/jpeg/png/gif/webp/pdf, die Obergrenze 25 MB
(src/LageBuch.Domain/Files/IncidentFile.cs) — beides passt für
Zwischenablage-Bilder.
Zu bedenken
- Ein Bild von einer Webseite bringt EXIF mit; #384 will das ohnehin
abstreifen. Ein neuer Aufnahmeweg sollte dort gleich mit angeschlossen
werden. - Android hat eine eigene Zwischenablage-Geschichte; das Issue ist erst einmal
für den Desktop gedacht.
Verwandt: #347, #384, #383.
- Lingua principale
- C#
- Stelle
- 1
- Fork
- 3
- Merge medio
- 5h 26m
- PR unite (30g)
- 196
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CodeForFire/lagebuch
-
Stammdaten: in the Checkliste editor the PFLICHT header is not aligned with its columnForse già presa @Saad-elnagar l’ha presa 5 giorni fa. Apertabug ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
CodeForFire/lagebuch#714 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Stammdaten: on a phone the Fahrzeuge editor squeezes Wache and Funkrufname to nothingForse già presa @Saad-elnagar l’ha presa 5 giorni fa. Apertabug ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
CodeForFire/lagebuch#713 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
CodeForFire/lagebuch#405 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
CodeForFire/lagebuch#349 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
CodeForFire/lagebuch#348 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di CodeForFire/lagebuch
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
HicServices/RDMP#2398 ·
-
is:bug is:FQNIssue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
nunit/nunit3-vs-adapter#1527 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug effort:S P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
nightscout/nocturne#2840 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
fluentmigrator/fluentmigrator#2424 ·