Skip to content

Streamline bottom toolbar; stabilize compare/flat-peek; tooltips#591

Merged
marcinz606 merged 3 commits into
marcinz606:mainfrom
linkmodo:feat/toolbar-enhancements
Jul 22, 2026
Merged

Streamline bottom toolbar; stabilize compare/flat-peek; tooltips#591
marcinz606 merged 3 commits into
marcinz606:mainfrom
linkmodo:feat/toolbar-enhancements

Conversation

@linkmodo

Copy link
Copy Markdown
Contributor

Summary

Bottom-toolbar cleanup plus two behavior fixes for the Before/After and Peek Flat comparison views.

Toolbar layout

  • Removed the zoom slider (people zoom directly on the canvas); kept the read-only zoom % readout, which is now centered on the icon line, sized to the 32px button height, and bumped to 14px / weight 600 so it aligns and reads cleanly.
  • Moved the GPU/CPU toggle off the editing row into More Actions as a checkable item next to Toggle HQ Preview, with its backend/status in the tooltip.
  • Gave every More Actions item a tooltip: twinned actions reuse their toolbar tooltip (same shortcut badge); overflow-only items get concise descriptions.

Comparison-view behavior

  • Before/After and Peek Flat are now mutually exclusive both ways: enabling Before/After clears an active Peek Flat, so its toggle can't linger lit while the compare baseline is what's on screen (previously only the flat→compare direction was handled).
  • Before/After and Peek Flat now persist across rotate/flip. Geometry ops re-render within the active comparison view (new AppController.rerender_active_view) using the rotated/flipped baseline or flat-master config, instead of dropping back to the plain edit. Only leaving the canvas exits the view.

Test plan

  • New TestCompareFlatPeekInteraction in tests/test_controller.py covers the mutual-exclusion and the three rerender_active_view branches; proven non-vacuous by sabotaging rerender_active_view and confirming failures.
  • tests/test_canvas_toolbar.py updated for the relocated GPU control.
  • Verified end-to-end against a real headless MainWindow: slider gone / label styled, GPU toggle in the menu and wired to gpu_enabled, Before/After clears Peek Flat, rotate/flip keep the active view, and every More Actions item carries a tooltip.
  • ruff check + ruff format clean. Full run of affected test files passes (except the pre-existing test_effective_input_icc Windows path-separator failure, unrelated).

linkmodo added 3 commits July 21, 2026 22:06
- Remove the zoom slider from the toolbar (users zoom on the canvas
  directly); keep the read-only zoom % readout.
- Move the GPU/CPU toggle off the editing row into the "More Actions"
  overflow menu as a checkable item next to Toggle HQ Preview, with its
  backend/status surfaced via the action tooltip.
- Make Before/After and Peak Flat mutually exclusive both ways: enabling
  Before/After now clears an active Peak Flat so its toggle can't linger
  lit while the compare baseline is what's on screen.
- Keep an active Before/After or Peak Flat across rotate/flip: geometry
  ops re-render within the current comparison view (new
  AppController.rerender_active_view) instead of dropping back to the
  plain edit. Only leaving the canvas exits the view.
- Zoom % readout now matches the 32px button height and centers on both
  axes so it sits on the icon line instead of floating; bumped to the base
  font at weight 600 for legibility.
- Give every More Actions item a tooltip: the twinned actions reuse their
  toolbar tooltip (with the same shortcut badge), and the overflow-only
  items get concise descriptions. Menu already had setToolTipsVisible(True).
@marcinz606
marcinz606 merged commit 40f7d2f into marcinz606:main Jul 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants