gui: ship the real icon set, wire toolbar/tray/window icon, rebase onto main
Adwaita-derived (GNOME Project, LGPL-3-or-CC-BY-SA), recoloured per light/dark skin and laid out in IDM's toolbar positions per docs/03-gui-spec.md §1. Licence and per-file provenance recorded in gui/resources/icons/LICENSE. New IconTheme mirrors ThemeManager's colorSchemeChanged hook so a live light/dark switch swaps every action's glyph, not just the QSS. Toolbar/menu actions, the tray icon and the window icon all now use it instead of the SP_ArrowDown placeholder. Install-path notes for PKG filed as R5 in gui/docs/pkg-qa-requests-m1.md. Also rebases lane/gui onto main (13 commits, no gui/ conflicts). Verified: full build clean, all 13 gui ctest targets pass (including gui_no_download_logic), unhappy-path DoD gate PASS against mockd (--drop-connection). Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
@@ -219,3 +219,35 @@ Worth making explicit anyway, since relying on undocumented target leakage is fr
|
||||
No apt change needed either way — `qt6-base-dev` (already in `APT_GUI`) ships `QtDBus`'s
|
||||
headers directly (verified live: `dpkg -L qt6-base-dev | grep -i dbus` lists the whole
|
||||
`QtDBus/` include tree).
|
||||
|
||||
---
|
||||
|
||||
## R5 — real icon set has landed; stop shipping the placeholder, here's the install path
|
||||
|
||||
`gui/resources/icons/.gitkeep` is gone. There's a real, licensed icon set now (Adwaita,
|
||||
GNOME Project, LGPL-3-or-CC-BY-SA — full text and per-file provenance in
|
||||
`gui/resources/icons/LICENSE`), embedded into `velox-gui` via `qt_add_resources` in
|
||||
`gui/CMakeLists.txt` (`:/icons/{light,dark}/<name>.svg` for toolbar/menu actions,
|
||||
`:/icons/app/velox.svg` for the window and tray icon). Nothing needs installing
|
||||
separately for the binary itself — the SVGs are baked into the Qt resource system at
|
||||
build time, not read from disk at runtime.
|
||||
|
||||
What that means for whatever `.deb` postinst / desktop-entry work PKG is doing:
|
||||
|
||||
* **Stop bundling a placeholder icon file in the test `.deb`.** There's no longer a gap
|
||||
to fill — `velox-gui`'s own binary already carries its icon.
|
||||
* **App icon for the `.desktop` file / desktop menu entry**, if PKG is generating one:
|
||||
the source SVG is `gui/resources/icons/app/velox.svg` (full colour, unmodified Adwaita
|
||||
`folder-download` glyph, same in light and dark). If the packaging pipeline wants a
|
||||
filesystem-installed icon (standard XDG icon-theme layout, e.g.
|
||||
`/usr/share/icons/hicolor/scalable/apps/velox.svg`, referenced from the `.desktop`
|
||||
file's `Icon=velox` key) rather than relying on the binary's embedded window icon for
|
||||
the taskbar/launcher, that single file is the one to install — no rasterization needed,
|
||||
it's already a clean scalable SVG. GUI has no packaging-stage code to add this itself
|
||||
(CLAUDE.md §1: `packaging/` is PKG's lane), so filing the path here rather than reaching
|
||||
across.
|
||||
* Licence compliance for the `.deb`: `gui/resources/icons/LICENSE` should ship somewhere
|
||||
discoverable from the package (e.g. copied into `debian/copyright` or
|
||||
`/usr/share/doc/velox/copyright` alongside whatever other third-party attributions PKG
|
||||
already tracks) — it documents the Adwaita provenance and dual LGPL-3/CC-BY-SA license
|
||||
per file, which needs to be preserved wherever the binary that embeds these SVGs ships.
|
||||
|
||||
Reference in New Issue
Block a user