Skip to content

Show each GUI row's current reason and clear stale icons - #139

Merged
amrali-eg merged 1 commit into
masterfrom
fix/gui-row-reasons-and-icons
Sep 28, 2026
Merged

amrali-eg merged 1 commit into
masterfrom
fix/gui-row-reasons-and-icons

Conversation

@amrali-eg

Copy link
Copy Markdown
Owner

Problem

GUI result rows survive between runs.

  • Stale icons: a file that failed, or was previewed as "would convert", and was then left unchanged or skipped in a later run kept the earlier run's icon, so the list described a run that was over (F4 from the 2026-09-20 review).
  • No reason in the window: why a file failed, was refused or was left unchanged went only to Debug.WriteLine. The CSV export was the only place to read it; for example, "ASCII is already valid UTF-8 without a BOM." never appeared in the window.

Change

  • UpdateResultItem clears the icon of a row left unchanged or skipped (ResultIconNone = -1).
  • Every row's ToolTipText is its entry's current Diagnostic, set on each run and emptied when the run gives none, both for rows added by a scan and for rows updated by a conversion. lstResults.ShowItemToolTips = true.
  • No column was added. CSV, journal and plan formats are unchanged.
  • Backlog entry BL-41.

Tests

In PreviewResultPresentationTests:

  • A theory: unchanged after a failed run, unchanged after a preview, skipped after a failed run. Each ends with no icon and an empty tooltip.
  • The tooltip follows each result: the ASCII explanation, then an error's reason with the failed icon, then empty after a later success.
  • A real MainForm has row tooltips on, and a scanned Validate row shows its reason with no icon.

Mutation checks (each restored byte-for-byte afterwards)

Mutation Tests failing
Stale icon kept 3
Row tooltip not updated 4
Tooltips not turned on in the window 1
Scanned row has no tooltip 1

Verification

  • Release build, 0 warnings; 980/980 tests pass.
  • docs/Test-DefectBacklog.ps1 passes.
  • GUI smoke on this build: all 10 phases passed, exit 0, no retries, Outcome Passed, managed assembly 13f752e2… matching the built DLL (evidence 20260928_211804). The smoke suite does not read icons or tooltips, so it confirms nothing else broke; no one has looked at the tooltip in a live window.

🤖 Generated with Claude Code

Rows survive between runs. A file that failed or was previewed as "would
convert" and was then left unchanged or skipped kept the earlier icon, and
the reason a file failed, was refused or was left unchanged went only to
debug output.

A row left unchanged or skipped now has its icon cleared, and every row
shows its current reason as a tooltip, set on each run and emptied when
the run gives none. No column was added; exported formats are unchanged.

Tests cover cleared icons after a failed and a previewed run, the tooltip
following each result, and a real window showing a scanned row's reason;
four mutations fail them.

Backlog: BL-41.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@amrali-eg
amrali-eg merged commit 23d83c4 into master Sep 28, 2026
3 checks passed
@amrali-eg
amrali-eg deleted the fix/gui-row-reasons-and-icons branch September 28, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant