ui: Move editing context breadcrumb to top-left of 3D viewport #232
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
The
BreadcrumbToolBar(editing context display showing colored chips like "Body > Sketch001 > [editing]") is currently positioned as a main window toolbar in a separate row at the top of the window. It should instead be an overlay in the top-left corner of the 3D viewport, reducing vertical space usage and keeping the context visually tied to the viewport.Current Implementation
In
src/Gui/MainWindow.cpp(lines 496-498):This adds the breadcrumb as a full-width toolbar row in the main window's top toolbar area, taking up a dedicated horizontal strip across the entire window.
The
BreadcrumbToolBaritself (src/Gui/BreadcrumbToolBar.cpp) is aQToolBarwithmax-height: 24px, non-movable, non-floatable.Proposed Approach
Convert the breadcrumb from a main-window toolbar to a floating overlay widget positioned at the top-left of the 3D viewport:
MainWindowto the activeView3DInventoror theQMdiAreaQWidgetwithraise()to stay on top, anchored to the top-left cornerNaviCube(src/Gui/NaviCube.cpp) already positions itself as a viewport overlay using corner positioning with offsets; a similar approach could work for the breadcrumbsignalActivateView)The
BreadcrumbToolBarcould remain aQToolBar(styled as a widget) or be converted to a plainQWidget/QFramesince it doesn't need docking behavior.Affected Files
src/Gui/MainWindow.cpp— removeaddToolBar/insertToolBarBreakfor breadcrumbsrc/Gui/BreadcrumbToolBar.h/.cpp— change parent to viewport, add positioning logicsrc/Gui/EditingContext.cpp— signal connection may need to update on view changes