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
- ores.qt — the Qt component that this story extends.
- ores.refdata — the reference-data component for currencies.
- Currencies end-to-end (sprint 01) and Currencies temporal and export (sprint 02) — predecessor currency-thread stories.
- Currency (domain note).