Skip to content

Commit 401cbc8

Browse files
abbayeclaude
andcommitted
fix+feat(BinaryAnalysis): OUTDATED false-positive + Diff panel redesign
BUG fix — OUTDATED badge on first HexEditor click: OnHexEditorSelectionChanged no longer sets IsOutdated=true. Caret movement does not make a scan stale; only OnFileChanged (FileSystemWatcher) should. This eliminated the spurious OUTDATED on every first click after a scan. Diff panel — Swap A↔B: '⇄' button in snapshot bar swaps both combos without triggering a double diff (SelectionChanged unsubscribed during swap, re-subscribed after). Diff panel — Export CSV: '↓ CSV' toolbar button + context menu 'Export visible rows to CSV…'. Exports only the currently filtered/visible rows; SaveFileDialog with datestamped default filename; RFC-4180 quoting via CsvEscape. Diff panel — Enter key → GoToOffset: DataGrid.KeyDown handler: Enter on selected row calls vm.NavigateToOffset. Diff panel — Column sort: DataGrid.Sorting event + DiffEntryComparer (IComparer); supports Status, Offset, Value, Encoding, OldValue columns. Single-column sort with Ascending/Descending toggle; sort arrow shown on active column. Diff panel — Theme / foreground: DataGridRow.Foreground = TE_Foreground (DynamicResource) so text is readable in both Dark and Light themes. Cell TextBlocks SetResourceReference to TE_Foreground. Search bar uses TE_Background/TE_Foreground. Diff panel — Text search bar: New row between filter chips and DataGrid: 🔍 TextBox + ✕ clear button. Predicate matches Value, OldValue, Offset (hex), Encoding — case-insensitive. Applied as an extra predicate on the same CollectionView (no re-diff). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent c8dd67d commit 401cbc8

2 files changed

Lines changed: 279 additions & 49 deletions

File tree

0 commit comments

Comments
 (0)