Presentatie-editor: van tekst zoeken naar de juiste dia én het juiste tekstveld springen #2707
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2707
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Onderdeel van #2705.
Probleem
In de gewone dia-editor geeft Ctrl/Cmd+F een aantal treffers maar geen manier om naar een treffer te gaan. Een gebruiker moet alsnog dia’s en velden aflopen. Het bestaande diafilter toont miniaturen zonder de gevonden passage.
Codebewijs en route
Statisch onderzocht op main
d96a06bf8f851a362855b3821853ebd9aff17330(geen live reproductie):lib/widgets/app_shell_main_layout.dart:404-417opent FindReplaceDialog.lib/widgets/dialogs/find_replace_dialog.dartontvangt alleen een teller en alles-vervangen-callback; het kent geen resultaten, vorige/volgende of reveal.lib/state/deck_provider.dart:547-620kent telbare velden, waaronder tabellen en kolomtitels. De vaste veldlijst is geen dekkingsbewijs voor alle zichtbare tekst van elk slidetype.lib/widgets/panels/slide_list_panel.dart:125-154,478-535filtert losse woorden (AND) door o.a. notities en bestandspaden, zonder treffercontext. Tabelcellen/kolomtitels ontbreken in deze filterlijst._jumpToRange(lib/widgets/editors/markdown_deck_editor.dart:346) schat scrollpositie als regelnummer × regelhoogte; verifieer soft-wrap in plaats van alleen de selectie.Gewenste route
Volg het gemeenschappelijke contract: Ctrl/Cmd+F opent ‘Zoeken’ met resultaten binnen de huidige presentatie. Een resultaat toont bijvoorbeeld ‘Dia 8 · Tabel · rij 3, kolom 2’ plus de gemarkeerde context. Eén klik opent dia 8, maakt het juiste veld zichtbaar en markeert de tekst. Geen verplichte Markdown-stand en geen vervangveld bij alleen zoeken. In Markdown werkt dezelfde verwachting en komt de exacte bronpassage werkelijk in beeld.
Standaard zichtbare dia-inhoud, notities alleen via ‘Ook in sprekersnotities’. Een notitietreffer vermeldt dat en opent het eigen notitieveld. Inventariseer de zichtbare tekst van alle bestaande slidetype-editors; voorkom een tweede onvolledige veldlijst. Hergebruik bestaande tekstextractie waar correct en het gedeelde sessie-/balkpatroon waar bruikbaar.
Acceptatiecriteria
Verificatie en grens
Gerichte unit/widget-regressies voor de bestaande alleen-teller-route, velddekking, eerste Enter, exacte selectie en focus. Breid
test/find_replace_dialog_test.dart,test/find_replace_session_test.dart,test/text_search_test.darten de relevante editor-tests uit. Gebruik een deck met herhaalde tekst, tabel, notities, linklabel en lange Markdown-regel. Toets de hele reis draaiend en visueel, op de onderste dia van een groot deck, en via de echte webroute naast desktop waar ondersteund. Zoekresultaten gaan niet het bestand of export in. Geen bibliotheekzoeker of bulkvervanguitbreiding.Bestaande meldingen en verschil
De gesloten #1686 leverde de eerste documentzoekfunctie; #1760 en #1771 gingen over focus/vervangen; #2137 beschermde onzichtbare Markdown tegen tellen en herschrijven. Dit vervolg vraagt zichtbaar navigeren in de huidige weergave en volledige zichtbare inhoud. Het draait die beschermingen niet terug. Code die als code wordt getoond telt als inhoud; Mermaid/chart-specificaties, linkdoelen, comments en metadata tellen niet als zichtbare code. De eerdere oplossingen zijn geen bewijs dat deze zoek-en-springroute al volledig werkt.
Opgepakt op tak
codex/zoeken-en-springenin een geïsoleerde worktree. Reikwijdte: gedeelde zoeklogica/balk, documenteditor en paginaweergave, presentatie-editor en privé presentatorzoeken, regressies, vertalingen en gebruikersdocumentatie. Bestaande Markdown-vervangbescherming en projectiegrens blijven leidend.