Vijf dialogen breedte-aanpasbaar waar lange paden afgekapt werden (#1217) #1218

Merged
brenno merged 8 commits from feat/1217-resizable-dialogs into main 2026-08-04 15:16:51 +00:00
Owner

Summary

Voortbouwend op #1211 (de save-dialoog). Vijf dialogen waar lange bestandspaden met TextOverflow.ellipsis afgekapt werden, zijn nu breedte-aanpasbaar via een gedeelde ResizableDialogBox-helper:

  • S3-browser (s3_browser_dialog.dart) — breadcrumb /pad/naar/bucket was afgekapt zonder tooltip. Nu resizable + Tooltip met volledige pad.
  • WebDAV-browser (webdav_browser_dialog.dart) — idem.
  • Presentaties zoeken (scan_library_dialog.dart) — lijst met paden, vaste breedte 760. Nu resizable.
  • Dubbele presentaties opruimen (duplicate_cleanup_dialog.dart) — lijst met paden, vaste breedte 640. Nu resizable.
  • Presentatie openen (open_presentation_dialog.dart) — lijst met paden, vaste breedte 760. Nu resizable.

Ontwerpkeuzes

  • softWrap bewust niet toegepast op deze 5 dialogen. Een breadcrumb die wrapt breekt de navigatie-header; in een lijst maakt softWrap elke regel 2-3× zo hoog en de lijst onbruikbaar lang. Resizable is hier de juiste oplossing.
  • Gedeelde helper (lib/widgets/resizable_dialog_box.dart): ResizableDialogBox met een builder-patroon dat de DialogResizeHandle levert. De aanroeler plaatst de handle waar het past (footer, laatste regel). De save-dialoog uit #1211 wordt in deze PR niet gemigreerd (werkt al); eventueel later.
  • Kerninhoud blijft zonder muis volledig bedienbaar; de handgreep is een extra voor pointer-gebruikers. De S3/WebDAV-breadcrumb kreeg ook een Tooltip als niet-pointer uitweg.
  • Nieuwe tooltip-string "Breedte aanpassen" in alle 31 talen via make add-l10n (zelfde string als #1211; bij merge lossen we het l10n-ankerpunt op met merge=union).

Let op: pre-existing falen (niet door deze PR)

make check staat rood op één pre-existing test: test/privacy_false_positive_corpus_test.dart vindt contact.phone in docs/USER_GUIDE.nl.md (sinds #1181). Getrackt in #1215. Alle overige 8373 tests zijn groen, inclusief de 5 nieuwe tests voor de helper.

Test plan

  • flutter test test/resizable_dialog_box_test.dart — 5 tests groen (startbreedte, verbreden/vernauwen, clamp op minWidth, clamp op maxWidth, gelokaliseerde tooltip).
  • Bestaande tests voor duplicate_cleanup_dialog en scan_library groen (geen regressie).
  • make l10n-check groen.
  • flutter analyze schoon (--fatal-infos).
  • dart format schoon.
  • source_map_coverage_test groen (nieuwe file toegevoegd aan docs/SOURCE_MAP.md).
  • Visuele beeldkeuring: S3/WebDAV-browser en de drie lijst-dialogen openen met lange paden — handle verbreedt, breadcrumb-tooltip toont volledige pad. (Aanbevolen handmatig te keuren.)

Generated with Devin

## Summary Voortbouwend op #1211 (de save-dialoog). Vijf dialogen waar lange bestandspaden met `TextOverflow.ellipsis` afgekapt werden, zijn nu breedte-aanpasbaar via een gedeelde `ResizableDialogBox`-helper: - **S3-browser** (`s3_browser_dialog.dart`) — breadcrumb `/pad/naar/bucket` was afgekapt zonder tooltip. Nu resizable + `Tooltip` met volledige pad. - **WebDAV-browser** (`webdav_browser_dialog.dart`) — idem. - **Presentaties zoeken** (`scan_library_dialog.dart`) — lijst met paden, vaste breedte 760. Nu resizable. - **Dubbele presentaties opruimen** (`duplicate_cleanup_dialog.dart`) — lijst met paden, vaste breedte 640. Nu resizable. - **Presentatie openen** (`open_presentation_dialog.dart`) — lijst met paden, vaste breedte 760. Nu resizable. ## Ontwerpkeuzes - **softWrap bewust niet toegepast** op deze 5 dialogen. Een breadcrumb die wrapt breekt de navigatie-header; in een lijst maakt softWrap elke regel 2-3× zo hoog en de lijst onbruikbaar lang. Resizable is hier de juiste oplossing. - **Gedeelde helper** (`lib/widgets/resizable_dialog_box.dart`): `ResizableDialogBox` met een builder-patroon dat de `DialogResizeHandle` levert. De aanroeler plaatst de handle waar het past (footer, laatste regel). De save-dialoog uit #1211 wordt in deze PR niet gemigreerd (werkt al); eventueel later. - **Kerninhoud blijft zonder muis volledig bedienbaar**; de handgreep is een extra voor pointer-gebruikers. De S3/WebDAV-breadcrumb kreeg ook een `Tooltip` als niet-pointer uitweg. - Nieuwe tooltip-string "Breedte aanpassen" in alle 31 talen via `make add-l10n` (zelfde string als #1211; bij merge lossen we het l10n-ankerpunt op met `merge=union`). ## Let op: pre-existing falen (niet door deze PR) `make check` staat rood op één pre-existing test: `test/privacy_false_positive_corpus_test.dart` vindt `contact.phone` in `docs/USER_GUIDE.nl.md` (sinds #1181). Getrackt in #1215. Alle overige 8373 tests zijn groen, inclusief de 5 nieuwe tests voor de helper. ## Test plan - [x] `flutter test test/resizable_dialog_box_test.dart` — 5 tests groen (startbreedte, verbreden/vernauwen, clamp op minWidth, clamp op maxWidth, gelokaliseerde tooltip). - [x] Bestaande tests voor `duplicate_cleanup_dialog` en `scan_library` groen (geen regressie). - [x] `make l10n-check` groen. - [x] `flutter analyze` schoon (`--fatal-infos`). - [x] `dart format` schoon. - [x] `source_map_coverage_test` groen (nieuwe file toegevoegd aan `docs/SOURCE_MAP.md`). - [ ] Visuele beeldkeuring: S3/WebDAV-browser en de drie lijst-dialogen openen met lange paden — handle verbreedt, breadcrumb-tooltip toont volledige pad. (Aanbevolen handmatig te keuren.) Generated with [Devin](https://devin.ai)
brenno force-pushed feat/1217-resizable-dialogs from b648ec7910
All checks were successful
scans / scans (pull_request) Successful in 1m31s
static-gate / static-gate (pull_request) Successful in 3m33s
to 46716bd114
All checks were successful
scans / scans (pull_request) Successful in 1m53s
static-gate / static-gate (pull_request) Successful in 4m11s
2026-08-04 15:16:42 +00:00
Compare
brenno merged commit c071321a02 into main 2026-08-04 15:16:51 +00:00
Sign in to join this conversation.
No description provided.