feat(quicknav): Phase 2 — dynamic discovery and MRU history #321
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Replace hardcoded command groupings with dynamic toolbar introspection and add MRU history with persistence.
Depends on: #320 (Phase 1)
Scope
Toolbar introspection (
quicknav/workbench_map.py)discover_groupings(workbench_name)function that:QToolBarwidgets from the main windowQActioncommand namesWorkbenchManipulatorare automatically included (discovered after manipulators have run)MRU history (
quicknav/history.py)Shift+Nor click) moves it to position 0Ctrl+Nassignments (not MRU ordered)Persistence
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/QuickNav")GroupHistory/<Workbench>: semicolon-delimited grouping names in MRU orderLastGrouping/<Workbench>: last-active grouping per workbenchCustomSlots/Ctrl6throughCtrl9: user-configurable workbench slotsGrouping overflow
Shift+Left/Rightscrolls through groupings beyond the visible 9Deliverable
Command groupings are populated dynamically from actual workbench toolbars. MRU ordering persists across sessions. Overflow groupings accessible via scroll.
References
docs/src/quicknav/SPEC.md— §6 (MRU History), §10 (Command Discovery)