Skip to content

feat(compare): accessible directory comparison preview #146

Description

@Orinks

Summary

Add a read-only directory comparison that shows which entries differ between the current local folder and the current remote folder, with an accessible preview a screen reader user can read through.

Carried over from the Python-era PR #125, which was closed unmerged when the app moved to Rust. The design below is from that PR; the implementation has to be redone against the Rust crates.

Design from the original PR

  • A comparison engine that classifies each entry as local-only, remote-only, same, or different (by size and, where available, modification time).
  • Exposed as Compare Directories on the View menu with Ctrl+Shift+C.
  • Results shown in a read-only preview dialog rather than acting on files; the comparison never transfers or deletes anything.

Notes for the Rust implementation

  • The comparison logic belongs in portkeydrop-core so it is tested against RemoteFile lists without a display.
  • Listing the remote side is network work and must run on a worker that posts an AppEvent; the dialog is populated when the result arrives.
  • The result dialog goes under crates/portkeydrop/src/ui/dialogs/. Every control needs an explicit accessible name via set_name, and the list needs a StaticText immediately before it so NVDA reads it as the list's name.
  • Original Python reference: feat(compare): add accessible directory comparison preview #125

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions