mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-06 02:21:45 +00:00
* feat(ui): unify quick bar and hotbar and refresh settings dialog (#5890) * style(ui): compact hotbar tools customization menu * fix(ui): keep hotbar settings visible when docked to sides and address review findings - Add placed bool to Hotbar to distinguish explicitly placed [0.0, 0.0] from default floating margin offset - Check !a.locked before applying quick bar color edits to annotations - In non-full-side docked vertical layout, scroll tools within available height so settings button remains visible in compact windows - Remove max_width(cell) on vertical full-side scroll area to avoid clipping wider controls - Restore outer vertical scrolling with max_height on Hotbar tools picker window - Add test verifying docked hotbar in compact windows keeps settings button visible, and assert controls do not overlap * feat(ui): close hotbar settings menu when clicking outside or pressing Escape - Detect pointer clicks outside the settings menu window bounds and dismiss the menu automatically - Keep settings button click behavior to allow opening and keeping the menu open - Support Escape key to dismiss the settings menu - Add integration test verifying clicking outside on canvas or on another tool dismisses the menu * style(ui): restore hotbar settings dialog design to match concept mockup * fix(ui): cap hotbar tools picker width to viewport on narrow screens * fix(ui): anchor hotbar tools picker to rendered bar edges to avoid overlap * fix(ui): keep upgraded hotbars in the margin and label the settings controls (#5890) Preferences written before this change have no `placed` key, so every existing user's untouched floating, horizontal, top-centre hotbar would have jumped out of the margin. Such a bar now takes the new default; any spot the user chose, including the top-left corner, is kept. The side picker reuses the Preferences segmented pill control, so its options are themed, reachable as radio buttons by label and visible to the translation scan. The layout switch now carries its label and enabled state. --------- Co-authored-by: FredApps <153173854+FredApps@users.noreply.github.com>