Story: Qt UI scaffold

Table of Contents

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

Goal

Bring a runnable Qt application into existence with the visual basics the rest of v0 will build on: an application window, a splash screen, a sensible layout, and a coherent icon set.

Status

Field Value
State DONE
Parent sprint Sprint 01
Now Story closed; Qt shell builds, splash works, columns/rows tidied, icon set in.
Waiting on None.
Next None.
Last touched 2024-07-28

Acceptance

  • The Qt application launches and shows a main window.
  • A splash screen appears during startup.
  • Columns, rows, and tab behaviour follow Qt model/view conventions.
  • An icon set is selected and embedded.

Tasks

Task State Start End Description
Add a Qt hello world DONE 2024-06-22 2024-06-23 Create a trivial Qt application that exercises the build pipeline end-to-end.
Add a splash screen to the application DONE 2024-06-23 2024-06-23 Show a brief splash with the project logo during application startup.
Refactor Qt UI DONE 2024-07-13 2024-07-23 Tidy the Qt UI — launcher, logging, column names, row sizes, tab opening, table sizing — before more widgets are added.

Decisions

Inherit-from-generated-code pattern
chose Qt Creator's generated widget code and to subclass it for signals/slots, rather than hand-writing widget classes from scratch. The pattern is reused by every later widget.
Remix icons
chose Remix icon set for breadth and licence.
Fast-track pattern for settings
copy the FastTrack project's approach to embedded assets, themes, and remembered window state.

Out of scope

  • Multiple themes (deferred; one theme to start).
  • Docking widgets (deferred).
  • Localisation.
  • Wiring the UI to a network layer — that pivot comes in sprint 03's Client console and Qt integration, once cobalt is in place.

See also

  • ores.qt — the component model this story stood up. The model/view pattern and FastTrack-derived settings hooks land here first and propagate to every later widget.
  • Currencies end-to-end (this sprint) — the first widget that consumes the model/view pattern.

Emacs 29.1 (Org mode 9.6.6)