feat(quicknav): Phase 4 — polish, theming, and settings #323

Closed
opened 2026-02-23 18:51:05 +00:00 by forbes · 0 comments
Owner

Summary

Visual polish, Catppuccin Mocha theming, and a settings dialog for user customization.

Depends on: #320 (Phase 1), #321 (Phase 2)

Scope

Number badge SVG icons (quicknav/resources/icons/)

  • Keycap-style number badges for commands and groupings in the navigation bar
  • Active grouping: filled circle badge with Catppuccin Mocha blue (#89b4fa)
  • Inactive groupings: outlined badge with surface1 (#45475a)
  • Active command (tool in use): green (#a6e3a1) underline indicator

Catppuccin Mocha theming (quicknav/resources/theme.py)

  • Conditional on kindred_sdk availability — degrade to Qt defaults on standalone FreeCAD
  • Navigation bar visual states:
    • Hovered command: surface2 (#585b70) background highlight
    • Active grouping: bold text, filled badge, blue accent
    • Inactive groupings: normal text, outlined badge

Scroll animations

  • Smooth horizontal scroll when navigating overflow groupings via Shift+Left/Right

Settings dialog

  • Custom Ctrl+6-9 workbench slot assignments
  • Accessible from FreeCAD preferences or a QuickNav menu entry

FreeCAD standalone packaging

  • Ensure QuickNav works as a standalone FreeCAD addon without Kindred Create
  • SDK dependency is optional: check for kindred_sdk and degrade gracefully
  • Test on vanilla FreeCAD 1.0+

Unit tests (tests/test_history.py)

  • MRU stack unit tests: push, reorder, persistence round-trip, overflow behavior

Deliverable

Polished navigation bar with themed badges, smooth scrolling, configurable workbench slots, and standalone FreeCAD compatibility.

References

  • docs/src/quicknav/SPEC.md — §4.2 (Visual States), §11 (FreeCAD Compatibility), §12 (Phase 4)
## Summary Visual polish, Catppuccin Mocha theming, and a settings dialog for user customization. Depends on: #320 (Phase 1), #321 (Phase 2) ## Scope ### Number badge SVG icons (`quicknav/resources/icons/`) - Keycap-style number badges for commands and groupings in the navigation bar - Active grouping: filled circle badge with Catppuccin Mocha `blue` (#89b4fa) - Inactive groupings: outlined badge with `surface1` (#45475a) - Active command (tool in use): `green` (#a6e3a1) underline indicator ### Catppuccin Mocha theming (`quicknav/resources/theme.py`) - Conditional on `kindred_sdk` availability — degrade to Qt defaults on standalone FreeCAD - Navigation bar visual states: - Hovered command: `surface2` (#585b70) background highlight - Active grouping: bold text, filled badge, blue accent - Inactive groupings: normal text, outlined badge ### Scroll animations - Smooth horizontal scroll when navigating overflow groupings via `Shift+Left/Right` ### Settings dialog - Custom `Ctrl+6-9` workbench slot assignments - Accessible from FreeCAD preferences or a QuickNav menu entry ### FreeCAD standalone packaging - Ensure QuickNav works as a standalone FreeCAD addon without Kindred Create - SDK dependency is optional: check for `kindred_sdk` and degrade gracefully - Test on vanilla FreeCAD 1.0+ ### Unit tests (`tests/test_history.py`) - MRU stack unit tests: push, reorder, persistence round-trip, overflow behavior ## Deliverable Polished navigation bar with themed badges, smooth scrolling, configurable workbench slots, and standalone FreeCAD compatibility. ## References - `docs/src/quicknav/SPEC.md` — §4.2 (Visual States), §11 (FreeCAD Compatibility), §12 (Phase 4)
forbes added the enhancement label 2026-02-23 18:51:05 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#323