Story: Currencies UI

Table of Contents

This page documents a story in Sprint 04. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Take the Qt currencies view from "displays a table" to "fully manages currencies": export, edit, add, history, multi-select. Sprint 04 is when currencies become the pattern other reference data types will follow in the UI.

Status

Field Value
State DONE
Parent sprint Sprint 04
Now Completed 2025-11-25.
Waiting on None.
Next None.
Last touched 2025-11-25

Acceptance

  • Export to ORE XML and CSV.
  • Edit dialog for individual rows.
  • New-currency dialog with persistence.
  • History dialog showing bitemporal change record.
  • Multi-row selection with bulk delete.

Tasks

Task State Start End Description
Add export functionality for currencies DONE 2025-11-25 2025-11-25 Export currencies from the Qt UI to file (JSON / XML) via a menu action.
Add currency editing support DONE 2025-11-25 2025-11-25 Allow currency rows to be edited from the Qt UI with validation and a save action.
Implement adding new currencies DONE 2025-11-25 2025-11-25 Add a new-currency dialog and wire it to the repository.
Create a history dialog for currencies DONE 2025-11-25 2025-11-25 A dialog that shows the bitemporal history of a selected currency row.
Add multi-selection support to currencies DONE 2025-11-25 2025-11-25 Allow multiple currency rows to be selected and acted on together.

Decisions

Currencies as the reference-data UI template
the CRUD toolbar, the edit dialog, the history dialog, multi-select — these are designed once for currencies and reused as later reference types arrive.
Bulk operations through multi-select
avoids per-row buttons cluttering the toolbar; selection drives behaviour.

Out of scope

  • Clone-a-currency action (surfaced in v0 notes; deferred).
  • Bulk import-from-file beyond the existing XML/JSON paths.

See also

Emacs 29.1 (Org mode 9.6.6)